本博客采用创作共用版权协议, 要求署名、非商业用途和保持一致. 转载本博客文章必须也遵循署名-非商业用途-保持一致的创作共用协议.
#1. 安装Homebrew和Cask
打开Mac终端, 安装OS X 不可或缺的套件管理器homebrew和homebrew cask
1 2 3
| $ ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)" $ brew install caskroom/cask/brew-cask
|
#2. 安装Java
Hadoop是由Java编写, 所以需要预先安装Java 6或者更高的版本
1 2
| $ brew update && brew upgrade brew-cask && brew cleanup && brew cask cleanup $ brew cask install java
|
测试是否安装成功
#3. 配置SSH
为了确保在远程管理Hadoop以及Hadoop节点用户共享时的安全性, Hadoop需要配置使用SSH协议
首先在系统偏好设置->共享->打开远程登录服务->右侧选择允许所有用户访问
生成密钥对,执行如下命令
执行这个命令后, 会在当前用户目录中的.ssh文件夹中生成id_rsa文件, 执行如下命令:
1
| $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
|
使用下面命令测试是否能够不使用密码登录
1 2
| $ ssh localhost # Last login: Thu Mar 5 17:30:07 2015
|
#4. 安装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文件
找到其中一行:
1
| export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true"
|
修改为:
1 2
| export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc=" export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_20.jdk/Contents/Home" #改为自己JDK目录
|
在目录/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到core-site.xml
1 2 3 4 5 6 7 8 9 10 11 12
| <!-- Put site-specific property overrides in this file. --> <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:8020</value> </property> </configuration>
|
在目录/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到mapred-site.xml, 在其中添加:
1 2 3 4 5 6
| <configuration> <property> <name>mapred.job.tracker</name> <value>localhost:8021</value> </property> </configuration>
|
在目录/usr/local/Cellar/hadoop/2.6.0/libexec/etc/hadoop下找到hdfs-site.xml
1 2 3 4 5 6
| <configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
|
在运行后台程序前, 必须格式化新安装的HDFS, 并通过创建存储目录和初始化元数据创新空的文件系统, 执行下面命令:
1 2 3 4 5 6 7 8 9 10 11 12 13 14
| $ hdfs namenode -format #生成类似下面的字符串: ... #此书省略大部分 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目录下, 执行如下命令
1 2
| $ start-dfs.sh #启动HDFS $ stop-dfs.sh #停止HDFS
|
成功启动服务后, 可以直接在浏览器中输入http://localhost:50070/访问Hadoop页面
Resource Manager: http://localhost:50070
JobTracker: http://localhost:8088
Specific Node Information: http://localhost:8042
#5. 参考链接
INSTALLING HADOOP ON MAC OSX YOSEMITE TUTORIAL PART 1.
如何在MacOSX上安装Hadoop(how to install hadoop on mac os x)