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

今天想装个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/
如果还让你输入密码,则失败,需要检查是否执行了
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


你可能感兴趣的:(java,jdk,hadoop,ubuntu,subversion,documentation)