Ubuntu下安装Hadoop

本人使用的是Ubuntu12.10版本,所以有些软件不用安装(Ubuntu12.10侧边栏居然还添加了亚马逊网站,略微让我感到失望),但是在这里我会告诉大家需要安装那些必要的东西。下面我们言归正传,搭建Hadoop伪分布式集群:

1.必备的的软件包或者程序:ssh、jdk、eclipse、Hadoop,如果您的Ubuntu没有SSH Server,则可以使用:

$sudo apt-get install ssh

2.安装java开发环境(由于Hadoop的大部分应用开发都是使用java的,所以一定要有java开发环境),虽然Ubuntu中自带openjdk,但是《Hadoop权威指南》不推荐使用,所以这里我们就安装jdk吧:先下载jdk,我这里下载的是jdk-6u26-linux-i586.bin,安装目录为/opt,所以要先切换一下目录到opt下:

$sudo chmod 755 jdk-6u26-linux-i586.bin     让执行文件有被执行的权限

$./jdk-6u26-linux-i586.bin             执行jdk的安装

3.虽然已经完成了jdk的安装,但是现在在命令行下执行java、javac的操作还是不行的,所以现在要配置环境变量:

$sudo gedit /etc/profile      

然后在原文档内容的最下方输入要配置的变量:

export JAVA_HOME=/opt/jdk1.6.0_14        注意:export是将变量声明为全局变量;在Linux下是严格区分大小写的,这里是配置JAVA_HOME环境变量。它指向jdk的安装目录。
export PATH=$JAVA_HOME/bin:$PATH        注意:Linux下用:来分隔路径,$PATH是用来引用原来环境变量的值,否则容易把原来的值给覆盖掉。PATH变量的作用是指定命令的搜索路径
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar   注意:.是指当前目录,不能丢;配置CLASSPATH是为了能指定类的搜索路径。

然后就可以保存该文件了,注销或者重启后输入以下命令:

$java -version

如果出现你安装的jdk版本号,说明你成功了。

4.配置SSH免密码登录:

$ssh-keygen -t dsa -P '' -f  ~/.ssh/id_dsa

这里解释一下,ssh-keygen代表生成密钥;-t表示生成的密钥类型;dsa是dsa密钥认证的意思,即密钥类型;-P(注意是大写的,我刚开始就犯了这个错误)用于提供密语;-f指定生成的密钥文件。这个命令会在.ssh文件夹下创建两个文件:id_dsa和id_dsa.pub,这是SSH的一对私钥和公钥,类似于钥匙和锁,把id_dsa.pub(公钥)追加到授权key里面去。

$cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

这里是把公钥加到用于认证的公钥文件中,这里的authorized_keys是用于认证公钥的文件。

 5.开始安装Hadoop了,这里我仍然安装到opt目录下,前提是已经把hadoop-0.20.2.tar.gz放到了opt目录下了:

$cd /opt

$sudo tar -zxvf  hadoop-0.20.2.tar.gz

$sudo mkdir hadoop_tmp

进入hadoop-0.20.2文件夹中的conf文件夹,然后修改配置文件

core-site.xml文件(这里确定HDFS位置尤为重要,这也是为什么之前要创建hadoop_tmp的原因):

在<configuration></configuration>之间添加

<property>

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

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

</property>

<property>

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

  <value>/opt/hadoop_tmp</value>

</property>

在hdfs-site.xml文件中添加:

在<configuration></configuration>之间添加

<property>

  <name>dfs.replication</name>

  <value>1</value>

</property>

在mapred-site.xml中添加:

在<configuration></configuration>之间添加

<property>

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

  <value>localhost:9001</value>

</property>

6.格式化HDFS,先切换到bin目录下(期间如果出现权限问题,这使用chmod命令更改文件权限):

$bin/Hadoop namenode -format

$bin/start-all.sh

7.打开浏览器,查看MapReduce和HDFS是否启动成功:

http://localhost:50030

http://localhost:50070

 

posted @ 2013-03-08 16:56  二手产品经理  阅读(202)  评论(0编辑  收藏  举报