在Mac OS X 10.10.5中参考《hadoop实战第2版》配置hadoop(虽然该书已经有点老了,可以同时参考其他博文和官方文档)
0.据书上说要先安装Xcode,由于一直有Xcode,不知这步是否必要
1.首先安装Homebrew 未遇到问题 可以参考百度经验http://jingyan.baidu.com/article/fec7a1e5ec30341190b4e7e5.html
2.使用Homebrew安装Hadoop 未遇到问题 输入命令 brew install hadoop即可
3.配置ssh 未遇到问题
首先在用户根目录下ls -a查看包括隐藏的文件夹,应该能发现.ssh,如果没有就安装brew ssh
有了文件.ssh后, ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
4.验证ssh 遇到问题
输入命令行 ssh localhost
“ssh: connect to host localhost port 22: Connection refused”
进入系统偏好设置->共享->选择远程登录,允许所有用户(这在上一篇博文有提到)
5.伪分布式Hadoop的配置 遇到问题
1)下载hadoop于http://www.apache.org/dyn/closer.cgi/Hadoop/core/
选择与之前brew install一样的版本的hadoop下载,例如hadoop-2.7.3.tar.gz
下载后解压到用户目录下例如用户名叫x,就放到/usr/x下
2)进行一系列配置
在hadoop-2.7.3->etc->hadoop中有hadoop-env.sh
配置export JAVA_HOME=/System/Library/Frameworks/JavaVM.framework/Versions/1.6.0/Home
在core-site.xml中配置
在hdfs-site.xml中配置
在mapred-site.xml中配置
3)bin/hdfs namenode -format
出现问题
org/apache/hadoop/hdfs/server/namenode/NameNode : Unsupported major.minor version 51.0
首先Mac本身自带有jdk1.6.0,然后更新过jdk到1.8.0所以java路径配置错了,要找到1.8.0的位置,点击系统偏好设置->java得到路径
然后
bin/hdfs namenode -format 未遇到问题
4)sbin/start-all.sh 出现问题(当然最好还是start-hds.sh)
WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决方法 export HADOOP_HOME=/usr/x/hadoop-2.7.3(这个与自己的用户名和路径有关不要照搬)
export PATH=$PATH:$HADOOP_HOME/bin
最后一直有个问题是 This script is Deprecated.据说是因为hadoop是32位的缘故,暂时未知是否有影响还没解决问题。
因为此刻已经可以打开http://localhost:50070 http://localhost:8088发现配置成功(注意在搜索过程中发现hadoop2以上的版本是没有50030和50060的)
5)sbin/stop-all.sh 未遇到问题
以上文档仅以记载鄙人配置hadoop所遇疑难和解决方案,并未参照官方指南查证,如有问题欢迎批评指正。