yarn分布式集群部署

单机部署的方式,ubuntu上和CentOS一样
分布式集群的部署方式
1. 修改slave1和slave2机器的/etc/hosts
设置master slave1 slave2
namenode datanode1 datanode2
修改配置etc/hadoop/slaves
没有etc/hadoop/master文件
master配置写在yarn-site.xml中
把localhost改成
slave1
slave2
不能注释掉127.0.0.1 vm10-128-0-187.ksc.com
否则datanode会无法启动
改为
内网ip vm10-128-0-187.ksc.com
2.停止原来resourcemanager和nodemanager
sbin/yarn-daemon.sh stop nodemanager
sbin/yarn-daemon.sh stop resourcemanager
停止原来的hdfs
sbin/hadoop-daemon.sh stop datanode
sbin/hadoop-daemon.sh stop namenode
把原来的hdfs tmp/目录删除,重建,chmod 755 -R
格式化
hadoop namenode -format

3.
在namenode执行
sbin/hadoop-daemon.sh start namenode
datanode1 datanode2执行
sbin/hadoop-daemon.sh start datanode
启动hdfs
在master执行
sbin/yarn-daemon.sh start resourcemanager
slave1 slave2执行
sbin/yarn-daemon.sh start nodemanager

4. slave2上的nodemanager会启动失败
日志里提示
org.apache.hadoop.ipc.Client: Retrying connect to server: 0.0.0.0/0.0.0.0:8031
修复办法
修改yarn-site.xml

yarn.resourcemanager.resource-tracker.address
master:8031


yarn.resourcemanager.address
master:8032


yarn.resourcemanager.scheduler.address
master:8030


yarn.resourcemanager.admin.address
master:8033


yarn.resourcemanager.webapp.address
0.0.0.0:8088

注意yarn.resourcemanager.webapp.address
这一项要设置为0.0.0.0:8088,否则外网访问不了监控页面
5.通过http://localhost:8088
访问yarn监控

6. 如果是hadoop-2.0.0-alpha,这样配置就OK了。
如果是hadoop 2.4.1 会报这个错误
java.lang.IllegalArgumentException: The ServiceName: mapreduce.shuffle set in yarn.nodemanager.aux-services is invalid.The valid service name should only con
tain a-zA-Z0-9_ and can not start with numbers
所以还需要修改yarn-site.xml,配置以下的项

yarn.nodemanager.aux-services
mapreduce_shuffle

你可能感兴趣的:(技术,yarn,分布式,集群)