首页 > 代码库 > Hadoop 2.2 配置安装

Hadoop 2.2 配置安装

环境:centos 5.5, Hadoop 2.2



第一步: 安装JDK7 

1.1 下载jdk7 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html, 我用的jdk1.7.0_51

1.2 下载完成后解压到某个目录,这里举例解压在/home/software/下。

1.3 正常情况下,centos已经带了某个版本的jdk,但是可能不是jdk7. 这样的话,就需要用jdk7替换当前版本的. 最简单的方法,删除/usr/bin/java,

然后创建一个软连接到/home/software/jdk1.7.0_51/bin/java, 命令如下

rm -f /usr/bin/java

ln /usr/bin/java  /home/software/jdk1.7.0_51/bin/java

1.4 检查java的版本是否是最新版本 java -version

1.5 把jdk和jre 放到path中去。命令如下

在/etc/profile的最前面加上如下语句(需要sudo权限)

export JAVA_HOME=/home/software/jdk1.7.0_51

export JRE_HOME=/home/software/jdk1.7.0_51/jre

export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

修改完成之后,保存。

执行如下语句 source /etc/profile (目的是刷新环境变量)

1.6 检查java 版本是否是你安装的版本


第二步:配置hadoop用户

2.1 添加hadoop用户,命令如下

useradd hadoop

2.2 给新加的hadoop用户设置密码

passwd hadoop 

2.3 让hadoop具有sudo权限(需要sudo权限)

编辑/etc/sudoers 找到##Allow root to run any commands anywhere,在这句话下面添加

hadoop ALL=(ALL) ALL

保存退出


第三步:配置ssh免密码登陆(注意:以下步骤都是用hadoop用户操作)

3.1 生成秘钥,并把秘钥添加到authorized_keys 中

# su - hadoop
$ ssh-keygen -t rsa
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
$ chmod 0600 ~/.ssh/authorized_keys
$ exit

3.2 修改/etc/ssh/sshd_config文件,允许无密码登陆

修改如下


3.3 验证是否可以登陆

ssh localhost

3.4 如果你需要配置slave机器,一定要把你的id_rsa.pub 中的内容添加到其他slave机器中的 ~/.ssh/authorized_keys 中。并确保修改了3.2中配置文件


第四步:配置hadoop(注意版本是2.2.0)

4.1 下载hadoop http://www.webhostingjams.com/mirror/apache/hadoop/common/hadoop-2.2.0/

4.2 解压到某个目录,本文在这里解压到/opt/目录下,命令如下

tar -zxvf hadoop-2.2.0.tar.gz

4.3 修改环境变量,把如下命令拷贝到/etc/profile的最前面

export HADOOP_HOME=/opt/hadoop

export HADOOP_MAPRED_HOME=$HADOOP_HOME 

export HADOOP_COMMON_HOME=$HADOOP_HOME 

export HADOOP_HDFS_HOME=$HADOOP_HOME 

export YARN_HOME=$HADOOP_HOME 

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 

export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

4.4 把如下命令添加到/opt/hadoop/libexec/hadoop-config.sh中

export JAVA_HOME=/home/software/jdk1.7.0_51

4.5 把如下命令添加到/opt/hadoop/etc/hadoop/yarn-env.sh 中

export JAVA_HOME=/home/software/jdk1.7.0_51
export HADOOP_HOME=/opt/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME 
export HADOOP_COMMON_HOME=$HADOOP_HOME 
export HADOOP_HDFS_HOME=$HADOOP_HOME 
export YARN_HOME=$HADOOP_HOME 
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop 
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop

4.6 创建tmpfile

mkdir /opt/hadoop/tmp

4.7 用如下内容替换/opt/hadoop/etc/hadoop/core-site.xml中的内容

<?xml version="1.0" encoding="UTF-8"?>

 <?xml-stylesheet type="text/xsl" href=http://www.mamicode.com/"configuration.xsl"?>

<configuration>   

<property>     

<name>fs.default.name</name>     

<value>hdfs://localhost:9000</value>   

</property>   

<property>     

<name>hadoop.tmp.dir</name>     

<value>/opt/haddop/tmp</value>   

</property> </configuration>

4.8 用如下内容替换/opt/hadoop/etc/hadoop/hdfs-site.xml中的内容

<?xml version="1.0" encoding="UTF-8"?> 

<?xml-stylesheet type="text/xsl" href=http://www.mamicode.com/"configuration.xsl"?>

<configuration> 

<property> 

<name>dfs.replication</name> 

<value>2</value> 

</property> 

<property> 

<name>dfs.permissions</name> 

<value>false</value>

 </property> 

</configuration>

4.9用如下内容替换/opt/hadoop/etc/hadoop/mapred-site.xml中的内容

<?xml version="1.0"?> 

<configuration> 

<property> 

<name>mapreduce.framework.name</name> 

<value>yarn</value> 

</property> 

</configuration>

4.10 用如下内容替换/opt/hadoop/etc/hadoop/yarn-site.xml中的内容

<?xml version="1.0"?> 

<configuration>   

<property>     

<name>yarn.nodemanager.aux-services</name>     

<value>mapreduce_shuffle</value>   

</property>  

 <property>     

<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>     

<value>org.apache.hadoop.mapred.ShuffleHandler</value>  

 </property>   

<property>     

<name>yarn.resourcemanager.resource-tracker.address</name>     

<value>master:8025</value>  

 </property>   

<property>    

 <name>yarn.resourcemanager.scheduler.address</name>     

<value>master:8030</value>   

</property>   

<property>     

<name>yarn.resourcemanager.address</name>    

 <value>master:8040</value>   

</property>

 </configuration>

第五部:配置集群,配置slave

5.1 如果是单机运行的话,上面就可以用了,要配置集群请从第5.2步开始

5.2 配置slave,配置步骤为第一步到第四步

5.3 修改/etc/hosts,假设你有1台master和2台slave,机器名分别为master,slave1和slave2

修改机器中所有机器的/etc/hosts,添加如下内容

master 192.168.1.100

slave1 192.168.1.101

slave2 192.168.1.102

上面的ip地址请按实际情况添加

5.4 修改master机器上的/opt/hadoop/etc/hadoop/slaves,添加如下内容

slave1

slave2

第六步 启动集群

6.1 格式化 namenode(master)

bin/hadoop namenode -format

6.2 启动所有服务(包括namenode,datanode,nodemanager)

sbin/start_all.sh 

6.3 启动resourcemanager

sbin/yarn-daemon.sh start resourcemanager

6.4 启动 histtoryserver

sbin/mr-jobhistory-daemon.sh start historyserver

6.5 查看服务是否已经启动

jps



references:

http://tecadmin.net/steps-to-install-java-on-centos-5-6-or-rhel-5-6/

http://tecadmin.net/steps-to-install-hadoop-on-centosrhel-6/

http://alanxelsys.com/2014/02/01/hadoop-2-2-single-node-installation-on-centos-6-5/