您的位置:首页 > 运维架构

ubuntu下hadoop安装与伪分布式的配置

2012-07-27 13:20 441 查看
今天想装个hadoop玩玩,记录安装步骤如下。

一、先决条件

1、sun jdk6以上,下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1637583.html jdk-7u5-linux-i586.tar.gz

2、hadoop,下载地址: http://mirror.bjtu.edu.cn/apache/hadoop/common/stable/ hadoop-1.0.3.tar.gz

3、zlib,下载地址: http://www.zlib.net zlib-1.2.7.tar.gz

4、openssl,下载地址: http://www.openssl.org/source/ openssl-1.0.1c.tar.gz

5、openssh,下载地址: http://www.openssh.org/portable.html#http openssh-6.0p1.tar.gz

二、安装

1、安装jdk

1)解压安装

sudo tar zxf ./jdk-7u5-linux-i586.tar.gz  -C /usr/lib/jvm
cd /usr/lib/jvm
sudo mv jdk1.7.0/ java-7-sun

2)修改环境变量

vim ~/.bashrc

添加:

export JAVA_HOME=/usr/lib/jvm/java-7-sun
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

保存退出,输入以下命令使之立即生效。

source ~/.bashrc

3)配置默认JDK版本

由于ubuntu中可能会有默认的JDK,如openjdk,所以,为了将我们安装的JDK设置为默认JDK版本,还要进行如下工作。

执行代码

sudo update-alternatives --install /usr/bin/java java /usr/lib/jvm/java-7-sun/bin/java 300
sudo update-alternatives --install /usr/bin/javac javac /usr/lib/jvm/java-7-sun/bin/javac 300
sudo update-alternatives --install /usr/bin/jar jar /usr/lib/jvm/java-7-sun/bin/jar 300
sudo update-alternatives --install /usr/bin/javah javah /usr/lib/jvm/java-7-sun/bin/javah 300
sudo update-alternatives --install /usr/bin/javap javap /usr/lib/jvm/java-7-sun/bin/javap 300

执行代码:

sudo update-alternatives --config java

系统会列出各种JDK版本,如下所示:

有 3 个候选项可用于替换 java (提供 /usr/bin/java)。

选择       路径                                    优先级  状态
------------------------------------------------------------
* 0            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      自动模式
1            /usr/lib/jvm/java-6-openjdk/jre/bin/java   1061      手动模式
2            /usr/lib/jvm/java-6-sun/jre/bin/java       63        手动模式
3            /usr/lib/jvm/java-7-sun/bin/java           300       手动模式

要维持当前值[*]请按回车键,或者键入选择的编号:3
update-alternatives: 使用 /usr/lib/jvm/java-7-sun/bin/java 来提供 /usr/bin/java (java),于 手动模式 中。

4)测试

执行

java -version

如果输出以下信息则表明安装成功

java version "1.7.0_05"
Java(TM) SE Runtime Environment (build 1.7.05-b06)
Java HotSpot(TM) Server VM (build 23.1-b03, mixed mode)


2、安装hadoop

1)安装

tar xf hadoop-1.0.3.tar.gz
mv hadoop-1.0.3 /home/sunlylorn/hadoop

2)修改环境变量

vim ~/.bashrc


添加:
export PATH=/home/sunlylorn/hadoop/bin:$PATH


保存退出,输入以下命令使之立即生效。
source ~/.bashrc

3)修改conf/hadoop-env.sh文件

export JAVA_HOME=/usr/lib/jvm/java-7-sun

4)编辑配置文件

a)修改conf/core-site.xml:

<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://localhost:9000/</value>
</property>
</configuration>
b)修改conf/mapred-site.xml:

<configuration>
<property>
<name>mapred.job.tracker</name>
<value>localhost:9001</value>
</property>
</configuration>
c)修改conf/hdfs-site.xml:

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

5)格式化HDFS系统

hadoop namenode -format

6)启动守护进程

/home/sunlylorn/hadoop/bin/start-all.sh --config /home/sunlylorn/hadoop/conf

7)测试

执行

hadoop version


如果输出以下信息则表明安装成功

Hadoop 1.0.3
Subversion https://svn.apache.org/repos/asf/hadoop/common/branches/branch-1.0 -r 1335192
Compiled by hortonfo on Tue May  8 20:19:10 UTC 2012
From source with checksum e6b0c1e23dcf76907c5fecb4b832f3be

故障诊断:

(1) 执行 start-all.sh 启动 Hadoop 进程后,会启动5个 java 进程 namenode, datanode, secondarynamenode, jobtracker, tasktracker。

(2) 使用 web 接口。访问 http://localhost:50030 可以查看 JobTracker 的运行状态。访问 http://localhost:50060 可以查看 TaskTracker 的运行状态。访问 http://localhost:50070 可以查看 NameNode 以及整个分布式文件系统的状态,浏览分布式文件系统中的文件以及 log 等。

(3) 查看 /home/sunlylorn/hadoop/logs 目录下的 log 文件,namenode, datanode, secondary namenode, jobtracker, tasktracker 各有一个对应的 log 文件,每一次运行的计算任务也有对应用 log 文件。分析这些 log 文件有助于找到故障原因。

3、安装zlib

1)解压安装

tar -xvzf zlib-1.2.7.tar.gz
cd zlib-1.2.7.tar.gz
./configure
make
sudo make install

4、安装openssl

1)解压安装

tar xzpf openssl-1.0.1c.tar.gz
cd openssl-1.0.1c
./config –t
./config --prefix=/usr --openssldir=/etc/ssl
编辑Makefile.ssl文件更改MANDIR=$OPENSSL/man为MANDIR=/usr/man。
make
make test
sudo make install

2)测试

执行

openssl version -a
如提示以下信息,则表明安装成功

OpenSSL 1.0.1c 10 May 2012
built on: Fri Jul 27 10:31:36 CST 2012
platform: linux-elf
options:  bn(64,32) rc4(8x,mmx) des(ptr,risc1,16,long) idea(int) blowfish(idx)
compiler: gcc -DOPENSSL_THREADS -D_REENTRANT -DDSO_DLFCN -DHAVE_DLFCN_H -Wa,--noexecstack
-DL_ENDIAN -DTERMIO -O3 -fomit-frame-pointer -Wall -DOPENSSL_BN_ASM_PART_WORDS -DOPENSSL_IA32_SSE2
-DOPENSSL_BN_ASM_MONT -DOPENSSL_BN_ASM_GF2m -DSHA1_ASM -DSHA256_ASM -DSHA512_ASM -DMD5_ASM
-DRMD160_ASM -DAES_ASM -DVPAES_ASM -DWHIRLPOOL_ASM -DGHASH_ASM
OPENSSLDIR: "/etc/ssl"

5、安装openssh

1)解压安装

tar xzpf openssh-2.5.2p2.tar.gz
./configure --sysconfdir=/etc/ssh --with-tcp-wrappers --with-ipv4-default --with-ssl-dir=/usr/include/openssl
make
sudo make install

2)启动sshd服务

sudo /usr/local/sbin/sshd
报错:Privilege separation user sshd does not exist

解决:在/etc/passwd 中加入 sshd:x:74:74:Privilege-separated SSH:/var/empty/sshd:/sbin/nologin,再次make install 编译安装成功。

检查ssh服务是否启动:netstat -tnlp|grep :22

3)配置ssh无密码登陆

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 644 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

4)测试

ssh localhost
如果提示如下信息,则表明成功

Welcome to Ubuntu 11.10 (GNU/Linux 3.0.0-21-generic i686)
* Documentation:  https://help.ubuntu.com/[/code]如果还让你输入密码,则失败,需要检查是否执行了 
chmod 644 ~/.ssh/authorized_keys
chmod 700 ~/.ssh

参考文献

1、hadoop权威指南

2、Ubuntu 11.04 下安装配置 JDK 7 http://blog.csdn.net/yang_hui1986527/article/details/6677450
3、openSSH Server 手动安装和配置 http://www.cnblogs.com/zzyn/archive/2010/01/15/1648627.html
4、两个非root用户之间的免密码登录 http://blog.csdn.net/xhyzfl/article/details/6953326
5、Ubuntu手工编译安装OpenSSH Server笔记 http://www.ylmf.net/ubuntu/tips/2010123019413.html
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: