首页 > 代码库 > ubuntu 下的 hadoop 安装

ubuntu 下的 hadoop 安装

这两天一直在安装hadoop 道路比较曲折,记录一下

在redhat下安装完成以后一直无法启动datanode,原因是jdk 的版本一直有问题,换了一个jdk后问题依旧,自己推测是redhat版本太低的原因,于是只好舍弃,换ubuntu


ubantu版本是13.04.比较稳定。


安装前首先准备好材料。

vmare 虚拟机 ,准备好jdk  和hadoop


因为是虚拟机安装所以放到vmvare 共享文件夹下面。

=====================================================================================================

在安装这些之前要先安装ssh 我在开始装的时候没有发现ubantu没有装ssh 的服务器端只有客户端。然后直接apt-get 发现又不能直接下,所以每次启动hadoop后只有namenode的进程,datanode进程报错链接被拒绝,后来换了很多个数据源包括国内国外都有,都是在更新数据源(sudo apt-get update),失败。不知什么原因找了好久也没有解决方案(有知道的大牛可以告诉我),最后没有办法只能自己手动安装ssh了。

安装ssh 准备好材料:


1 安装zlib

解压zlib 进入目录

编译安装(1 ./configure 2 make 3 make install)

2 安装openssl 

 步骤同上(./configure 改为./config)

3 安装openssh

同1

4 getdit /etc/passwd

加入下面一行

 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin 

5  启动ssh。ssh默认安装在/usr/local/sbin/目录下,使用 /usr/local/sbin/sshd 启动ssh服务,该服务默认侦听22端口。

检查ssh服务是否启动监听端口是否为22:netstat -tnlp|grep :22

==============================================================================

以上为安装ssh

下面进入安装HADOOP正题:

1 安装java 

jdk 解压到/usr/java/jdk

cd 到指定目录

/mnt/hgfs/Ubantu/jdk-6u24-linux-i586.bin

解压Hadoop安装包 

hadoop 解压到/usr

cd 到指定目录

tar -zxvf /mnt/hgfs/Ubantu/hadoop-1.2.1.tar

3 配置环境变量

vi /etc/profile

加入以下

export JAVA_HOME=/usr/java/jdk1.6.0_24
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/usr/hadoop-1.2.1
CLASSPATH=.:$HADOOP_HOME/bin:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export CLASSPATH

4编辑conf/hadoop-env.sh

加入 export JAVA_HOME=/usr/java/jdk1.6.0_24

5伪分布式模式下Hadoop的配置如下(共有三个文件要配置 位置在/conf下  )

(1)core-site.xml

<configuration>
    <property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop-1.2.1/tmp</value>
    </property>
    <property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000</value>
    </property>
</configuration>

(2)hdfs-site.xml

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

(3)mapred-site.xml

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

6 免密码SSH设置

生成密钥对 ssh-keygen -t rsa

进入.ssh目录 执行 sp id_ras.pub authorized_keys

执行ssh localhost 发现可以实现SSH链接不需要密码

7 创建tmp文件每次进行第八步都会生成一个tmp文件(注意每次重新格式化的时候要删除tmp 因为其中tmp存有上次的namenode的namespaceID,但每次重新format 会生成新的namenode namespaceID造成版本不一致,从而下次执行9时,会造成namenode进程起不来)

步骤5中core-site.xml中已经将tmp文件指向配置。

8 格式化分布式文件系统

bin/hadoop namenode -format


9 启动Hadoop守护进程

bin/start-all.sh


jps命令可以发现有除了jps以外五个线程


10 停止Hadoop守护进程

bin/stop-all.sh


ubuntu 下的 hadoop 安装