今天想装个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
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
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
由于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),于 手动模式 中。
执行
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)
tar xf hadoop-1.0.3.tar.gz mv hadoop-1.0.3 /home/sunlylorn/hadoop
vim ~/.bashrc
添加:
export PATH=/home/sunlylorn/hadoop/bin:$PATH
保存退出,输入以下命令使之立即生效。
source ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-7-sun
<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>
hadoop namenode -format
/home/sunlylorn/hadoop/bin/start-all.sh --config /home/sunlylorn/hadoop/conf
执行
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
tar -xvzf zlib-1.2.7.tar.gz cd zlib-1.2.7.tar.gz ./configure make sudo make install
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
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"
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
sudo /usr/local/sbin/sshd报错:Privilege separation user sshd does not exist
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
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