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
解决方法:
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,重启集群。