Ubuntu16.04 在docker中搭建hadoop集群的配置与测试

hadoop集群的配置参照

https://blog.csdn.net/weixin_42051109/article/details/82744993

这里补充几点

1. 需要配置Slave名字

修改$HADOOP_HOME/etc/hadoop下面的slave,里面有slave的名字,修改成slave的主机名

2. 查看log:

log文件在hadoop目录(镜像中为/usr/local/hadoop-2.7.5)下logs中,对debug非常有帮助,其中:

在Master(namenode)中有hadoop-root-namenode-Master.log和yarn-root-resourcemanager-Master.log(resource manager)

在Slave1/2(datanode)中有hadoop-root-datanode-Slave1.log和yarn-root-nodemanager-Slave1.log(node manager)

如果运行不成功,找到log中的ERROR信息再Google,一般就能找到答案

3. 关于卡job running

初次run MapReduce的时候可能对卡job running的问题感到非常棘手,因为没有报错,其实大部分问题在log中都可以找到。比如我在发现卡住的问题是两个datanode都死掉了,所以job会一直停留在run的状态。这个时候再去datanode的log里查看原因,就能找到bug了

4. 配置yarn-site.xml

这个配置文件里提供了资源分配的配置,可以参考这篇文章写的比较清楚

https://www.cnblogs.com/captainlucky/p/4610295.html

我出现了local-dirs are bad的问题,修改了

<property>
  <name>yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage</name>
  <value>98.5</value>
</property>

参考

https://stackoverflow.com/questions/29131449/why-does-hadoop-report-unhealthy-node-local-dirs-and-log-dirs-are-bad

 

补充hadoop命令

把宿主机中的文件复制到docker中

docker cp /home/boxian/hadoop/WordCount.jar 63daxxxx:/home/BigData/WordCount.jar

把docker中的文件复制到hdfs中,这里用到put

hadoop fs -put /home/BigData/WordCount/input/words.txt /input

把hdfs中的文件复制到docker中,用到get

hadoop fs -get /output/part-r-00000  /home/BigData/WordCount/output/results

执行MapReduce的jar文件

hadoop jar WordCount.jar WordCount /input /output

(hadoop jar jarfile.jar Driver [args])

 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值