1、解压
从software目录下解压至module目录。
[root@slave4 software]# lsapache-hive-3.1.2-bin.tar.gz hadoop-3.2.1.tar.gz nacos-server-1.1.4.tar.gz spark-3.0.0-bin-hadoop3.2.tgz[root@slave4 software]# tar -xzvf hadoop-3.2.1.tar.gz -C ../module/
-C 参数表示解压到指定目录。
2、环境变量
所有节点增加hadoop-3.2.1环境变量。
# set hadoop envexport HADOOP_HOME=/opt/module/hadoop-3.2.1export HADOOP_CONF_DIR=${HADOOP_HOME}/etc/hadoopexport PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
1、记得source一下生效。 2、使用
hadoop version命令确认终端输出的版本是否为3.2.1
3、配置
3.1 修改配置文件
修改/opt/module/hadoop-3.2.1/etc/hadoop目录下的配置文件。以下所有配置文件中配置的目录,不需要手动创建,hadoop集群启动时会自动创建。
1、core-site.xml
<configuration><property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.2.1/tmp</value><description>Abase for other temporary directories.</description></property><property><name>fs.default.name</name><value>hdfs://主节点hostname:9000</value></property><!--集成hive--><property><name>hadoop.proxyuser.hive.groups</name><value>*</value></property><property><name>hadoop.proxyuser.hive.hosts</name><value>*</value></property></configuration>
2、hdfs-site.xml
<configuration><!-- config for namenode --><property><name>dfs.name.dir</name><value>/opt/module/hadoop-3.2.1/dfs/name</value></property><!-- config for datanode --><property><name>dfs.data.dir</name><value>/opt/module/hadoop-3.2.1/dfs/data</value></property><!-- config secondary namenode --><property><name>dfs.namenode.secondary.http-address</name><value>任选一从节点hostname:50090</value></property><!-- config replica数量 (节点个数 - 1) --><property><name>dfs.replication</name><value>(节点个数 - 1)</value></property><property><name>dfs.permissions</name><value>false</value><description>need not permissions</description></property></configuration>
3、hadoop-env.sh
...# The java implementation to use. By default, this environment# variable is REQUIRED on ALL platforms except OS X!export JAVA_HOME=填入JDK安装路径...# Where pid files are stored. /tmp by default.export HADOOP_PID_DIR=/var/run...
4、mapred-site.xml
<configuration><property><name>mapreduce.framework.name</name><value>yarn</value></property><property><name>mapreduce.jobhistory.address</name><value>主节点hostname:10020</value></property><property><name>mapreduce.jobhistory.webapp.address</name><value>主节点hostname:19888</value></property></configuration>
5、yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --><!--config address for resourceManager--><property><name>yarn.resourcemanager.hostname</name><value>主节点hostname</value></property><!--config the method that reducer get data --><property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property><property><name>yarn.nodemanager.local-dirs</name><value>/opt/module/hadoop-3.2.1/yarn</value></property></configuration>
6、workers
masterslave1slave2...
3.2 修改启动脚本
修改/opt/module/hadoop-3.2.1/sbin目录下启动脚本。
1、start-dfs.sh (在脚本头部增加以下2-4行内容。)
#!/usr/bin/env bashHDFS_DATANODE_USER=rootHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root...
2、stop-dfs.sh (在脚本头部增加以下2-4行内容。)
#!/usr/bin/env bashHDFS_DATANODE_USER=rootHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root...
3、start-yarn.sh (在脚本头部增加以下2-3行内容。)
#!/usr/bin/env bashYARN_NODEMANAGER_USER=rootYARN_RESOURCEMANAGER_USER=root...
4、stop-yarn.sh (在脚本头部增加以下2-3行内容。)
#!/usr/bin/env bashYARN_NODEMANAGER_USER=rootYARN_RESOURCEMANAGER_USER=root...
4、分发
快捷分发。
1、检查其他节点是否有/opt/module目录。
2、进入/opt/module目录,执行scp -r hadoop-3.2.1 节点hostname:$PWD
5、启动
格式化namenode
- 进入
hadoop-3.2.1/bin目录,执行hdfs namenode -format命令,格式化namenode。 - 检查。
/opt/module/hadoop-3.2.1/dfs/name是否有current文件夹。注意:namenode只需要在部署时格式化一次。之后重启HDFS不需要格式化namenode,直接从第2步开始。
- 进入
启动HDFS和Yarn
- 进入
hadoop-3.2.1/sbin目录。 - 执行
./start-dfs.sh启动HDFS。 - 执行
./start-yarn.sh启动Yarn。
- 进入
- 检查
- 检查HDFS
- 登录webUI:主节点ip:9870 查看DataNode是否都在线。
- 如下图
- 检查HDFS

- 检查Yarn
- 登录webUI:主节点ip:8088 查看是否能显示集群资源信息。
- 如下图
6、附录
6.1 端口变化
相比2.7.5,3.2.1版本在webUI和内部通信端口上都发生了变化。可以在集群内部使用telnet测试端口是否已经通畅,如果不通,再选择去开通需要的端口。
