hadoop问题总汇

1. 在mac伪分布式上运行MapReduce打出的jar包出现如下问题

hadoop  jar  /path/to/your.jar  com.your.mapreduce.class

Exception in thread "main" java.io.IOException: Mkdirs failed to create /xxx/xxx/hadoop-unjar5177981654666846343/META-INF/license

参考解决网址 https://stackoverflow.com/questions/10522835/hadoop-java-io-ioexception-mkdirs-failed-to-create-some-path

解决方法:
zip -d /path/to/your.jar META-INF/LICENSE

2. 为什么Zookeeper需要配置至少3个,或3个以上基数节点

因为在zookeeper的选举过程中,为了保证选举过程最后能选出leader就一定不能出现两台机器得票相同的僵局,所以一般就会要求zk集群的server数量一定要是奇数,也就是2n+1台。

并且,如果集群出现问题,其中存活的机器必须大于n+1台,否则leader就无法获得多数server的支持,系统就自动挂掉,所以一般是3个或者3个以上节点。

3. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Apache提供的hadoop本地库是32位的,而在64位的服务器上就会有问题,因此需要自己编译64位的版本。

参考文章 [ https://blog.csdn.net/jack85986370/article/details/51902871 ]

4.spark1.3.1使用yarn cluster模式实行失败

  • 查看yarn日志,看到如下错误ERROR yarn.ApplicationMaster: RECEIVED SIGNAL 15: SIGTERM,参考https://stackoverflow.com/questions/29512565/spark-pi-example-in-cluster-mode-with-yarn-association-lost,可能是jdk的问题,我使用的是jdk8,降到jdk7应该会解决问题,没有尝试,打算升级spark。

  • 升级spark到1.6.3版本后继续执行失败,各种百度,原因是因为,yarn的最小分配内存为1024M,而我在执行spark-shell时设置成了512M(因为感觉机身内存也不够),后来将内存设置成1G,执行成功,也可以修改yarn-site.xml中的yarn.scheduler.minimum-allocation-mb设置为较小的值,默认为1024。

5. zkfc启动失败

在namenode节点分别执行hdfs zkfc -formatZK,重启集群。

你可能感兴趣的:(大数据)