集群规划

服务器IP 192.168.227.133 192.168.227.135 192.168.227.136
主机名 node1 node2 node3
NameNode
SecondaryNameNode
dataNode
ResourceManager
NodeManager

下载

https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/stable/

解压和上传

  1. cd /usr/local/src/hadoop
  2. tar -zxvf hadoop-3.2.2.tar.gz

修改hosts文件
image.png
vi /etc/sysconfig/network
image.png
然后重启 reboot

修改环境变量

  1. vi /etc/profile
  2. export HADOOP_HOME=/usr/local/src/hadoop/hadoop-3.3.2
  3. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  4. source /etc/profile

vi /etc/selinux/config
改为

  1. SELINUX=disabled

创建hadoop生成的存放位置

  1. cd /usr/local/src/hadoop/hadoop-3.3.2/
  2. mkdir -p data

image.png
修改配置文件
找到/etc/hadoop/core-site.xml

  1. <configuration>
  2. <property>
  3. <name>fs.default.name</name>
  4. <value>hdfs://node1:8020</value>
  5. </property>
  6. <property>
  7. <name>hadoop.tmp.dir</name>
  8. <value>/usr/local/src/hadoop/hadoop-3.3.2/data/tmp</value>
  9. </property>
  10. <property>
  11. <name>io.file.buffer.size</name>
  12. <value>4096</value>
  13. </property>
  14. <property>
  15. <name>fs.trash.interval</name>
  16. <value>10080</value>
  17. </property>
  18. </configuration>

mapred-site.xml

  1. <configuration>
  2. <property>
  3. <name>mapreduce.job.ubertask.enable</name>
  4. <value>true</value>
  5. </property>
  6. <property>
  7. <name>mapreduce.jobhistory.address</name>
  8. <value>node1:10020</value>
  9. </property>
  10. <property>
  11. <name>mapreduce.jobhistory.webapp.address</name>
  12. <value>node1:19888</value>
  13. </property>
  14. </configuration>

hdfs-site.xml

  1. <configuration>
  2. <property>
  3. <name>dfs.namenode.secondary.http-address</name>
  4. <value>node1:50090</value>
  5. </property>
  6. <property>
  7. <name>dfs.namenode.http-address</name>
  8. <value>node1:50070</value>
  9. </property>
  10. <property>
  11. <name>dfs.namenode.name.dir</name>
  12. <value>file:///usr/local/src/hadoop/hadoop-3.3.2/data/namenodeData1,file:///usr/local/src/hadoop/hadoop-3.3.2/data/namenodeData2</value>
  13. </property>
  14. <property>
  15. <name>dfs.datanode.data.dir</name>
  16. <value>file:///usr/local/src/hadoop/hadoop-3.3.2/data/datanodeData1,file:///usr/local/src/hadoop/hadoop-3.3.2/data/datanodeData2</value>
  17. </property>
  18. <property>
  19. <name>dfs.namenode.edits.dir</name>
  20. <value>file:///usr/local/src/hadoop/hadoop-3.3.2/data/edits</value>
  21. </property>
  22. <property>
  23. <name>dfs.namenode.checkpoint.dir</name>
  24. <value>file:///usr/local/src/hadoop/hadoop-3.3.2/data/checkpoint</value>
  25. </property>
  26. <property>
  27. <name>dfs.namenode.checkpoint.edits.dir</name>
  28. <value>file:///usr/local/src/hadoop/hadoop-3.3.2/data/checkpointEdits</value>
  29. </property>
  30. <property>
  31. <name>dfs.replication</name>
  32. <value>3</value>
  33. </property>
  34. <property>
  35. <name>dfs.permissions</name>
  36. <value>false</value>
  37. </property>
  38. <property>
  39. <name>dfs.blocksize</name>
  40. <value>134217728</value>
  41. </property>
  42. </configuration>

yarn-site.xml

  1. <configuration>
  2. <property>
  3. <name>yarn.resourcemanager.hostname</name>
  4. <value>node1</value>
  5. </property>
  6. <property>
  7. <name>yarn.nodemanager.aux-services</name>
  8. <value>mapreduce_shuffle</value>
  9. </property>
  10. <property>
  11. <name>yarn.log-aggregation-enable</name>
  12. <value>true</value>
  13. </property>
  14. <property>
  15. <name>yarn.log-aggregation.retain-seconds</name>
  16. <value>604800</value>
  17. </property>
  18. <property>
  19. <name>yarn.nodemanager.resource.memory-mb</name>
  20. <value>20480</value>
  21. </property>
  22. <property>
  23. <name>yarn.scheduler.minimum-allocation-mb</name>
  24. <value>2048</value>
  25. </property>
  26. <property>
  27. <name>yarn.nodemanager.vmem-pmem-ratio</name>
  28. <value>2.1</value>
  29. </property>
  30. </configuration>

hadoop-env.sh

  1. JAVA_HOME=/usr/local/src/jdk/jdk1.8.0_331

mapred-env.sh

  1. export JAVA_HOME=/usr/local/src/jdk/jdk1.8.0_331

修改root权限

stop-yarn.sh 和start-yarn.sh

  1. #!/usr/bin/env bash
  2. YARN_RESOURCEMANAGER_USER=root
  3. HADOOP_SECURE_DN_USER=yarn
  4. YARN_NODEMANAGER_USER=root

stop-dfs.sh和start-dfs.sh

  1. #!/usr/bin/env bash
  2. HDFS_DATANODE_USER=root
  3. HADOOP_SECURE_DN_USER=hdfs
  4. HDFS_NAMENODE_USER=root
  5. HDFS_SECONDARYNAMENODE_USER=root

如果不修改,那么在root权限无法启动hadoop

克隆

image.png
克隆完就是一些设置
将每个克隆出来的hosts修改,为对应的node名
然后再Windows修改hosts
C:\Windows\System32\drivers\etc
image.png

修改slaves

注意:hadoop版本是2x,需要修改这个文件,而3x版本需要修改workers,把localhost修改为下面的文本
第一台机器执行以下命令

  1. cd /export/servers/hadoop-2.7.5/etc/hadoop
  2. vim slaves
  1. node1
  2. node2
  3. node3

安装包的分发

第一台机器执行以下命令

  1. cd /export/servers/
  2. scp -r hadoop-2.7.5 node2:$PWD
  3. scp -r hadoop-2.7.5 node3:$PWD

启动集群

要启动 Hadoop 集群,需要启动 HDFS 和 YARN 两个模块。
注意: 首次启动 HDFS 时,必须对其进行格式化操作。 本质上是一些清理和
准备工作,因为此时的 HDFS 在物理上还是不存在的。

hdfs namenode -format 或者
hadoop namenode –format
启动

  1. sbin/start-all.sh
  2. sbin/mr-jobhistory-daemon.sh start historyserver

三个端口查看界面

http://node01:50070/explorer.html#/](http://node01:50070/explorer.html#/) 查看hdfs

http://node01:8088/cluster 查看yarn集群

http://node01:19888/jobhistory 查看历史完成的任务
正常启动图
只需要启动node1就可以了,其余虚拟机会自动启动,如果没有启动成功就要去检查那里没写对
node1
image.png
node2
image.png
node3
image.png