一、软件环境
二、Hadoop多节点集群的组成结构
主机名称(hostname) | IP地址 | 作用 |
---|---|---|
master | 192.168.56.100 | NameNode和ResourceManager |
data1 | 192.168.56.101 | DateNode和NodeManager |
data2 | 192.168.56.102 | DateNode和NodeManager |
data3 | 192.168.56.103 | DateNode和NodeManager |
三、Hadoop多节点集群安装主要步骤
- 使用Virtualbox创建主节点虚拟机:50GB动态磁盘空间,8GB内存,配置NAT及Host-only网卡各一块;
- 安装64位Ubuntu 20.04/22.04/24.04 LTS服务器版操作系统,并修改主机名称(
/etc/hostname
文件),配置网卡IP地址; - 安装Java SE/JDK 8.0(如安装目标目录
/opt/jse/1.8.0_431
),设置JAVA_HOME
等环境变量; - 安装Hadoop 2.x/3.x(如安装目录
/opt/hadoop/3.4.1
),设置HADOOP_HOME
等环境变量; - 在
/etc/hosts
中增加如下地址解析:192.168.56.100 master 192.168.56.101 data1 192.168.56.102 data2 192.168.56.103 data3
- 在
/etc/sysctl.conf
增加配置,禁用IPv6:net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
- 配置ssh使用密钥免密码登入;
- 关闭主节点虚拟机,复制主节点虚拟机为三台从节点虚拟机,修改Hadoo配置文件,启动Hadoop多节点集群。
四、Hadoop多节点集群主/从节点配置
- 在主/从节点上,调整以下文件:
${HADOOP_HOME}/etc/hadoop/core-site.xml
文件:<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.56.100:9000</value> </property> </configuration>
${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
文件:<configuration> <property> <name>dfs.replication</name> <value>3</value> </property> <property> <name>dfs.client.use.datanode.hostname</name> <value>false</value> </property> <property> <name>dfs.datanode.use.datanode.hostname</name> <value>false</value> </property> <property> <name>dfs.namenode.datanode.registration.ip-hostname-check</name> <value>false</value> </property> </configuration>
${HADOOP_HOME}/etc/hadoop/mapred-site.xml
文件:<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.application.classpath</name> <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value> </property> <property> <name>mapreduce.jobtracker.address</name> <value>192.168.56.100:5431</value> </property> </configuration>
${HADOOP_HOME}/etc/hadoop/yarn-site.xml
文件:<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.env-whitelist</name> <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>192.168.56.100:8025</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>192.168.56.100:8030</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>192.168.56.100:8050</value> </property> </configuration>
新建
${HADOOP_HOME}/etc/hadoop/masters
文件,内容:192.168.56.100
新建
${HADOOP_HOME}/etc/hadoop/slaves
文件,内容:192.168.56.101 192.168.56.102 192.168.56.103
- 在主节点上,创建
/data/hadoop/hdfs/dfs/name
目录,调整${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
文件,增加配置项:<property> <name>dfs.namenode.name.dir</name> <value>file:///data/hadoop/hdfs/dfs/name</value> </property>
- 在从节点上,创建
/data/hadoop/hdfs/dfs/data
目录,调整${HADOOP_HOME}/etc/hadoop/hdfs-site.xml
文件,增加配置项:<property> <name>dfs.datanode.data.dir</name> <value>file:///data/hadoop/hdfs/dfs/data</value> </property>
五、Hadoop多节点集群启动
- 在主/从节点上,验证ssh使用密钥免密登入集群中的其他各台机器;
- 在主节点上执行
hdfs namenode -format && start-dfs.sh && start-yarn.sh
; - 在主/从节点上执行jps查看相关进程;
- 主节点jps输出如:
3878 Jps 3240 NameNode 3453 SecondaryNameNode 3615 ResourceManager
- 从节点jps输出如:
2545 Jps 2445 NodeManager 2287 DataNode
- 主节点jps输出如:
- 在浏览器中输入地址
http://192.168.56.100:50070/
和http://192.168.56.100:8088/
查看Hadoop多节点集群的运行情况。
六、Hadoop多节点集群停止
在主节点上执行stop-yarn.sh && stop-dfs.sh
命令来停止Hadoop多节点集群。