备忘贴:Ubuntu下Hadoop单结点部署

来源:互联网 发布:2011年火过的网络歌曲 编辑:程序博客网 时间:2024/06/18 18:54

Ubuntu下Hadoop单结点部署

1.准备

[1] 操作系统:Ubuntu 10.10

[2] Java开发环境:JDK 6.0以上,这里选择Java SE 6 Update 29,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk-6u29-download-513648.html

[3] Hadoop安装包:建议下载Release版,这里选择Hadoop 0.20.203.0。更多Release版下载地址:http://hadoop.apache.org/common/releases.html

2.安装JDK并配置Java环境

2.1 安装JDK

新建目录/usr/java,将下载的JDK安装文件jdk-6u29-linux-i586.bin拷贝到/usr/java/下,执行命令:

 sudo chmod +x jdk-6u29-linux-i586.bin  //设置权限

为其添加可运行权限;再执行命令:

 sudo ./jdk-6u29-linux-i586.bin  //执行安装

安装JDK到当前目录下。

2.2 配置环境变量

执行命令:

sudo gedit /etc/profile

用文本编辑工具打开profile文件,在最后面加入如下内容:

 #set javaenvironment 

export JAVA_HOME=/usr/java/jdk1.6.0_29

export PATH=$JAVA_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$CLASSPATH

保存后退出。

2.3 验证安装结果

注销之后重新登录(必须,否则可能显示的是空行),使用以下命令检查环境变量设置情况:

#echo $JAVA_HOME

#echo $CLASSPATH

#echo $PATH

再执行命令:

java -version

检查JDK是否安装成功,如果显示JDK版本信息,则安装和配置成功。

3.添加单独用户和用户组

 本步骤非必须,但建议这样做,以使逻辑更清晰。

3.1 创建用户组

执行如下命令创建Hadoop用户组:

sudo addgroup Hadoop

3.2 创建用户

执行如下命令创建hadoop用户,并添加到Hadoop用户组中:

sudo adduser --ingroup Hadoop hadoop

但需要注意的是:新创建的用户hadoop默认不具备管理员权限,不能执行sudo命令。

4.安装和配置SSH

Hadoop使用SSH(Secure Shell)在各节点间进行通信,并且一般要求能够无密码访问。

4.1 安装SSH

执行如下命令安装openssh-server:

sudo apt-get install openssh-server

4.2 配置SSH

首先将当前用户切换为新创建的hadoop用户:

su - hadoop

执行如下命令生成公私密钥对(私钥文件id_dsa,公钥文件id_dsa.pub,位于~/.ssh文件夹下):

ssh-keygen -trsa -P ""

执行如下命令使得hadoop用户能够无需输入密码通过SSH访问localhost:

cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

4.3 验证登录

执行如下命令:

ssh localhost

如果没有提示输入密码直接登录成功则表明安装和配置成功。首次执行该命令时可能会出现“The authenticityof host 'localhost (::1)' can't be established.”的信息并询问是否继续连接,以后就不会出现了。

5.安装和配置Hadoop

5.1 安装Hadoop

将下载的安装包hadoop-0.20.203.0rc1.tar.gz解压缩到当前目录:

sudo tar -zxfhadoop-0.20.203.0rc1.tar.gz

然后将解压得到的hadoop文件夹移至/usr/hadoop目录下:

sudo mv hadoop /usr/hadoop

最后,将/usr/hadoop目录的所有者改为hadoop(如果没有这一步的话,运行hadoop时可能会出现没有权限访问的错误):

sudo chown -R hadoop:Hadoop /usr/hadoop

5.2 配置Hadoop

Hadoop的配置文件都放在{hadoop安装目录}/conf这个文件夹下面,主要有四个配置文件,分别是core-site.xml,hadoop-env.sh,hdsf-site.xml和mapred-site.xml。因此,接下来我们需要配置这四个文件:

这个是hadoop环境变量设置文件,可以自定义许多hadoop参数,但必须要设定的参数只有JAVA_HOME。在文件中找到下面这一行:

  # export JAVA_HOME=/usr/lib/j2sdk1.5-sun

将其修改为:

export JAVA_HOME=/usr/java/jdk1.6.0_29

注意export前面的#一定要删掉。

将此文件中的内容修改为:

<configuration>
   <property>
     <name>fs.default.name</name>
      <value>hdfs://localhost:9000</value>
     </property>
 </configuration>

其中红色的部分是需要添加进去的。

将此文件中的内容修改为:

<configuration>
 <property>
  <name>dfs.replication</name>
   <value>1</value>
    </property>
</configuration>

其中红色的部分是需要添加进去的。

将此文件中的内容修改为:

<configuration>
   <property>
    <name>mapred.job.tracker</name>
     <value>localhost:9001</value>
     </property>
 </configuration>

其中红色的部分是需要添加进去的。

6.运行Hadoop

Hadoop的运行脚本主要位于{hadoop安装目录}/bin目录下,以下部分均需将当前用户切换为hadoop之后执行。

6.1 格式化HDFS

执行以下命令格式化HDFS(假设当前目录为{hadoop安装目录}/bin):

     ./hadoop namenode -format

将会出现如下提示:


6.2 启动集群

执行以下命令启动集群:

                              ./start-all.sh

将会出现如下提示:


6.3 检查运行情况

可使用Java的jps命令查看JVM进程:

                              jps

如果Hadoop启动成功,则可看到如下进程:

3198 NameNode
3477 SecondaryNameNode
3725 Jps
3682 TaskTracker
3331 DataNode
3548 JobTracker

另外,还可以通过Web的方式查看Hadoop运行情况:

http://localhost:50030/- NameNode
http://localhost:50070/ -JobTracker