文档章节

ubuntu_hadoop 部署笔记

闵开慧
 闵开慧
发布于 2012/08/09 09:35
字数 1519
阅读 151
收藏 1
点赞 0
评论 0
单机模式部署

一、Jdk安装
命令:sudo apt-get install openjdk-6-jdk
目录:/usr/lib/jvm/java-6-openjdk
配置环境变量:
nano /etc/environment
在其中添加如下两行: 
CLASSPATH=./:/usr/lib/jvm/java-6-openjdk/lib
JAVA_HOME=/usr/lib/jvm/java-6-openjdk
PATH添加::/usr/lib/jvm/java-6-openjdk

二、新增hadoop用户
命令:sudo addgroup hadoop
sudo adduser --ingroup hadoop hadoop
nano gedit etc/sudoers
添加配置:
在root ALL=(ALL) ALL后 hadoop ALL=(ALL) ALL使hadoop用户具有root权限
(id:查看用户)

三、ssh配置
用hadoop账户进行登录。
安装openssh-server:sudo apt-get install openssh-server
建立SSH KEY:ssh-keygen -t rsa -P ""
启用SSH KEY:cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
sudo /etc/init.d/ssh reload
验证SSH的配置:ssh localhost
hadoop@datanode1:~$ cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys

hadoop@datanode2:~$ mkdir .ssh      建在hadoop用户下
hadoop@datanode2:~$ sudo mkdir .ssh 建在了root用户下

四、安装hadoop并更改用户所有权
我们采用的Hadoop版本是最新的Hadoop-0.20.2,可到Apache基金会官方主页下载http://www.apache.org/dyn/closer.cgi/hadoop/core,然后使用tar或直接解压到/home/hadoop下,解压后得到一个hadoop-0.20.2的一个文件夹。
    安装目录:/usr/local/hadoop
    更改所有权:chown -R hadoop:hadoop hadoop

五、配置hadoop
(1)配置$HADOOP_HOME/conf/hadoop-env.sh
切换到Hadoop的安装路径找到hadoop-0.20.2下的conf/hadoop-env.sh文件
将:# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
改为:export JAVA_HOME=/usr/lib/jvm/java-6-openjdk
(2) 配置$HADOOP_HOME/conf/core-site.xml
切换到Hadoop的安装路径找到hadoop-0.20.2下的conf/core-site.xml文件
<configuration>
<property>
  <name>fs.default.name</name>
  <value>hdfs://localhost:9000</value>
</property>
<property>
  <name>hadoop.tmp.dir</name>
  <value>/home/hadoop/tmp</value>
</property>
-- 配置第二名称节点
<property>
  <name>fs.checkpoint.dir</name>
  <value>{}/home/hadoop/secondname</value> 
</property>
-- 设置回收站保留时间
<property>
  <name>fs.trash.interval</name>
  <value>10080</value>
  <description>
      Number of minutes between trash checkpoints. If zero, the trash feature is disabled
  </description>
</property>
</configuration>
(3) 配置$HADOOP_HOME/conf/hdfs-site.xml
切换到Hadoop的安装路径找到hadoop-0.20.2下的conf/hdfs-site.xml文件内容如下:
<configuration>
<property>
<name>dfs.name.dir</name>
<value>/home/hadoop/name</value>
</property> 
<property>
<name>dfs.data.dir</name>
<value>/home/hadoop/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property> 
-- NameNode HTTP状态监视地址
<property>
<name>dfs.http.address</name>
<value>localhost:50070</value>
</property> 
-- SecondaryNameNode HTTP状态监视地址
<property>
<name>dfs.secondary.http.address</name>
<value>localhost2:50070</value>
</property> 
</configuration>
(4) 配置$HADOOP_HOME/conf/mapred-site.xml
切换到hadoop的安装路径找到hadoop-0.20.2下的conf/mapred-site.xml文件内容如下:
<configuration>
<property>
<name>mapred.local.dir</name>
<value>/home/hadoop/temp</value>
</property> 
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property> 
-- 每个job的map任务数
<property>
<name>mapred.map.tasks</name>
<value>7</value>
</property> 
-- 每一个tasktracker同时运行的map任务数为2
<property>
<name>mapred.tasktracker.map.tasks.maximum</name>
<value>2</value>
</property> 
-- 每一个tasktracker同时运行的reduce任务数为4
<property>
<name>mapred.tasktracker.reduce.tasks.maximum
</name>
<value>4</value>
</property> 
-- jvm虚拟机最大内存
<property>
  <name>mapred.child.java.opts</name>
  <value>-XX:-UseGCOverheadLimit</value>
</property>
</configuration>

六、格式化namenode
命令:bin/hadoop namenode -format

七、启动及验证
命令:./bin/start-all.sh
验证方法1:jps
验证方法2:bin/hadoop dfsadmin -report

八:运行Wordcount
1.准备工作
准备两个文本文件并拷贝到dfs里,具体命令操作如下:
$ echo "hello hadoop world." > /tmp/test_file1.txt
$ echo "hello world hadoop.i'm ceshiuser." > /tmp/test_file2.txt
$ bin/hadoop dfs -mkdir test-in
$ bin/hadoop dfs -copyFromLocal /tmp/test*.txt test-in
--$ bin/hadoop dfs -put /tmp/test*.txt test-in
--$ bin/hadoop dfs -copyToLocal test-out /tmp/test*.txt
--$ bin/hadoop dfs -get test-out /tmp/test*.txt
$ bin/hadoop dfs -ls test-in
2.运行
$ bin/hadoop jar hadoop-0.20.2-examples.jar wordcount test-in test-out
--% ln -s /home/hadoop/junyu-hadoop/hadoop-iflytek-tempcount.jar tempcount
3.查看结果
$ bin/hadoop dfs -ls test-out
$ bin/hadoop dfs -cat test-out/part-r-00000


分布式部署:
一,修改/etc/hosts文件:
192.168.71.89  node0
192.168.77.213 node1

二,ssh配置
(1)使用scp 命令把生成的公钥传给其它服务器,并保存成不同的名字,如192.168.71.89 -> 192.168.77.213 ,并且保存为89_id_rsa.pub 的时候命令如下:
scp id_rsa.pub hadoop@192.168.77.213:/home/hadoop/.ssh/89_id_rsa.pub
(2) 登录192.168.77.213 ,可以远程登录:ssh hadoop@192.168.77.213,进入当前用户默认目录下的.ssh 目录:cd ~/.ssh 
(3) 把公钥内容添加到登录认证文件中:cat 89_id_rsa.pub >> authorized_keys 
(4) 登录到192.168.71.89 主机,使用ssh hadoop@192.168.77.213 进行连接213 主机,这时候会出现输入yes/no? 的提示,输入yes。

三,配置hadoop文件。目录:/usr/local/hadoop/conf/
conf/masters :192.168.71.89
conf/slaves  :192.168.77.213

修改 core-site.xml 文件
   <name>fs.default.name</name>
   <value>hdfs://192.168.71.89:9000/</value>

修改 hdfs-site.xml 文件
1:<name>dfs.http.address</name>
   <value>192.168.71.89:50070</value>
2:<name>dfs.secondary.http.address</name>
   <value>192.168.71.213:50070</value>

修改mapred-site.xml文件
   <name>mapred.job.tracker</name>
   <value>192.168.71.89:9001</value>
   
   
==========================================================================================

*** 增加Hadoop新节点:

向一个正在运行的Hadoop集群中增加几个新的Nodes
1. 新节点上部署java/hadoop程序,配置相应的环境变量
2. 新节点上增加用户,从master上拷贝id_rsa.pub并配置authorized_keys
3. 新节点上设置/etc/hosts,只要有本机和master的host即可
/etc/hosts
127.0.0.1       localhost

10.10.10.101 node1
10.10.10.102 node2
10.10.10.103 node3
10.10.10.104 node4
4. 新节点上建立相关的目录,并修改属主,将Node4之中 ~/tmp目录下的内容都删除掉,否则会被认为已经创建的节点。
5. master的slaves文件中增加上相的节点(* 注意:只在NameNode之上配置就可以)
/etc/masters
node1
/etc/slaves
node2
node3
node4
6. 在新节点上启动datanode和tasktracker
localadmin@node4:~/hadoop-0.20.2/bin$ hadoop-daemon.sh start datanode
localadmin@node4:~/hadoop-0.20.2/bin$ hadoop-daemon.sh start tasktracker
使用'Jps'进行检查。
7. 进行block块的均衡
在hdfs-site.xml中增加设置balance的带宽,默认只有1M:
<property> 
    <name>dfs.balance.bandwidthPerSec</name> 
    <value>10485760</value> 
    <description>
        Specifies the maximum bandwidth that each datanode can utilize for the balancing purpose in term of the number of bytes per second.
    </description> 
</property>
运行以下命令:
hadoop/bin/start-balancer.sh -threshold 3
均衡10个节点,移动400G数据,大概花费了3个小时
The cluster is balanced. Exiting…
Balancing took 2.9950980555555557 hours

-----------------------
*** 删除Hadoop节点:
 
Hadoop提供了Decommission的特性,可以按照以下步骤来操作:
1. 在hadoop的conf目录下生成一个excludes的文件 /etc/nn-excluded-list,写上需要remove的节点
    一个节点一行,如:
node4
2. 在hdfs-site.xml中增加配置:
<property>    
    <name>dfs.hosts.exclude</name>    
    <value>/etc/nn-excluded-list</value>    
</property>
3. 复制文件到集群各节点上
4. 执行hadoop dfsadmin -refreshNodes命令,它会在后台进行Block块的移动
    从移出的Nodes上移动到其它的Nodes上面
5. 通过以下2种方式查看Decommission的状态:
    hadoop dfsadmin -report
    http://10.10.10.101:50070/dfsnodelist.jsp
    正在执行Decommission,会显示:
    Decommission Status : Decommission in progress
    执行完毕后,会显示:
    Decommission Status : Decommissioned

© 著作权归作者所有

共有 人打赏支持
闵开慧
粉丝 334
博文 600
码字总数 266601
作品 0
青浦
高级程序员
docker部署hdoop

docker基本用法: 2>下载镜像 docker pull ubuntu 1>启动镜像 docker run -ti ubuntu 2>列出所有镜像 docker images 3>列出所有的容器 docker ps -a 4>列出正在运行的容器 docker ps 5>启动容......

centrald ⋅ 2016/04/21 ⋅ 0

Ubuntu 12.04搭建hadoop单机版环境

前言: 本文章是转载的,自己又加上了一些自己的笔记整理的 详细地址请查看Ubuntu 12.04搭建hadoop单机版环境 Hadoop的三种运行模式 独立模式:无需任何守护进程,所有程序都在单个JVM上执行...

zhao_xiao_long ⋅ 2013/07/26 ⋅ 0

记一则神秘JDK版本引发的hadoop集群慢性崩溃”血案“

一、症状表现 前些时间公司在外省机房部署了一套新hadoop集群,所有机子都装的是centos,跑了一个礼拜莫名其妙的出现了计算节点的心跳间隔变得越来越大,最终导致计算节点挂掉,遇到问题第一...

zengzhaozheng ⋅ 2014/03/10 ⋅ 0

Mahout安装与配置笔记

一、硬件环境 操作系统:Linux ubuntu-13.04-desktop-i386 jdk安装版本:jdk-7u51-linux-i586 Hadoop版本:Hadoop-1.1.1(一个Namenode,三个Datanode部署) 二、安装步骤 在Mahout安装之前读...

kartik ⋅ 2014/06/01 ⋅ 0

Ubuntu Juju GUI 2.0 发布,大规模计算部署

Ubuntu Juju GUI 2.0 发布了,这是为 Juju 提供一个图形化的管理界面。这是基于浏览器的图形化界面,可通过下面地址访问演示:https://demo.jujucharms.com/ Ubuntu11.10引入了Juju(开发代号...

红薯 ⋅ 2016/02/12 ⋅ 3

二:Ubuntu下Hadoop的安装与部署

一. 环境的准备: OS:Linux(Ubuntu14) JDK:jdk-7u80-linux-x64.tar.gz(版本为JDK1.7 64-Bit) Hadoop:hadoop-2.6.4.tar.gz(伪分布式) 二. 查看系统下的 ip ,hosts 及 hostname 并修...

牧羊人Berg ⋅ 2016/04/29 ⋅ 0

大数据2 Hadoop伪分布模式配置部署

Hadoop伪分布模式配置部署 一、实验环境说明 注意:本实验需要按照上一节单机模式部署后继续进行操作 1. 环境登录 无需密码自动登录,系统用户名 shiyanlou 2. 环境介绍 本实验环境采用带桌面...

齐勇cn ⋅ 2016/07/29 ⋅ 0

mahout在Hadoop集群上开发过程

新手请教一个问题:现在配置好了一个三个节点的分布式系统(一个主节点,两个分节点)。我要做的是:做一个分布式推荐测试。现在的问题是:1、mahout是不是安装在分布式的节点上;2、maven可...

fangdao ⋅ 2015/06/07 ⋅ 2

64位linux下支持lzo的Hadoop 2.2.0分布式集群配置细节摘要

初学者搭建Hadoop环境容易陷入细节漩涡中,并不是说细节不重要,在程序世界中,细节恰恰是决定成败的关键。然而,如果能在深入细节之前对整体有全面、逻辑性的认识,那么遇到细节时也能准确定...

Iuranus ⋅ 2014/06/16 ⋅ 0

数据课程1 hadoop安装

数据课程1 hadoop安装 1. 添加用户及用户组 创建用户hadoop 需要输入shiyanlou的密码。并按照提示输入hadoop用户的密码。 2. 添加sudo权限 将hadoop用户添加进sudo用户组 四、安装及配置依赖...

齐勇cn ⋅ 2016/07/29 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

Jenkins实践3 之脚本

#!/bin/sh# export PROJ_PATH=项目路径# export TOMCAT_PATH=tomcat路径killTomcat(){pid=`ps -ef | grep tomcat | grep java|awk '{print $2}'`echo "tom...

晨猫 ⋅ 今天 ⋅ 0

Spring Bean的生命周期

前言 Spring Bean 的生命周期在整个 Spring 中占有很重要的位置,掌握这些可以加深对 Spring 的理解。 首先看下生命周期图: 再谈生命周期之前有一点需要先明确: Spring 只帮我们管理单例模...

素雷 ⋅ 今天 ⋅ 0

zblog2.3版本的asp系统是否可以超越卢松松博客的流量[图]

最近访问zblog官网,发现zlbog-asp2.3版本已经进入测试阶段了,虽然正式版还没有发布,想必也不久了。那么作为aps纵横江湖十多年的今天,blog2.2版本应该已经成熟了,为什么还要发布这个2.3...

原创小博客 ⋅ 今天 ⋅ 0

聊聊spring cloud的HystrixCircuitBreakerConfiguration

序 本文主要研究一下spring cloud的HystrixCircuitBreakerConfiguration HystrixCircuitBreakerConfiguration spring-cloud-netflix-core-2.0.0.RELEASE-sources.jar!/org/springframework/......

go4it ⋅ 今天 ⋅ 0

二分查找

二分查找,也称折半查找、二分搜索,是一种在有序数组中查找某一特定元素的搜索算法。搜素过程从数组的中间元素开始,如果中间元素正好是要查找的元素,则搜素过程结束;如果某一特定元素大于...

人觉非常君 ⋅ 今天 ⋅ 0

VS中使用X64汇编

需要注意的是,在X86项目中,可以使用__asm{}来嵌入汇编代码,但是在X64项目中,再也不能使用__asm{}来编写嵌入式汇编程序了,必须使用专门的.asm汇编文件来编写相应的汇编代码,然后在其它地...

simpower ⋅ 今天 ⋅ 0

ThreadPoolExecutor

ThreadPoolExecutor public ThreadPoolExecutor(int corePoolSize, int maximumPoolSize, long keepAliveTime, ......

4rnold ⋅ 昨天 ⋅ 0

Java正无穷大、负无穷大以及NaN

问题来源:用Java代码写了一个计算公式,包含除法和对数和取反,在页面上出现了-infinity,不知道这是什么问题,网上找答案才明白意思是负的无穷大。 思考:为什么会出现这种情况呢?这是哪里...

young_chen ⋅ 昨天 ⋅ 0

前台对中文编码,后台解码

前台:encodeURI(sbzt) 后台:String param = URLDecoder.decode(sbzt,"UTF-8");

west_coast ⋅ 昨天 ⋅ 0

实验楼—MySQL基础课程-挑战3实验报告

按照文档要求创建数据库 sudo sercice mysql startwget http://labfile.oss.aliyuncs.com/courses/9/createdb2.sqlvim /home/shiyanlou/createdb2.sql#查看下数据库代码 代码创建了grade......

zhangjin7 ⋅ 昨天 ⋅ 0

没有更多内容

加载失败,请刷新页面

加载更多

下一页

返回顶部
顶部