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的问题,修改了


  yarn.nodemanager.disk-health-checker.max-disk-utilization-per-disk-percentage
  98.5

参考

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])

 

你可能感兴趣的:(hadoop,big,data)