完全分布式集群搭建

如果你是从伪分布式过来的,最好先把伪分布式的相关守护进程关闭: stop-all.sh
删除原来伪分布式的相关设置

-1. 三台机器的防⽕墙必须是关闭的 .
-2. 确保三台机器的⽹络配置畅通 (NAT 模式,静态 IP ,主机名的配置 )
-3. 确保 /etc/hosts ⽂件配置了 ip hostname 的映射关系
-4. 确保配置了三台机器的免密登陆认证(克隆会更加⽅便)
-5. 确保所有机器时间同步
-6. jdk hadoop 的环境变量配置
1. 配置 core-site.xml
cd $HADOOP_HOME/etc/hadoop/
vi core-site.xml
下面的地址根据自己的修改
<configuration>
<!-- hdfs 的地址名称: schame,ip,port-->
<property>
<name> fs.defaultFS </name>
<value> hdfs://主机01:8020 </value>
</property>
<!-- hdfs 的基础路径,被其他属性所依赖的⼀个基础路径 -->
<property>
<name> hadoop.tmp.dir </name>
<value> /usr/local/hadoop/tmp </value>

</property>

</configuration>

2. 配置 hdfs-site.xml
vi hdfs-site.xml
下面的地址根据自己的修改
<configuration>
<!-- namenode 守护进程管理的元数据⽂件 fsimage 存储的位置 -->
<property>
<name> dfs.namenode.name.dir </name>
<value> file://${hadoop.tmp.dir}/dfs/name </value>
</property>
<!-- 确定 DFS 数据节点应该将其块存储在本地⽂件系统的何处 -->
<property>
<name> dfs.datanode.data.dir </name>
<value> file://${hadoop.tmp.dir}/dfs/data </value>
</property>
<!-- 块的副本数 -->
<property>
<name> dfs.replication </name>
<value> 3 </value>
</property>
<!-- 块的⼤⼩ (128M), 下⾯的单位是字节 -->
<property>
<name> dfs.blocksize </name>
<value> 134217728 </value>
</property>
<!-- secondarynamenode 守护进程的 http 地址:主机名和端⼝号。参考
守护进程布局 -->
<property>
<name> dfs.namenode.secondary.http-address </name>
<value> 主机02:50090 </value>
</property>
<!-- namenode 守护进程的 http 地址:主机名和端⼝号。参考守护进程布
-->
<property>
<name> dfs.namenode.http-address </name>
<value> 主机01:50070 </value>
</property>
</configuration>
3. 配置 mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
vi mapred-site.xml
下面的地址根据自己的修改
<configuration>
<!-- 指定 mapreduce 使⽤ yarn 资源管理器 -->
<property>
<name> mapreduce.framework.name </name>
<value> yarn </value>
</property>
<!-- 配置作业历史服务器的地址 -->
<property>
<name> mapreduce.jobhistory.address </name>
<value> 主机01:10020 </value>
</property>
<!-- 配置作业历史服务器的 http 地址 -->
<property>
<name> mapreduce.jobhistory.webapp.address </name>
<value> 主机01:19888 </value>
</property>
</configuration>
4. 配置 yarn-site.xml
vi yarn-site.xml
下面的地址根据自己的修改
<configuration>
<!-- 指定 yarn shuffle 技术 -->
<property>
<name> yarn.nodemanager.aux-services </name>
<value> mapreduce_shuffle </value>
</property>
<!-- 指定 resourcemanager 的主机名 -->
<property>
<name> yarn.resourcemanager.hostname </name>
<value> 主机01 </value>

</property>
<!-- 下⾯的可选 -->
<!-- 指定 shuffle 对应的类 -->
<property>
<name> yarn.nodemanager.aux
services.mapreduce_shuffle.class </name>
<value> org.apache.hadoop.mapred.ShuffleHandler </value>
</property>
<!-- 配置 resourcemanager 的内部通讯地址 -->
<property>
<name> yarn.resourcemanager.address </name>
<value> 主机01:8032 </value>
</property>
<!-- 配置 resourcemanager scheduler 的内部通讯地址 -->
<property>
<name> yarn.resourcemanager.scheduler.address </name>
<value> 主机01:8030 </value>
</property>
<!-- 配置 resoucemanager 的资源调度的内部通讯地址 -->
<property>
<name> yarn.resourcemanager.resource
tracker.address </name>
<value> 主机01:8031 </value>
</property>
<!-- 配置 resourcemanager 的管理员的内部通讯地址 -->
<property>
<name> yarn.resourcemanager.admin.address </name>
<value>主机 01:8033 </value>
</property>
<!-- 配置 resourcemanager web ui 的监控⻚⾯ -->
<property>
<name> yarn.resourcemanager.webapp.address </name>
<value>主机 01:8088 </value>
</property>
</configuration>
5. 配置 hadoop-env.sh
vi hadoop-env.sh
# The java implementation to use.
export JAVA_HOME = /usr/local/jdk
6. 配置 slaves ⽂件
vi slaves

主机01

主机02

主机03

7. 配置 yarn-env.sh ⽂件
vi yarn-env.sh
# some Java parameters
export JAVA_HOME = /usr/local/jdk
if [ " $JAVA_HOME " ! = "" ]; then
#echo "run java in $JAVA_HOME"
JAVA_HOME = $JAVA_HOME
fi

8.时间同步

yum -y install ntp

yum -y install ntpdate

crontab -e
* * * * * /usr/sbin/ntpdate -u ntp.aliyun.com 
vi /etc/ntp.conf
restrict 192 .168.10.0 mask 255 .255.255.0 nomodify notrap

# server 0.centos.pool.ntp.org iburst 注释掉
# server 1.centos.pool.ntp.org iburst 注释掉
# server 2.centos.pool.ntp.org iburst 注释掉
# server 3.centos.pool.ntp.org iburst 注释掉
server 127 .127.1.0 -master 作为服务器

另外两台机器配置说明
--1 . 同步 hadoop slave 节点上
cd /usr/local
scp -r ./hadoop 主机02:/usr/local/
scp -r ./hadoop 主机03:/usr/local/
--2 . 同步 /etc/profile slave 节点上
scp /etc/profile 主机02:/etc/
scp /etc/profile 主机03:/etc/
--3 . 如果 slave 节点上的 jdk 也没有安装,别忘记同步 jdk
--4 . 检查是否同步了 /etc/hosts ⽂件
--5.同步时间
yum -y install ntpdate
crontab -e
*/1 * * * * /usr/sbin/ntpdate -u 主机01

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值