章节内容
上一节完成了:
- Java的环境配置
- Hadoop环境配置
顺利完成了基础环境的配置,但是对于Hadoop来说,目前还有一些XML的配置需要我们修改,这样后续才能组装成集群来运行。
接下来我们就进行一些XML的配置。Hadoop集群配置 = HDFS集群配置 + MapReduce集群配置 + Yarn集群配置。
背景介绍
这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。
注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!
注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!
注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!
请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!
请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!
请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!
但是有一台公网服务器我还运行着别的服务,比如前几天发的:autodl-keeper
自己写的小工具,防止AutoDL机器过期的。还跑着别的Web服务,所以只能挤出一台 2C2G 的机器。那我的配置如下了:
- 2C4G 编号 h121
- 2C4G 编号 h122
- 2C2G 编号 h123
集群配置
由于我也是参考着别人的内容,这里有一个对应的关系:
- h121对应linux121
- h122对应linux122
- h123对应linux123
我们需要配置的内容如下图:Hadoop集群配置 = HDFS集群配置 + MapReduce集群配置 + Yarn集群配置
按照上图,一步一步来配置。
HDFS集群
运行环境
cd /opt/servers/hadoop-2.9.2/etc/hadoop
修改 hadoop 的运行内容
vim hadoop-env.sh
找到 JAVA_HOME 的部分,配置为我们上节配置的地址:(防止后续的一系列不必要的问题,血泪史)
NameNode
cd /opt/servers/hadoop-2.9.2/etc/hadoop
修改 core-site.xml
sudo vim core-site.xml
添加如下的内容
<!-- HDFS NameNode 地址 --> <property> <name>fs.defaultFS</name> <value>hdfs://h121.wzk.icu:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/servers/hadoop-2.9.2/data/tmp</value> </property>
当前的完整配置如下:
core-site.xml
中的所有参数地址:https://hadoop.apache.org/docs/r2.9.2/hadoop-project-dist/hadoop-common/core-default.xml
SecondaryNameNode
vim hdfs-site.xml
将下面的内容加入进去:
<!-- Hadoop 辅助节点地址 --> <property> <name>dfs.namenode.secondary.http-address</name> <value>h123.wzk.icu:50090</value> </property> <!-- 副本数量 --> <property> <name>dfs.replication</name> <value>3</value> </property>
当前的完整配置如下:
DataNode
sudo vim slaves
这里是你的3台节点的名称,或者域名。
MapReduce集群
运行环境
sudo vim mapred-env.sh
加入 JAVA_HOME 的环境,避免后续的不必要的问题。
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
当前配置如下:
mapred-site
我们需要将默认的模板修改过来,并在这个基础上进行修改:
sudo mv mapred-site.xml.template mapred-site.xml sudo vim mapred-site.xml
加入如下的内容
<!-- 指定MR运行在Yarn上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
Yarn集群
运行环境
sudo vim yarn-env.sh
同前文,这里就不赘述了。也是修改 JAVA_HOME,避免后续不必要的麻烦!
yarn-site
sudo vim yarn-site.xml
加入如下的内容:
<!-- 指定YARN的ResourceManager的地址 --> <property> <name>yarn.resourcemanager.hostname</name> <value>h123.wzk.icu</value> </property> <!-- Reducer获取数据的方式 --> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
NodeManager
修改 slaves
文件,前文已经修改,这里就不需要了。
统一权限
现在已经完成了初步的配置,下面我们统一一下权限,防止后续出现权限问题:
sudo chown -R root:root /opt/servers/hadoop-2.9.2
DNS 修改
我是公网云,所以我统一一下DNS,避免后续不必要的麻烦(也可以不弄,问题不大)
vim /etc/resolv.conf
我使用的是阿里的DNS
223.5.5.5
修改的截图如下: