Hadoop完全分布式搭建

x33g5p2x  于2021-03-14 发布在 Hadoop  
字(5.2k)|赞(0)|评价(0)|浏览(459)

一、集群规划

bigdata1bigdata2bigdata3
HDFSNameNode、SecondaryNameNode、DataNodeDataNodeDataNode
YARNResourceManager、NodeManagerNodeManagerNodeManager

二、设置第一台主机的配置文件

[info] (1)创建两个临时目录,一个用于存放HDFS的数据,一个用于存放日志

# 1.进入Hadoop目录
cd /data/module/hadoop-2.7.3

# 2.创建 data 和 logs 临时目录
mkdir logs data

:-:

[info] (2)core-site.xml 配置文件

# 1.进入hadoop的etc/hadoop目录
cd /data/module/hadoop-2.7.3/etc/hadoop/

# 2.编辑core-site.xml文件
vi core-site.xml 

#原始配置
<!-- 指定 HDFS 中 NameNode 的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://主机名 1:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.X.X/data/tmp</value>
</property>

#修改后的配置
<!-- 指定 HDFS 中 NameNode 的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://bigdata1:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/data/module/hadoop-2.7.3/data</value>
</property>

:-:

[info] (3)hdfs-site.xml 配置文件

# 原始配置文件
<!--数据冗余数-->
<property>
    <name>dfs.replication</name>
    <value>3</value>
</property>
<!--secondary 的地址-->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>主机名 1:50090</value>
</property>
<!--关闭权限-->
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

# 修改后的配置文件
<!--数据冗余/备份数-->
<property>
    <name>dfs.replication</name>
    <value>3</value></property>
<!--secondary NameNode 的地址,端口号是50090-->
<property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>bigdata1:50090</value>
</property>
<!--关闭权限-->
<property>
    <name>dfs.permissions</name>
    <value>false</value>
</property>

:-:

[info] (4)yarn-site.xml 配置文件

# 原始配置文件
<!-- reducer 获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>主机名</value>
</property>
<!-- 日志聚集功能使能 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 日志保留时间设置 7 天(秒) -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

# 修改后的配置文件
<!-- reducer 获取数据的方式 -->
<property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
</property>
<!-- 指定 YARN 的 ResourceManager 的地址 -->
<property>
    <name>yarn.resourcemanager.hostname</name>
    <value>bigdata1</value>
</property>
<!-- 日志聚集功能使用 -->
<property>
    <name>yarn.log-aggregation-enable</name>
    <value>true</value>
</property>
<!-- 日志保留时间设置 7 天(秒) -->
<property>
    <name>yarn.log-aggregation.retain-seconds</name>
    <value>604800</value>
</property>

:-:

[info] (4)mapred-site.xml 配置文件 (该文件不存在,需要修改模板文件)

# 1.修改模板文件
mv mapred-site.xml.template mapred-site.xml

:-:

# 原始配置文件
<!-- 指定 mr 运行在 yarn 上-->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>主机名:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>主机名:19888</value>
</property>

# 修改后的配置文件
<!-- 指定 mr 运行在 yarn 上-->
<property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>bigdata1:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>bigdata1:19888</value>
</property>

:-:

[info] (5)hadoop-env.sh 配置文件

# 1.vi编辑hadoop.env.sh文件
vi hadoop-env.sh

# 2.将文件中添加我们JDK的绝对路径:/data/module/jdk1.8.0_144
export JAVA_HOME=/data/module/jdk1.8.0_144

:-:

[info] (6)配置slaves ( slaves 是帮助namenode节点识别datanode节点位置的一个文件,集群起yarn时也是通过slaves文件读取到datanode的信息从而启动nodemanager)

# 1.打开slaves文件
vi slaves

# 2.三台机器都需要dataNode,所以配置三台机器的主机名

bigdata1
bigdata2
bigdata3

:-:

二、克隆两台主机

[info] (1)克隆两台主机

:-:

[info] (2)分别登录两台新主机,修改固定ip为192.168.46.112 和 192.168.46.113

# 1.控制台输入命令vi编辑器,修改本地网卡的配置文件(注意最后结尾的网卡名称)
vi /etc/sysconfig/network-scripts/ifcfg-eno16777736

# 2.修改ip为 192.168.46.112 和 192.168.46.113

# 3.网卡信息修改完毕后,在控制台执行下面的命令,重启网络服务即可
service network restart

:-:

:-:

:-:

:-:

[info] (3)使用CRT连接两台新主机

:-:

[info] (4)修改两台新主机的主机名

# 1.修改第二台主机:192.168.46.112 的主机名
hostnamectl set-hostname bigdata2

# 2.修改第三台主机:192.168.46.113 的主机名
hostnamectl set-hostname bigdata3

:-:

:-:

[info] (5)三台主机分别设置SSH免密登录

# 1.生成公钥和私钥(过程需要进行三次回车)
ssh-keygen -t rsa

# 2.拷公钥(执行过程需要输入每台主机的密码)
ssh-copy-id bigdata1
ssh-copy-id bigdata2
ssh-copy-id bigdata3

# 3.三台主机都需要重复一次以上操作

:-:

[info] (6)格式化第一台主机(bigdata1)的HDFS,因为第一台主机是master,需要启动NameNode

#格式化HDFS
hdfs namenode -format

:-:

[info] (7)到此三台主机的完全分布式集群搭建完毕

相关文章

微信公众号

最新文章

更多