64位Ubuntu 12.04 Server系统上Hadoop2.2.0/2.3.0环境搭建及总结
第一部分 Hadoop 2.2.0构建准备工作(每台都要做)
Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2.0。官方目前是提供了linux32位系统可执行文件,所以如果需要在64位系统上部署则需要单独下载src 源码自行编译。
下载地址:http://apache.claz.org/hadoop/common/hadoop-2.2.0/
三台主机的OS:Ubuntu 12.04-64 server
相关阅读:
在三台机器上创建相同的用户
(这是Hadoop的基本要求)
创建用户的步骤如下:
(1) sudoaddgroup hadoop
(2) sudoadduser --ingroup hadoop haduser
编辑/etc/sudoers编辑文件,在root ALL=(ALL)ALL行下添加haduser ALL=(ALL)ALL。如果不添加这行,haduser将不能执行sudo操作。
在三台主机上分别设置/etc/hosts 和/etc/hostname
hosts这个文件用于定义主机名和IP地址之间的映射关系。
127.0.0.1 localhost
172.20.120.200 master
172.20.120.201 slave1
172.20.120.202 slave2
hostname这个文件用于定义Ubuntu的主机名:如:master(或者slave1等)注:可能需要重启才生效。
设置无密码登陆
安装完成后会在~目录(当前用户主目录,即这里的/home/haduser)下产生一个隐藏文件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可(mkdir .ssh)。
接着在master上生成密钥并配置SSH无密码登录
具体步骤如下:(简化成master无秘钥访问slave,每台机器都做最好)
1、进入.ssh文件夹
2、 ssh-keygen -t rsa之后一路回车(产生秘钥)
3、把id_rsa.pub追加到授权的 key 里面去(catid_rsa.pub >> authorized_keys)
4、重启 SSH服务命令使其生效
将生成的authorized_keys文件拷贝到两台slave主机相同的文件夹下,命令如下:
scp authorized_keysslave1:~/.ssh/
scp authorized_keysslave2:~/.ssh/
此时已经可以进行ssh的无密码登陆,查看是否可以从master主机无密码登录slave,输入命令:
$:ssh slave1
$:ssh slave2
安装jdk
(这里以.tar.gz版本,64位系统为例),下载地址:http://www.Oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
选择要安装java的位置,如/usr/目录下,新建文件夹java(mkdirjava)
将文件jdk-8-linux-x64.tar.gz移动到/usr/java
解压:tar -zxvfjdk-8-linux-x64.tar.gz
至此,jkd安装准备完毕,下面配置环境变量
4.3、打开/etc/profile(vim /etc/profile)
在最后面添加如下内容:
exportJAVA_HOME=/usr/java/jdk1.8.0/
exportJRE_HOME=/usr/java/jdk1.8.0/
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
exportCLASSPATH=$CLASSPATH:.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
exportJAVA_BIN=/usr/java/jdk1.8.0/bin
执行source/etc/profile
验证是否安装成功:java -version
java version"1.8.0"
Java(TM) SERuntime Environment (build 1.8.0-b132)
JavaHotSpot(TM) 64-Bit Server VM (build 25.0-b70, mixed mode)
注:每台机器执行相同操作,最好将java安装在相同路径下(不是必须的,但这样会使后面的配置方便很多)
ufw disable (重启生效)
至此,准备工作完毕!
第二部分 集群环境搭建
1、这里我们搭建一个由三台机器组成的集群:
172.20.120.200 haduser/passwd master namenode/ secondarynamenode/resourcemanger
172.120.120.201 haduser/passwd slave1 datanode/nodemanage
172.128.120.202 haduser/passwd slave2 datanode/nodemanage
上面各列分别为IP、user/passwd、hostname和在cluster中充当的角色
进入hadoop-2.2.0安装:
以下操作以haduser登录进行操作。
由于hadoop集群中每个机器上面的配置基本相同,所以我们先在namenode上面进行配置部署,然后再复制到其他节点。所以这里的安装过程相当于在每台机器上面都要执行。但需要注意的是集群中64位系统和32位系统的问题。
1、解压文件
将第一部分中下载的hadoop-2.2.0_64.tar.gz解压到/home/haduser/Hadoop/路径下。然后,将其存放于其他地方进行备份。注意:每台机器的安装路径要相同!!
2、 hadoop配置过程
这里要涉及到的配置文件有7个:
~/hadoop-2.2.0/etc/hadoop/hadoop-env.sh
~/hadoop-2.2.0/etc/hadoop/yarn-env.sh
~/hadoop-2.2.0/etc/hadoop/slaves
~/hadoop-2.2.0/etc/hadoop/core-site.xml
~/hadoop-2.2.0/etc/hadoop/hdfs-site.xml
~/hadoop-2.2.0/etc/hadoop/mapred-site.xml
~/hadoop-2.2.0/etc/hadoop/yarn-site.xml
以上个别文件默认不存在的,可以复制相应的template文件获得。
配置文件1:hadoop-env.sh
修改JAVA_HOME值export JAVA_HOME=/usr/java/jdk1.8.0
配置文件2:yarn-env.sh
修改JAVA_HOME值exportJAVA_HOME=/usr/java/jdk1.8.0
配置文件3:slaves(这个文件里面保存所有slave节点)
写入以下内容:
slave1
slave2