三节点安装

1、准备工作

使用的版本为:hadoop-2.9.2

1.1、安装jdk

解压
配置环境变量

  1. export JAVA_HOME=/usr/local/jdk1.8.0_91
  2. export PATH=$PATH:$JAVA_HOME/bin

1.2、配置hosts

  1. 192.100.3.205 node-1
  2. 192.100.3.206 node-2
  3. 192.100.3.207 node-3

1.3、配置免密登录

以上步骤在三个节点执行

下面hadoop的配置步骤可以在一台机器上执行,之后直接拷贝到另外两个节点上

2、下载hadoop包、解压

使用的版本为:hadoop-2.9.2

3、修改配置文件

vim etc/hadoop/core-site.xml

  1. <configuration>
  2. <!-- 指定集群的文件系统类型:分布式文件系统 -->
  3. <property>
  4. <name>fs.defaultFS</name>
  5. <value>hdfs://node-1:8020</value>
  6. </property>
  7. <!-- 指定临时文件存储目录 -->
  8. <property>
  9. <name>hadoop.tmo.dir</name>
  10. <value>/usr/local/hadoop-2.9.2/data/tmpData</value>
  11. </property>
  12. <!-- 缓冲区大小 -->
  13. <property>
  14. <name>io.file.buffer.size</name>
  15. <value>4096</value>
  16. </property>
  17. <!-- 开启hdfs的垃圾桶机制,删除掉的数据可以从垃圾桶中回收,单位分钟 -->
  18. <property>
  19. <name>fs.trash.interval</name>
  20. <value>10080</value>
  21. </property>
  22. </configuration>

vim etc/hadoop/hdfs-site.xml

  1. <configuration>
  2. <property>
  3. <name>dfs.namenode.secondary.http-address</name>
  4. <value>node-1:50090</value>
  5. </property>
  6. <!-- 指定namenode的访问地址和端口 -->
  7. <property>
  8. <name>dfs.namenode.http-address</name>
  9. <value>node-1:50070</value>
  10. </property>
  11. <!-- 指定namanode元数据的存放位置 -->
  12. <property>
  13. <name>dfs.namenode.name.dir</name>
  14. <value>file:///usr/local/hadoop-2.9.2/data/namenodeData,file:///usr/local/hadoop-2.9.2/data/namenodeData2</value>
  15. </property>
  16. <!-- 指定datanode数据存储位置 -->
  17. <property>
  18. <name>dfs.datanode.data.dir</name>
  19. <value>file:///usr/local/hadoop-2.9.2/data/datanodeData,file:///usr/local/hadoop-2.9.2/data/datanodeData2</value>
  20. </property>
  21. <!-- 指定namenode日志文件的存放目录 -->
  22. <property>
  23. <name>dfs.namenode.edits.dir</name>
  24. <value>file:///usr/local/hadoop-2.9.2/data/nn/edits</value>
  25. </property>
  26. <property>
  27. <name>dfs.namenode.checkpoint.dir</name>
  28. <value>file:///usr/local/hadoop-2.9.2/data/snn/name</value>
  29. </property>
  30. <property>
  31. <name>dfs.namenode.checkpoint.edits.dir</name>
  32. <value>file:///usr/local/hadoop-2.9.2/data/dfs/snn/edits</value>
  33. </property>
  34. <property>
  35. <name>dfs.replication</name>
  36. <value>3</value>
  37. </property>
  38. <property>
  39. <name>dfs.permissions</name>
  40. <value>false</value>
  41. </property>
  42. <!-- 设置一个文件切片的大小:128M -->
  43. <property>
  44. <name>dfs.blocksize</name>
  45. <value>134217728</value>
  46. </property>
  47. </configuration>

cat etc/hadoop/mapred-site.xml

  1. <configuration>
  2. <!-- 开启mr小任务模式 -->
  3. <property>
  4. <name>mapreduce.job.ubertask.enable</name>
  5. <value>true</value>
  6. </property>
  7. <!-- 设置历史任务的主机和端口 -->
  8. <property>
  9. <name>mapreduce.jobhistory.address</name>
  10. <value>node-1:10020</value>
  11. </property>
  12. <!-- 设置网页访问历史任务的主机和端口 -->
  13. <property>
  14. <name>mapreduce.jobhistory.webapp.address</name>
  15. <value>node-1:19888</value>
  16. </property>
  17. </configuration>

cat etc/hadoop/yarn-site.xml

  1. <configuration>
  2. <!-- 配置yarn主界节点的位置 -->
  3. <property>
  4. <name>yarn.resourcemanager.hostname</name>
  5. <value>node-1</value>
  6. </property>
  7. <property>
  8. <name>yarn.nodemanager.aux-services</name>
  9. <value>mapreduce_shuffle</value>
  10. </property>
  11. <!-- 开启日志聚合功能 -->
  12. <property>
  13. <name>yarn.log-aggregation-enable</name>
  14. <value>true</value>
  15. </property>
  16. <!-- 设置聚合日志在hdfs上的保存时间 -->
  17. <property>
  18. <name>yarn.log-aggregation.retain-seconds</name>
  19. <value>604800</value>
  20. </property>
  21. <!-- 设置yarn集群内存分配方案 -->
  22. <property>
  23. <name>yarn.nodemanager.resource.memory-mb</name>
  24. <value>20480</value>
  25. </property>
  26. <property>
  27. <name>yarn.scheduler.minimum-allocation-mb</name>
  28. <value>2048</value>
  29. </property>
  30. <property>
  31. <name>yarn.nodemanager.vmem-pmem-ratio</name>
  32. <value>2.1</value>
  33. </property>
  34. </configuration>

cat etc/hadoop/hadoop-env.sh

  1. #export JAVA_HOME=${JAVA_HOME}
  2. export JAVA_HOME=/usr/local/jdk1.8.0_91

cat etc/hadoop/mapred-env.sh

  1. export JAVA_HOME=/usr/local/jdk1.8.0_91

cat etc/hadoop/slaves

  1. node-1
  2. node-2
  3. node-3

4、创建文件目录

  1. mkdir -p /usr/local/hadoop-2.9.2/data/tmpData
  2. mkdir -p /usr/local/hadoop-2.9.2/data/namenodeData
  3. mkdir -p /usr/local/hadoop-2.9.2/data/namenodeData2
  4. mkdir -p /usr/local/hadoop-2.9.2/data/datanodeData
  5. mkdir -p /usr/local/hadoop-2.9.2/data/datanodeData2
  6. mkdir -p /usr/local/hadoop-2.9.2/data/nn/edits
  7. mkdir -p /usr/local/hadoop-2.9.2/data/snn/name
  8. mkdir -p /usr/local/hadoop-2.9.2/data/dfs/snn/edits

5、将其复制到其他节点

  1. scp -r /usr/local/hadoop-2.9.2/ node-2:/usr/local/
  2. scp -r /usr/local/hadoop-2.9.2/ node-3:/usr/local/

6、配置环境变量

  1. export HADOOP_HOME=/usr/local/hadoop-2.9.2
  2. export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

7、启动集群

  1. # 格式化 执行一次
  2. bin/hdfs namenode -format
  3. sbin/start-dfs.sh
  4. sbin/start-yarn.sh
  5. sbin/mr-jobhistory-daemon.sh start historysever
  6. # 查看
  7. [root@node-1 hadoop-2.9.2]# jps
  8. 4320 SecondaryNameNode
  9. 3985 NameNode
  10. 5265 JobHistoryServer
  11. 4883 ResourceManager
  12. 4132 DataNode
  13. 5453 Jps
  14. 27199 QuorumPeerMain
  15. [root@node-2 hadoop-2.9.2]# jps
  16. 18289 QuorumPeerMain
  17. 19556 DataNode
  18. 19693 NodeManager
  19. 19887 Jps
  20. [root@node-3 hadoop-2.9.2]# jps
  21. 19394 DataNode
  22. 19531 NodeManager
  23. 18156 QuorumPeerMain
  24. 19724 Jps

8、访问

http//node-1:50070 # 查看hdfs
http//node-1:8088 # 查看yarn集群
http//node-1:19888 # 查看历史完成任务