参照Apache的官方文档,Hadoop2还是蛮好搭建的,但是搭建好后,MapReduce的JobHistory页面却没法进去,这是因为JobHistory没有配置正确或者服务没有启动起来。本文将梳理伪分布模式的搭建过程,并给出配置文档,让你不再为搭建这些过程烦恼。
sudo apt-get autoremove openjdk*
从Oracle官网上下载jdk1.6及以上版本(1.6和1.7的可用,1.8的没测试过),并进行相应的配置
#安装ssh
$sudo apt-get install openssh-server
$sudo apt-get install openssh-client
#配置
$ssh-keygen #然后一直按回车键即可
$cd .ssh
$cp id_rsa.pub authorized_keys
$ssh localhost #此时不需要输入密码,证明配置成功
我的安装路径为/usr/local/hadoop-2/hadoop2,数据的存放路径为/usr/local/hadoop-2
下面的过程是将hadoop安装包存放在/usr/local/hadoop-2/hadoop2
$cd /usr/local
$sudo mkdir hadoop-2
$sudo chown yang:yang hadoop-2/ #将hadoop-2的所属用户和用户组均改成yang,你在配置的时候,将yang可以改成你的用户名即可
$cd hadoop-2
$cp ~/下载/hadoop-2.4.0.tar.gz ./
$tar -zxvf hadoop-2.4.0.tar.gz
$mv hadoop-2.4.0/ hadoop2
可以参考我的配置文件进行配置https://github.com/yanghaogn/Hadoop/tree/master/Hadoop2/ConfPseudoDistributedMode,将该git工程下下来后,用Beyond Compare比较本地的配置和我的配置文件差别即可进行配置,配置中的yang为我的计算机名,你改成你的电脑名或者localhost即可。etc/hadoop下的配置项主要为:mapred-site.xml、core-site.xml、hdfs-site.xml、yarn-site.xml、hadoop-env.sh、yarn-site.xml,sbin/下的配置项主要是start-all.sh和stop-all.sh,在其中加入jobhistory的启动和关闭脚本
为了方便使用,在~/.bashrc中添加下面的内容,这样在运行hadoop相关命令的时候,就不用进入Hadoop目录而可以直接使用hadoop命令了
export PATH=$PATH:/usr/local/hadoop-2/hadoop2/bin:/usr/local/hadoop-2/hadoop2/sbin
$hadoop namenode -format #首次启动的时候需要
$sbin/start-all.sh
#计算pi
$hadoop jar /usr/local/hadoop-2/hadoop2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.0.jar pi 2 10
在浏览器上打开http://yang:8088即可看到刚刚运行的计算pi的MapReduce作业,此处yang为我的电脑名,改成你的电脑名即可