关键词:Ubuntu;hadoop;
注意:开始这一步之前,需安装Oracle的jdk,参见:
http://www.cnblogs.com/fengfengqingqingyangyang/archive/2012/11/06/2756981.html
1、下载hadoop的合适版本:http://labs.mop.com/apache-mirror/hadoop/common/
我下载的是hadoop-1.1.0.tar.gz
2、在/usr下创建hadoop目录,并将gz文件复制到hadoop目录下;
命令行下解压gz文件:tar -xzf hadoop-1.1.0.tar.gz
为方便管理,修改目录名:mv hadoop-1.1.0 hadoop
3、创建名为hadoop的用户组和用户
addgroup hadoop #用户组
adduser --ingroup hadoop hadoop
ps:创建用户时只需输入密码即可,其他回车选择默认
4、gedit打开sudoers文件,修改hadoop的权限:
gedit /etc/sudoers
ps:无法打开sudoers时,请切换至root再执行本条及以下语句。
在root ALL=(ALL)ALL语句之下添加如下一行后保存sudoers:
hadoop ALL=(ALL)ALL
PS:特别注意大小写!!!血和泪的教训告诉你linux中大小写的重要性!!!
5、创建ssh-key:
5.1、确保网络通畅,然后装载ssh服务
apt-get install openssh-server
注:如果此语句执行失败且结果为“....包被占用”的话,那么应该是ubuntu的“更新管理器”正在后台更新,关闭更新。
5.2、生成密钥
ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa #其中‘’为两个而分号!
5.3、设置免密钥登陆
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
5.3、进入.ssh目录,执行$ssh localhost
cd /home
ssh localhost
注1: ssh密钥默认保存在/home/hadoop/.ssh里面,.ssh文件是隐藏文件,需要Ctrl+h才能见到。
注2:如果执行ssh localhost后,遇到这样的错误:
hadoop@ubuntu:~$ ssh localhost
ssh: connect to host localhost port 22: Connection refused
方法是:再安装一遍SSH
apt-get install openssh-server
6、配置hadoop
6.1、进入到hadoop目录下,配置conf目录下的hadoop-env.sh中的JAVA_HOME
$ cd /usr/hadoop/hadoop #根据你解压hadoop的位置而定
$ sudo gedit conf/hadoop-env.sh
(打开后在文档的上部某行有“#export JAVA_HOME=......”字样的地方,去掉“#”,然后在等号后面填写你的jdk路径,完全按此文档来的话应改为 " export JAVA_HOME=/usr/java/jdk1.6.0_34" )
6.2、配置conf目录下的core-site.xml
$ sudo gedit conf/core-site.xml
打开后标签
Xml代码
6.3、配置conf目录下的mapred-site.xml
$ sudo gedit conf/mapred-site.xml
打开后标签
Xml代码
7、首次进入需格式化namenode:
7.1、先进入hadoop目录
$ cd /usr/hadoop/hadoop #与解压的hadoop包路径有关
7.2、格式化namenode
$ hadoop namenode -format
PS:如果hadoop没响应,切换到root模式查看/etc/profile文件中在配置jdk路径时的"export PATH=......."中是否有hadoop的路径,如果没有加上则添加,并重新启动即可:
hadoop如果仍旧不能用的话,不妨用带路径的命令方式:~/usr/hadoop/hadoop/bin/hadoop
PS:记得用echo $?查看是否执行成功:返回0说明成功;返回其他说明仍有错误!
8、启动hadoop进程:
bin/start-all.sh
PS:如果NameNode没有成功启动的话就要先执行"bin/stop-all.sh"停掉所有东西,然后重新格式化namenode
9、用jps查看打开的进程:
至此,单机的hadoop安装完毕!