如果你是从伪分布式过来的,最好先把伪分布式的相关守护进程关闭:
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.xmlvi 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.auxservices.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.resourcetracker.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 parametersexport JAVA_HOME = /usr/local/jdkif [ " $JAVA_HOME " ! = "" ]; then#echo "run java in $JAVA_HOME"JAVA_HOME = $JAVA_HOMEfi
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/localscp -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