3.安装Hadoop
在安装Hadoop之前,先创建一个名为hadoop的group。在Terminal中输入以下代码:
sudo addgroup hadoop
sudo adduser --ingroup hadoop hduser
本文将Hadoop安装到/usr/local/hadoop目录下。将Hadoop安装包移动到该目录后解压出来,并修改文件夹的所有者。注意,这一步很重要,如果文件夹的所有者搞错了,将导致后续无法正常启动Hadoop。
sudo cp /home/hduser/Downloads/hadoop-1.2.1.tar.gz /usr/local/hadoop
cd /usr/local/hadoop
sudo tar xzf hadoop-1.2.1.tar.gz
sudo chown -R hduser:hadoop hadoop-1.2.1
sudo gedit $HOME/.bashrc
将下面的代码添加到$HOME/.bashrc文件的末尾。
# Set Hadoop-related environment variables
export HADOOP_HOME=/usr/local/hadoop/hadoop-1.2.1
# Set JAVA_HOME (we will also configure JAVA_HOME directly for Hadoop later on)
export JAVA_HOME=/usr/lib/jdk1.7.0_40
# Some convenient aliases and functions for running Hadoop-related commands
unalias fs &> /dev/null
alias fs="hadoop fs"
unalias hls &> /dev/null
alias hls="fs -ls"
# If you have LZO compression enabled in your Hadoop cluster and
# compress job outputs with LZOP (not covered in this tutorial):
# Conveniently inspect an LZOP compressed file from the command
# line; run via:
#
# $ lzohead /hdfs/path/to/lzop/compressed/file.lzo
#
# Requires installed 'lzop' command.
#
lzohead () {
}
# Add Hadoop bin/ directory to PATH
export PATH=$PATH:$HADOOP_HOME/bin
对于所有使用Hadoop的机器都必须配置上述代码。此外,还需要配置hadoop-env.sh,con/*-site.xml等文件。打开conf/hadoop-env.sh,然后将
# The java implementation
to use.
# export JAVA_HOME=/usr/lib/j2sdk1.5-sun
修改为
# The java implementation
to use.
export JAVA_HOME=/usr/lib/jdk1.7.0_40
Hadoop默认使用hadoop.tmp.dir来存放临时文件。建议自己建立一个目录来存放临时文件。
$ sudo mkdir -p /app/hadoop/tmp
$ sudo chown hduser:hadoop /app/hadoop/tmp
$ sudo chmod 750 /app/hadoop/tmp
如果想获得更高的安全性,请为目录设置750的权限。如果忘记了设置所有者以及权限,可能在格式化名称节点时遇到java.io.IOException错误。对于conf/core-site.xml,conf/mapred-site.xml,conf/hdfs-site.xml配置非常简单,只要在
conf/core-site.xml:
conf/mapred-site.xml:
con/hdfs-site.xml:
4.启动Hadoop
终于来到激动人心的一步了。在首次启动Hadoop之前,我们需要对HDFS进行格式化。
/usr/local/hadoop/hadoop-1.2.1/bin/hadoop namenode -format
格式化完毕后将返回以下结果:
现在,让我们启动Hadoop吧!
/usr/local/hadoop/hadoop-1.2.1/bin/start-all.sh
如果一切顺利将返回以下结果:
通过jps指令可以查看Hadoop的状态:
/usr/local/hadoop/hadoop-1.2.1/bin/stop-all.sh
5.安装与配置Eclipse
Eclipse的安装非常简单,将下载好的压缩包用tar命令解压出来就可以使用Eclipse,这里不再赘述。为了能够在Eclipse中查看HDFS和开发MapReduce程序,需要先安装一个插件hadoop-eclipse-plugin-1.2.1.jar。插件的安装方法也很简单,将jar包放到eclipse/plugin目录下即可。现在,让我们启动Eclipse看看吧。
点击Window菜单下的Preference后弹出一个对话框。在对话框的左侧点击Hadoop Map/Reduce选项,输入Hadoop的安装目录,本文的Hadoop安装目录是/usr/local/hadoop/hadoop-1.2.1。注意,在下方Console控制台选项卡的左侧,多了一个Map/Reduce Locations选项卡。在该选项卡的空白处右击,点击New Hadoop location。在弹出的对话框中,填入Map/Reduce master以及DFS master的host和port。这两个端口号在安装Hadoop时已经进行了配置,分别在hadoop-1.2.1/conf目录下的mapred-site.xml和core-site.xml两个文件中,注意别填反了。然后,点击Advanced parameters,从中找到hadoop.tmp.dir,填入临时目录,本文选择/app/hadoop/tmp,这个属性之前已经在core-site.xml进行了配置。再从Advanced parameters中找到fs.default.name,填入Hadoop集群的地址,本文的Hadoop集群地址是hdfs://localhost:54310,这个属性之前也已经在“core-site.xml”进行了配置。点击完成之后,就配置好了Eclipse。现在,可以立刻在Eclipse中新建一个Map/Reduce Project,尝试写一些简单的MapReduce程序。
至此,搭建开发环境的所有工作都已经完成。
Hope you enjoy it!
6.参考资料
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/21589589/viewspace-1119350/ ,如需转载,请注明出处,否则将追究法律责任。