linux下安装hadoop

关键词: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 

打开后标签<configuration> </configuration>中是空的,所以在空的地方加入如下配置:

Xml代码

<property>

       <name>fs.default.name</name>

       <value>hdfs://localhost:9000</value> 

</property>

 

 <property>

       <name>dfs.replication</name>

       <value>1</value> 

</property>

 

<property> 

       <name>hadoop.tmp.dir</name>

       <value>/usr/hadoop/hadoop/tmp</value>  <!--这里为安装路径,并且要事先mkdir个temp目录--> 

</property>

  

6.3、配置conf目录下的mapred-site.xml 

    $ sudo gedit conf/mapred-site.xml 

打开后标签<configuration> </configuration>中也是空的,添加如下配置: 

Xml代码

<property>    

      <name>mapred.job.tracker</name>    

      <value>localhost:9001</value>  

 </property>  

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安装完毕!

posted @ 2012-11-06 17:06  风风清清扬扬  阅读(362)  评论(0编辑  收藏  举报