如何在MacOSX上安装hadoop
- 其中一篇文章地址为how-to-install-hadoop-on-mac-os-x
- 另外一篇文章的地址为how-to-setup-hadoop-on-mac-os-x-10-9-mavericks,
本文综合以上两篇文章,经过自己测试成功,于是写上这篇,以记录并希望可以帮助到其它人。
简介
Hadoop是Apache基金会下的项目,它能够处理非常大的数据集在分布式计算环境,它可以运行在三种模式下:
-
独立式
Hadoop运行所有的东西在无后台的单独的JVM中,这种模式适合在开发阶段测试与Debug MapReduce程序
-
伪分布式
Hadoop做为后台应用运行在本地机器,模拟小集群
-
全分布式
Hadoop做为后台应用运行真实的集群电脑中
准备条件
-
Java
1.6. + ———-
Hadoop 需要 Java 版本在1.6.或以上, 运行
java -version
在你的终端中,它会显示你电脑上安装的Java版本:
➜ Downloads java -version java version "1.7.0_45" Java(TM) SE Runtime Environment (build 1.7.0_45-b18) Java HotSpot(TM) 64-Bit Server VM (build 24.45-b08, mixed mode)
-
SSH keys
首先确保远程登录(Remote Login)
是打开的,在系统配置(System Preferences)->分享(Sharing)
中可以设置,如果在终端中输入ssh localhost
有返回,则你已经配置好了SSH keys,如果没有,可新建:ssh-keygen -t rsa -P ""
为了避免每次询问你的密码,可以授权你的公钥到本地:
cat $HOME/.ssh/id_rsa.pub >> $HOME/.ssh/authorized_keys
现在应该可以使用SSH在你的电脑上了,执行:
ssh localhost
步骤1 安装homebrew,如果已经安装,跳到第二步
ruby -e "$(curl -fsSL https://raw.github.com/mxcl/homebrew/go)"
步骤2 使用brew 进行安装hadoop, 假定我们安装的是hadoop 2.5.1
brew install hadoop
步骤3 配置hadoop
cd /usr/local/Cellar/hadoop/2.5.1/libexec/etc/hadoop
添加下面的行到
hadoop-env.sh
:
export HADOOP_OPTS="-Djava.security.krb5.realm=OX.AC.UK -Djava.security.krb5.kdc=kdc0.ox.ac.uk:kdc1.ox.ac.uk"
添加下面的行到core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/tmp/hadoop-${user.name}</value>
<description>A base for other temporary directories.</description>
</property>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
添加下面的行到hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
添加下面的行到mapred-site.xml
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
绝大部分已经准备好了
我们必须格式化新安装的HDFS在我们启动运行后台程序前,格式并创新空的文件系统通过创建存储目录和初始化元数据。执行:
hadoop namenode -format
启动后台程序
确保你已经可以SSH到你的本机,通过start-dfs.sh
启动HDFS,start-all.sh
启动MapReduce
监视
我们可以监视HDFS,MapReduce
HDFS Administrator :
http://localhost:50070(在此次执行中可以)
MapReduce Administrator :
http://localhost:50030(访问不了,以后找到原因再补上)