[转帖]Hadoop环境搭建——集群篇_Hadoop,ERP及大数据讨论区_Weblogic技术|Tuxedo技术|中间件技术|Oracle论坛|JAVA论坛|Linux/Unix技术|hadoop论坛_联动北方技术论坛  
网站首页 | 关于我们 | 服务中心 | 经验交流 | 公司荣誉 | 成功案例 | 合作伙伴 | 联系我们 |
联动北方-国内领先的云技术服务提供商
»  游客             当前位置:  论坛首页 »  自由讨论区 »  Hadoop,ERP及大数据讨论区 »
总帖数
1
每页帖数
101/1页1
返回列表
0
发起投票  发起投票 发新帖子
查看: 3311 | 回复: 0   主题: [转帖]Hadoop环境搭建——集群篇        下一篇 
jie.liang
注册用户
等级:少校
经验:1003
发帖:77
精华:0
注册:2013-10-11
状态:离线
发送短消息息给jie.liang 加好友    发送短消息息给jie.liang 发消息
发表于: IP:您无权察看 2013-10-17 16:33:39 | [全部帖] [楼主帖] 楼主

在完成单节点环境搭建的基础上进行集群环境搭建

单节点搭建:http://vampire1126.iteye.com/admin/blogs/891693

流程:

     配置阶段:

     配置一系列文件

     在所有slave节点上拷贝master和JobTracker的公钥

     在JobTracker节点上拷贝master的公钥

    运行阶段:

     启动hadoop

     跑wordcount

集群搭建准备:

     至少两台已完成单节点搭建的机器

    (此例为两台,IP分别是192.168.1.10与192.168.1.11,其中10为master)

     配置阶段:

    1、配置一系列文件(所有节点上)

             1、配置etc下的hosts文件

sudo gedit /etc/hosts
(注:打开后将里面的内容全部删除,不删除的话启动时会出现所有slave启动正常,但是master上的DataNode为0,导致系统不能正常运转的情况,全部删除以后添加所有节点的IP和标识符,格式如下

                  192.168.1.10 master

                  192.168.1.11 slave

                  标识符可以随便写,主要是起到一个映射作用)


              2、进入hadoop目录下,配置conf下的masters文件

cd /usr/local/hadoop
sudo gedit conf/masters
(打开后将里面内容清空,然后添加“master”或者master的IP“192.168.1.10”,此处即是hosts中配置的映射,填master或者直接填IP都是一样的)


              3、配置conf下的slaves文件

sudo gedit conf/slaves
(打开后将里面内容清空,然后添加“slave”或者slave的IP“192.168.1.11”,原因同上)


              4、配置conf下的core-site.xml文件

sudo gedit conf/core-site.xml
(因为已完成单节点配置,因此只需要修改就行了。打开后将第一个<property>标签中的localhost改为“master”或者master的IP,如下

Xml代码
北京联动北方科技有限公司北京联动北方科技有限公司北京联动北方科技有限公司

  1. <property>
  2. <name>fs.default.name</name>
  3. <value>hdfs://master:9000</value>
  4. </property>


                 第二个<property>标签,即包含<name>dfs.replication</name>一行的那个,其中的“<value>”表示文件上传到dfs上时的备份个数,此数值不能大于slave即datanode的个数)


5、配置conf下的hdfs-site.xml文件(此配置在slave节点上可有可无)

sudo gedit conf/hdfs-site.xml
(打开后在空的<configuration> </configuration>中添加如下配置

Xml代码
北京联动北方科技有限公司北京联动北方科技有限公司北京联动北方科技有限公司

  1. <property>
  2. <name>dfs.replication</name>
  3. <value>1</value>
  4. </property>
  5. <property>
  6. <name>dfs.name.dir</name>
  7. <value>/home/hadoop/hdfs/name</value>
  8. </property>
  9. <property>
  10. <name>dfs.data.dir</name>
  11. <value>/home/hadoop/hdfs/data</value>
  12. </property>



6、配置conf下的mapred-site.xml文件

                   sudo gedit conf/mapred-site.xml

                  (打开后将<value>标签里的localhost改为JobTracker的IP,因为本例中JobTracker也是master本身,所以将localhost改为“master”或master的IP)


2、在所有slave节点上拷贝master和JobTracker的公钥

1、拷贝公钥

scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/master_rsa.pub
scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/haddop/.ssh/jobtracker_rsa.pub


                 (注:因为本例中master和JobTracker是同一台机器,所以相当于在master上拷了两次公钥)

               2、将拷贝的公钥添加到信任列表

cat /home/hadoop/.ssh/master_rsa.pub >> /home/hadoop/.ssh/authorized_keys
cat /home/hadoop/.ssh/jobtracker_rsa.pub >> /home/hadoop/.ssh/authorized_keys


3、在JobTracker上拷贝master的公钥

1、拷贝公钥

scp hadoop@master:/home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/master_rsa.pub
(注:本例中master和JobTracker是同一台机器,所以相当于自己拷自己的公钥.....囧......)

               2、添加到信任列表

                   cat /home/hadoop/.ssh/master_rsa.pub >> /home/hadoop/.ssh/authorized_keys

运行阶段:

     1、启动hadoop

   1、在所有节点上删除/home/hadoop/下的tmp文件夹(包括master节点)
sudo rm -r /home/hadoop/tmp
(注:tmp文件夹内部存放有NameNode的ID信息,如果ID不一样的话是无法正常连接的,此处的删除操作是为了保证ID的一致性)


                2、在master上格式化NameNode

hadoop namenode -format


                3、启动hadoop

bin/start-all.sh


                4、查看各节点是否正常启动

jps
(此语句执行后,slave节点中必须有DataNode,master节点中必须有NameNode,否则启动失败)


                5、查看整个系统状态

hadoop dfsadmin -report
(此语句执行后能显示当前连接的slave数,即DataNode数)


2、跑wordcount

1、准备测试文件

sudo echo "mu ha ha ni da ye da ye da da" > /tmp/test.txt


                2、将测试文件上传到dfs文件系统

hadoop dfs -put /tmp/test.txt multiTest
(注:如multiTest目录不存在的话会自动创建)


                3、执行wordcount

hadoop jar hadoop-mapred-examples0.21.0.jar wordcout multiTest result
(注:如result目录不存在的话会自动创建)


                4、查看结果

hadoop dfs -cat result/part-r-00000


至此集群环境搭建完毕~!

补充说明:

     网上文档中说的关于“关闭防火墙”和“关闭安全模式”,我们在实践中并未涉及到,如遇到连接不到datanode的问题,请检查您的hosts文件中是否最上面多出两行,如果是的话请删除,然后重新按照“运行阶段”的步骤来。




赞(0)    操作        顶端 
总帖数
1
每页帖数
101/1页1
返回列表
发新帖子
请输入验证码: 点击刷新验证码
您需要登录后才可以回帖 登录 | 注册
技术讨论