经验首页 前端设计 程序设计 Java相关 移动开发 数据库/运维 软件/图像 大数据/云计算 其他经验
当前位置:技术经验 » 大数据/云/AI » Hadoop » 查看文章
用三台虚拟机搭建Hadoop全分布集群
来源:cnblogs  作者:奇域巫师  时间:2019/7/5 8:59:18  对本文有异议

用三台虚拟机搭建Hadoop全分布集群

所有的软件都装在/home/software下

虚拟机系统:centos6.5

jdk版本:1.8.0_181

zookeeper版本:3.4.7

hadoop版本:2.7.1

 

1.安装jdk

准备好免安装压缩包放在/home/software下

  1. cd /home/software
  2. tar -xvf jdk-8u181-linux-x64.tar.gz

 

配置环境变量

  1. vim /etc/profile

 

末尾添加

  1. export JAVA_HOME=/home/software/jdk1.8.0_181
  2. export CLASSPATH=$:CLASSPATH:$JAVA_HOME/lib/
  3. export PATH=$PATH:$JAVA_HOME/bin
  1. source /etc/profile

 

检查是否配置成功,查看jdk版本

  1. java version

 

2.关闭防火墙

  1. service iptables stop
  2. chkconfig iptables off

 

3.配置主机名

  1. vim /etc/sysconfig/network
  1. HOSTNAME=qyws

三个节点主机名分别设置为qyws,qyws2,qyws3

  1. source /etc/sysconfig/network

 

4.改hosts文件

  1. vim /etc/hosts
  1. 192.168.38.133 qyws
  2. 192.168.38.134 qyws2
  3. 192.168.38.135 qyws3

 

5.重启

  1. reboot

 

6.配置免密登陆

  1. ssh-keygen
  2. ssh-copy-id root@qyws
  3. ssh-copy-id root@qyws2
  4. ssh-copy-id root@qyws3

 

7.解压zookeeper压缩包

  1. tar xf zookeeper-3.4.7.tar.gz

 

8.搭建zookeeper集群

  1. cd /home/software/zookeeper-3.4.7/conf
  2. cp zoo_sample.cfg zoo.cfg
  3. vim zoo.cfg

 

14 行

  1. dataDir=/home/software/zookeeper-3.4.7/tmp

 

末尾追加

  1. server.1=192.168.38.133:2888:3888
  2. server.2=192.168.38.134:2888:3888
  3. server.3=192.168.38.135:2888:3888

 

9.将配置好的zookeeper拷贝到另两个节点

  1. scp -r zookeeper-3.4.7 root@qyws2:/home/software/
  2. scp -r zookeeper-3.4.7 root@qyws3:/home/software/

 

10.进入zookeeper目录下创建tmp目录,新建myid文件

  1. cd /home/software/zookeeper-3.4.7
  2. mkdir tmp
  3. cd tmp
  4. vim myid

 

三个节点myid分别设置为1,2,3

11.解压hadoop压缩包

  1. tar -xvf hadoop-2.7.1_64bit.tar.gz

 

12.编辑hadoop-env.sh

  1. cd /home/software/hadoop-2.7.1/etc/hadoop
  2. vim hadoop-env.sh

 

25行

  1. export JAVA_HOME=/home/software/jdk1.8.0_181

 

33行

  1. export HADOOP_CONF_DIR=/home/software/hadoop-2.7.1/etc/hadoop
  1. source hadoop-env.sh

 

13.编辑core-site.xml

  1. <!--指定hdfs的nameservice,为整个集群起一个别名-->
  2. <property>
  3. <name>fs.defaultFS</name>
  4. <value>hdfs://ns</value>
  5. </property>
  6. <!--指定Hadoop数据临时存放目录-->
  7. <property>
  8. <name>hadoop.tmp.dir</name>
  9. <value>/home/software/hadoop-2.7.1/tmp</value>
  10. </property>
  11. <!--指定zookeeper的存放地址-->
  12. <property>
  13. <name>ha.zookeeper.quorum</name>
  14. <value>qyws:2181,qyws2:2181,qyws3:2181</value>
  15. </property>

 

14.编辑hdfs-site.xml

  1. <!--执行hdfs的nameservice为ns,注意要和core-site.xml中的名称保持一致-->
  2. <property>
  3. <name>dfs.nameservices</name>
  4. <value>ns</value>
  5. </property>
  6. <!--ns集群下有两个namenode,分别为nn1, nn2-->
  7. <property>
  8. <name>dfs.ha.namenodes.ns</name>
  9. <value>nn1,nn2</value>
  10. </property>
  11. <!--nn1的RPC通信-->
  12. <property>
  13. <name>dfs.namenode.rpc-address.ns.nn1</name>
  14. <value>qyws:9000</value>
  15. </property>
  16. <!--nn1的http通信-->
  17. <property>
  18. <name>dfs.namenode.http-address.ns.nn1</name>
  19. <value>qyws:50070</value>
  20. </property>
  21. <!-- nn2的RPC通信地址 -->
  22. <property>
  23. <name>dfs.namenode.rpc-address.ns.nn2</name>
  24. <value>qyws2:9000</value>
  25. </property>
  26. <!-- nn2的http通信地址 -->
  27. <property>
  28. <name>dfs.namenode.http-address.ns.nn2</name>
  29. <value>qyws2:50070</value>
  30. </property>
  31. <!--指定namenode的元数据在JournalNode上存放的位置,这样,namenode2可以从journalnode集群里的指定位置上获取信息,达到热备效果-->
  32. <property>
  33. <name>dfs.namenode.shared.edits.dir</name>
  34. <value>qjournal://qyws:8485;qyws2:8485;qyws3:8485/ns</value>
  35. </property>
  36. <!-- 指定JournalNode在本地磁盘存放数据的位置 -->
  37. <property>
  38. <name>dfs.journalnode.edits.dir</name>
  39. <value>/home/software/hadoop-2.7.1/tmp/journal</value>
  40. </property>
  41. <!-- 开启NameNode故障时自动切换 -->
  42. <property>
  43. <name>dfs.ha.automatic-failover.enabled</name>
  44. <value>true</value>
  45. </property>
  46. <!-- 配置失败自动切换实现方式 -->
  47. <property>
  48. <name>dfs.client.failover.proxy.provider.ns</name>
  49. <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
  50. </property>
  51. <!-- 配置隔离机制 -->
  52. <property>
  53. <name>dfs.ha.fencing.methods</name>
  54. <value>sshfence</value>
  55. </property>
  56. <!-- 使用隔离机制时需要ssh免登陆 -->
  57. <property>
  58. <name>dfs.ha.fencing.ssh.private-key-files</name>
  59. <value>/root/.ssh/id_rsa</value>
  60. </property>
  61. <!--配置namenode存放元数据的目录,可以不配置,如果不配置则默认放到hadoop.tmp.dir下-->
  62. <property>
  63. <name>dfs.namenode.name.dir</name>
  64. <value>file:///home/software/hadoop-2.7.1/tmp/hdfs/name</value>
  65. </property>
  66. <!--配置datanode存放元数据的目录,可以不配置,如果不配置则默认放到hadoop.tmp.dir下-->
  67. <property>
  68. <name>dfs.datanode.data.dir</name>
  69. <value>file:///home/software/hadoop-2.7.1/tmp/hdfs/data</value>
  70. </property>
  71. <!--配置复本数量-->
  72. <property>
  73. <name>dfs.replication</name>
  74. <value>3</value>
  75. </property>
  76. <!--设置用户的操作权限,false表示关闭权限验证,任何用户都可以操作-->
  77. <property>
  78. <name>dfs.permissions</name>
  79. <value>false</value>
  80. </property>

 

15.编辑mapred-site.xml

  1. cp mapred-site.xml.template mapred-site.xml
  2. vim mapred-site.xml
  1. <property>
  2. <name>mapreduce.framework.name</name>
  3. <value>yarn</value>
  4. </property>

 

16.编辑yarn-site.xml

  1. <!--配置yarn的高可用-->
  2. <property>
  3. <name>yarn.resourcemanager.ha.enabled</name>
  4. <value>true</value>
  5. </property>
  6. <!--指定两个resourcemaneger的名称-->
  7. <property>
  8. <name>yarn.resourcemanager.ha.rm-ids</name>
  9. <value>rm1,rm2</value>
  10. </property>
  11. <!--配置rm1的主机-->
  12. <property>
  13. <name>yarn.resourcemanager.hostname.rm1</name>
  14. <value>qyws</value>
  15. </property>
  16. <!--配置rm2的主机-->
  17. <property>
  18. <name>yarn.resourcemanager.hostname.rm2</name>
  19. <value>qyws3</value>
  20. </property>
  21. <!--开启yarn恢复机制-->
  22. <property>
  23. <name>yarn.resourcemanager.recovery.enabled</name>
  24. <value>true</value>
  25. </property>
  26. <!--执行rm恢复机制实现类-->
  27. <property>
  28. <name>yarn.resourcemanager.store.class</name>
  29. <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value>
  30. </property>
  31. <!--配置zookeeper的地址-->
  32. <property>
  33. <name>yarn.resourcemanager.zk-address</name>
  34. <value>qyws:2181,qyws2:2181,qyws3:2181</value>
  35. </property>
  36. <!--执行yarn集群的别名-->
  37. <property>
  38. <name>yarn.resourcemanager.cluster-id</name>
  39. <value>ns-yarn</value>
  40. </property>
  41. <!-- 指定nodemanager启动时加载server的方式为shuffle server -->
  42. <property>
  43. <name>yarn.nodemanager.aux-services</name>
  44. <value>mapreduce_shuffle</value>
  45. </property>
  46. <!-- 指定resourcemanager地址 -->
  47. <property>
  48. <name>yarn.resourcemanager.hostname</name>
  49. <value>qyws3</value>
  50. </property>

 

17.编辑slaves

  1. vim /home/software/hadoop-2.7.1/etc/hadoop/slaves
  1. qyws
  2. qyws2
  3. qyws3

 

18.把配置好的hadoop拷贝到其他节点

  1. scp -r hadoop-2.7.1 root@qyws2:/home/software/
  2. scp -r hadoop-2.7.1 root@qyws3:/home/software/

 

19.配置环境变量

  1. vim /etc/profile

 

末尾添加

  1. export HADOOP_HOME=/home/software/hadoop-2.7.1
  2. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. source /etc/profile

 

20.三个节点启动zookeeper

  1. cd /home/software/zookeeper-3.4.7/bin
  2. sh zkServer.sh start

查看zookeeper状态

  1. sh zkServer.sh status

 

 

 

21.格式化zookeeper(在第一个节点操作即可):

  1. hdfs zkfc -formatZK

 

22.在每个节点启动JournalNode:

  1. hadoop-daemon.sh start journalnode

 

23.在第一个节点上格式化NameNode:

  1. hadoop namenode -format

 

24.在第一个节点上启动NameNode:

  1. hadoop-daemon.sh start namenode

 

25.在第二个节点上格式化NameNode:

  1. hdfs namenode -bootstrapStandby

 

26.在第二个节点上启动NameNode:

  1. hadoop-daemon.sh start namenode

 

27.在三个节点上启动DataNode:

  1. hadoop-daemon.sh start datanode

 

28.在第一个节点和第二个节点上启动zkfc(FailoverController):

  1. hadoop-daemon.sh start zkfc

 

29.在第一个节点上启动Yarn:

  1. start-yarn.sh

 

30.在第三个节点上启动ResourceManager:

  1. yarn-daemon.sh start resourcemanager

 

31.查看运行的服务

32.查看第一个节点namenode

浏览器输入http://192.168.38.133:50070

查看第二个节点namenode(主备)

浏览器输入http://192.168.38.134:50070

33.访问管理页面http://192.168.38.133:8088

原文链接:http://www.cnblogs.com/qyws/p/11134191.html

 友情链接:直通硅谷  点职佳  北美留学生论坛

本站QQ群:前端 618073944 | Java 606181507 | Python 626812652 | C/C++ 612253063 | 微信 634508462 | 苹果 692586424 | C#/.net 182808419 | PHP 305140648 | 运维 608723728

W3xue 的所有内容仅供测试,对任何法律问题及风险不承担任何责任。通过使用本站内容随之而来的风险与本站无关。
关于我们  |  意见建议  |  捐助我们  |  报错有奖  |  广告合作、友情链接(目前9元/月)请联系QQ:27243702 沸活量
皖ICP备17017327号-2 皖公网安备34020702000426号