本文共 4221 字,大约阅读时间需要 14 分钟。
在安装Hadoop之前,需要先准备好必要的开发环境。以下是详细的操作步骤:
Hadoop依赖于Java环境,因此首先需要安装Java Development Kit (JDK)。可以通过以下命令安装:
yum install -y java-1.8.0-openjdk-devel
安装完成后,JDK会被安装在/usr/lib/jvm目录下。
Hadoop运行时会占用一些端口,为了确保这些端口能够正常通信,可以选择关闭防火墙。执行以下命令:
systemctl stop firewalldsystemctl disable firewalld
如果需要临时禁用防火墙,可以使用以下命令:
firewallctl --disable
为了方便后续操作,可以配置SSH免密登录。执行以下命令生成公钥:
ssh-keygen -t rsa -b 4096
将生成的公钥添加到~/.ssh/authorized_keys文件中,确保权限为600:
chmod 600 ~/.ssh/authorized_keys
可以通过 wget命令下载Hadoop的最新版本。示例命令如下:
wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-3.2.1/hadoop-3.2.1.tar.gz
将下载的文件解压到指定目录,例如:
tar -zxf hadoop-3.2.1.tar.gz -C /root/software
解压完成后,文件结构可以通过以下命令查看:
ls -l /root/software/hadoop-3.2.1
在root用户的/root/.bashrc文件中添加以下配置:
vim /root/.bashrc
在文件末尾添加:
# Hadoop环境变量配置export HADOOP_HOME=/root/software/hadoop-3.2.1export PATH=$HADOOP_HOME/bin:$PATH
重新加载bash配置文件:
source /root/.bashrc
确保Hadoop环境变量配置成功,执行以下命令:
hadoop version
预期输出应为:
hadoop-3.2.1
将JDK路径添加到hadoop-env.sh文件中:
vim /root/software/hadoop-3.2.1/etc/hadoop/hadoop-env.sh
在文件末尾添加:
# JDK路径export JAVA_HOME=/root/software/jdk-14.0.2
配置Hadoop运行时参数,例如:
vim /root/software/hadoop-3.2.1/etc/hadoop/core-site.xml
添加以下内容:
fs.defaultFS hdfs://sunshine:9000 hadoop.tmp.dir /root/software/hadoop-3.2.1/tmp
配置HDFS数据存储路径:
vim /root/software/hadoop-3.2.1/etc/hadoop/hdfs-site.xml
添加以下内容:
dfs.name.dir /root/software/hadoop-3.2.1/tmp/dfs/name dfs.data.dir /root/software/hadoop-3.2.1/tmp/dfs/data dfs.replication 1
配置Yarn资源管理:
vim /root/software/hadoop-3.2.1/etc/hadoop/yarn-site.xml
添加以下内容:
yarn.resourcemanager.hostname sunshine yarn.nodemanager.aux-services mapreduce_shuffle yarn.nodemanager.vmem-check-enabled false yarn.nodemanager.vmem-pmem-ratio 5
配置MapReduce资源:
vim /root/software/hadoop-3.2.1/etc/hadoop/mapred-site.xml
添加以下内容:
mapreduce.framework.name yarn yarn.app.mapreduce.am.env HADOOP_MAPRED_HOME=$HADOOP_HOME mapreduce.map.env HADOOP_MAPRED_HOME=$HADOOP_HOME mapreduce.reduce.env HADOOP_MAPRED_HOME=$HADOOP_HOME mapreduce.map.memory.mb 1024
执行以下命令初始化Hadoop namenode:
hadoop namenode -format
初始化完成后,会显示类似以下提示:
14:21:06.310 java:WARN: namenode.NameNode.createNameSystem: No valid configurations found for fs.defaultFS
这说明初始化成功。
在/root/software/hadoop-3.2.1/sbin目录下,执行以下命令启动Hadoop:
./start-all.sh
查看启动日志,确保没有错误提示。例如:
tail -f /root/software/hadoop-3.2.1/logs/hadoop-root.log
如果遇到权限问题,需确保所有节点的用户和组ID正确配置。
对于start-dfs.sh和stop-dfs.sh文件,修改脚本顶部:
vim /root/software/hadoop-3.2.1/sbin/start-dfs.sh
添加以下配置:
#!/usr/bin/env bashHDFS_DATANODE_USER=rootHADOOP_SECURE_DN_USER=hdfsHDFS_NAMENODE_USER=rootHDFS_SECONDARYNAMENODE_USER=root
同样修改start-yarn.sh和stop-yarn.sh文件:
vim /root/software/hadoop-3.2.1/sbin/start-yarn.sh
添加以下配置:
#!/usr/bin/env bashYARN_RESOURCEMANAGER_USER=rootHADOOP_SECURE_DN_USER=yarnYARN_NODEMANAGER_USER=root
访问以下地址查看Hadoop状态,IP地址请根据实际部署情况修改:
http://:9870/dfshealth.html#tab-overview
通过Web界面查看各个Hadoop组件的状态,包括NameNode、DataNode、JobTracker等。
权限配置:确保所有节点的用户和组ID(UID/GID)与root用户一致,避免权限问题。
日志管理:定期清理旧日志文件,避免存储过多日志导致性能问题。
定期维护:定期运行hadoop cleanup命令清理过期任务,确保系统健康运行。
扩展性:根据需要扩展Hadoop集群,添加新的DataNode和NodeManager节点。
通过以上步骤,可以在CentOS 7.6 64位系统上成功配置并运行Hadoop集群。
转载地址:http://oehu.baihongyu.com/