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 ]