1. 安裝Homebrew和Cask
打開Mac終端, 安裝OS X 不可或缺的套件管理器homebrew和homebrew cask
$ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ brew install caskroom/cask/brew-cask
2. 安裝Java
Hadoop是由Java編寫, 所以需要預(yù)先安裝Java 6或者更高的版本
$ brew update brew upgrade brew-cask brew cleanup brew cask cleanup $ brew cask install java
測試是否安裝成功
$ java -version
3. 配置SSH
為了確保在遠程管理Hadoop以及Hadoop節(jié)點用戶共享時的安全性, Hadoop需要配置使用SSH協(xié)議
首先在系統(tǒng)偏好設(shè)置->共享->打開遠程登錄服務(wù)->右側(cè)選擇允許所有用戶訪問
生成密鑰對,執(zhí)行如下命令
$ ssh-keygen -t rsa
執(zhí)行這個命令后, 會在當(dāng)前用戶目錄中的.ssh文件夾中生成id_rsa文件, 執(zhí)行如下命令:
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
使用下面命令測試是否能夠不使用密碼登錄
$ ssh localhost # Last login: Thu Mar 5 17:30:07 2015
4. 安裝Hadoop
$ brew install hadoop
Hadoop會被安裝在/usr/local/Cellar/hadoop目錄下
4.1. 配置Hadoop
配置hadoop-env.sh
在目錄/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到hadoop-env.sh文件
找到其中一行:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
修改為:
export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="
在目錄/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到core-site.xml
configuration> property> name>hadoop.tmp.dir/name> value>/usr/local/Cellar/hadoop/hdfs/tmp/value> description>A base for other temporary directories./description> /property> property> name>fs.default.name/name> value>hdfs://localhost:9000/value> /property> /configuration>
在目錄/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到mapred-site.xml, 在其中添加:
configuration> property> name>mapred.job.tracker/name> value>localhost:9010/value> /property> /configuration>
在目錄/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到hdfs-site.xml
configuration> property> name>dfs.replication/name> value>1/value> /property> /configuration>
在運行后臺程序前, 必須格式化新安裝的HDFS, 并通過創(chuàng)建存儲目錄和初始化元數(shù)據(jù)創(chuàng)新空的文件系統(tǒng), 執(zhí)行下面命令:
$ hadoop namenode -format #生成類似下面的字符串: DEPRECATED: Use of this script to execute hdfs command is deprecated. Instead use the hdfs command for it. 15/03/05 20:04:27 INFO namenode.NameNode: STARTUP_MSG: /************************************************************ STARTUP_MSG: Starting NameNode STARTUP_MSG: host = Andrew-liudeMacBook-Pro.local/192.168.1.100 STARTUP_MSG: args = [-format] STARTUP_MSG: version = 2.6.0 ... #此書省略大部分 STARTUP_MSG: java = 1.6.0_65 ************************************************************ /************************************************************ SHUTDOWN_MSG: Shutting down NameNode at Andrew-liudeMacBook-Pro.local/192.168.1.100 ************************************************************/
4.2. 啟動后臺程序
在/usr/local/Cellar/hadoop/2.6.0/sbin目錄下, 執(zhí)行如下命令
$ ./start-dfs.sh #啟動HDFS $ ./stop-dfs.sh #停止HDFS
成功啟動服務(wù)后, 可以直接在瀏覽器中輸入http://localhost:50070/訪問Hadoop頁面