My Octopress Blog

life and I

Install Hadoop on Ubuntu

| Comments

概述

Hadoop 由 Apache Software Foundation 公司于 2005 年秋天作为 Lucene 的子项目 Nutch 的一部分正式引入。它受到最先由 Google Lab 开发的 MapReduce 和 Google File System 的启发。2006 年 3 月份,MapReduce 和 Nutch Distributed File System (NDFS) 分别被纳入称为 Hadoop 的项目中。 Hadoop 是最受欢迎的在 Internet 上对搜索关键字进行内容分类的工具,但它也可以解决许多要求极大伸缩性的问题

安装

软件

软件版本分别为

  • java: jdk-7u9-linux-x64
  • hadooop: hadoop-1.1.1.tar.gz
  • eclipse: eclipse-java-juno-SR1-linux-gtk-x86_64

步骤

JAVA

解压jdk-7u9-linux-x64.tar.gz/usr/lib/jvm

运行

1
2
3
4
5
6
7
sudo update-alternatives --install "/usr/bin/java" "java" "/usr/lib/jvm/jdk1.7.0/bin/java" 1
sudo update-alternatives --install "/usr/bin/javac" "javac" "/usr/lib/jvm/jdk1.7.0/bin/javac" 1
sudo update-alternatives --install "/usr/bin/javaws" "javaws" "/usr/lib/jvm/jdk1.7.0/bin/javaws" 1

sudo update-alternatives --config java
sudo update-alternatives --config javac
sudo update-alternatives --config javaws

选择对应的版本

类似配置javac, javaws

完成后判断java以及javac版本

1
2
java -version
javac -version

/etc/profile中添加

1
2
3
4
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_09/
export JRE_HOME=$JAVA_HOME/jre
export CLASSPATH=.:$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

完成后需要重启

Hadoop

创建用户组以及用户hadoop

1
2
sudo addgroup hadoop
sudo adduser --ingroup hadoop hadoop

将hadoop用户组添加进sudoer中,在/etc/sudoers中添加如下内容

1
%hadoop ALL=(ALL) ALL

修改不用密码执行sudo

1
sudo visudo

修改下面的项

1
%sudo    ALL=NOPASSWD: ALL

重启后以hadoop用户登录

配置ssh

安装opensssh-server

1
sudo apt-get install openssh-server

配置密码

1
2
ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

测试

1
ssh localhost

可以不用密码登录

禁用ipv6 可能出现问题:在ubuntu上使用IPV6会有一个问题,就是不同的网络环境配置hadoop会导致hadoop与IPV6地址绑定

/etc/sysctl.conf中添加

1
2
3
4
#disable ipv6
net.ipv6.conf.all.disable_ipv6 = 1
net.ipv6.conf.default.disable_ipv6 = 1
net.ipv6.conf.lo.disable_ipv6 = 1

完成后重启

测试是否有效

1
cat /proc/sys/net/ipv6/conf/all/disable_ipv6

0表示没有成功,1表示设置成功

配置hadoop

以single node为例,hadoop版本为1.1.1

解压到某个文件夹内,比如/opt 在~/.bashrc中添加

1
2
export HADOOP_INSTALL=/opt
export PATH=$PATH:$HADOOP_INSTALL/bin

设置conf/hadoop-env.sh,添加

1
export JAVA_HOME=/usr/lib/jvm/jdk1.7.0_09/

根据不同的启动方式配置相关文件,一共有三种启动方式:本地模式,伪分布式,完全分布式

格式化hdfs

1
hadoop namenode -format

查看日志

Eclipse

参考

  1. How do I install Oracle Java JDK 7?

Comments