一、安裝Homebrew(已安裝的可以省略這一步)
Homebrew是OSX中的方便的套件管理工具。采用Homebrew安裝Hadoop非常簡(jiǎn)潔方便(中文官網(wǎng):http://brew.sh/index_zh-cn.html)
復(fù)制下面代碼在終端中運(yùn)行就可以得到安裝:
/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
二、安裝JDK(已安裝的可以省略這一步)
去Oracle官網(wǎng)下載對(duì)應(yīng)的JDK
三、SSH 免密碼的設(shè)置
1、安裝ssh
直接 sudo apt-get install openssh-server
2、查看ssh運(yùn)行狀態(tài)
ps -e | grep ssh
如果發(fā)現(xiàn) sshd 和 ssh-agent 即表明 ssh服務(wù)基本運(yùn)行正常
3、生成公鑰和私鑰
ssh-keygen -t rsa -P ""
4、將公鑰追加到文件
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
5、測(cè)試ssh localhost
如果發(fā)現(xiàn)不用輸入密碼就可以登錄那么 ssh無密碼機(jī)制就算建立成功了。
6、失敗原因之一:.ssh及其下屬子文件的權(quán)限問題:
首選.ssh目錄權(quán)限是700, 兩個(gè)dsa 和 rsa的 私鑰權(quán)限是600,其余文件權(quán)限是644.
下面列出.ssh目錄及子文件的權(quán)限表:
drwx------ 2 hadoop hadoop 4096 2014-06-02 15:32 .
drwxr-xr-x 34 hadoop hadoop 4096 2014-06-02 15:06 ..
-rw-r--r-- 1 hadoop hadoop 2252 2014-06-02 15:32 authorized_keys
-rw------- 1 hadoop hadoop 668 2014-06-02 15:11 id_dsa
-rw-r--r-- 1 hadoop hadoop 615 2014-06-02 15:11 id_dsa.pub
-rw------- 1 hadoop hadoop 1675 2014-06-02 15:32 id_rsa
-rw-r--r-- 1 hadoop hadoop 407 2014-06-02 15:32 id_rsa.pub
-rw-r--r-- 1 hadoop hadoop 442 2014-06-02 15:08 known_hosts
7、.ssh的父目錄的權(quán)限問題(我的問題就出現(xiàn)在這里):
.ssh的父目錄文件權(quán)限應(yīng)該是755,即所屬用戶的 用戶文件 (/home下屬的一個(gè)用戶文件)。
三、安裝Hadoop
運(yùn)用brew安裝hadoop代碼如下:
$ brew install hadoop
hadoop就安裝成功了,我安裝時(shí)最新為2.7.3。
hadoop將按預(yù)定的路徑安裝(/usr/local/Cellar/hadoop/2.7.3)
查看其安裝目錄可以用brew list hadoop;
1.配置相關(guān)的環(huán)境變量
打開終端:
輸入 vi .bash_profile
修改后最終樣子:
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/usr/local/Cellar/hadoop/2.7.3
export HADOOP_HOME_WARN_SUPPRESS=1
export CLASS_HOME=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:${PATH}
2.配置Hadoop相關(guān)文件
修改/usr/local/Cellar/hadoop/2.7.3/libexec/etc/hadoop/hadoop-env.sh 文件
進(jìn)入到 /usr/local/Cellar/hadoop/2.7.3/libexec/etc/hadoop (就是Hadoop的安裝目錄下)
vi hadoop-env.sh
需要修改的地方:
# The java implementation to use.
export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_91.jdk/Contents/Home"
# Extra Java runtime options. Empty by default.
#export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
# The maximum amount of heap to use, in MB. Default is 1000.
export HADOOP_HEAPSIZE=2000
#export HADOOP_NAMENODE_INIT_HEAPSIZE=""
修改/usr/local/Cellar/hadoop/2.7.3/libexec/etc/hadoop/core-site.xml 文件
修改后的
修改/usr/local/Cellar/hadoop/2.7.3/libexec/etc/hadoop/hdfs-site.xml 文件
修改/usr/local/Cellar/hadoop/2.7.3/libexec/etc/hadoop/mapred-site.xml.template 文件
配置完成后
終端運(yùn)行: hadoop namenode -format
運(yùn)行成功效果圖
進(jìn)入:/usr/local/Cellar/hadoop/2.7.3/libexec/sbin
運(yùn)行 :
sh start-all.sh
或者:sh start-dfs.sh 和 sh start-yarn.sh
測(cè)試命令: jps
成功的效果圖
打開以下網(wǎng)址可以測(cè)試是否成功:
Resource Manager : http://localhost:50070
正常打開的樣子
JobTracker : http://localhost:8088
正常打開的樣子
Specific Node Information : http://localhost:8042
正常打開的樣子