手动安装CDH4集群

1、下载CDH4.3源码包

采用源码包安装,下载地址:

http://www.cloudera.com/content/cloudera-content/cloudera-docs/CDHTarballs/3.25.2013/CDH4-Downloadable-Tarballs/CDH4-Downloadable-Tarballs.html


CentOS 6.4下CDH4集群安装(4)——手动安装

源码包名:hadoop-2.0.0-cdh4.3.0.tar.gz

2、解压包

/usr目录下建立一个cdh4目录,存放CDH4.3.0的安装软件

# mkdir /usr/cdh4

CDH4.3.0源码包拷贝到该目录下

# mv ‘CDH4.3.0源码包位置’ /usr/cdh4

解压源码包到指定位置:/usr/cdh4/hadoop-2.0

# tar –zxvf /usr/cdh4/hadoop-2.0.0-cdh4.3.0.tar.gz –C /usr/cdh4/ hadoop-2.0.0-cdh4.3.0

注:如果直接解压,不指定位置,直接执行以下命令:

# tar –zxvf/usr/cdh4/hadoop-2.0.0-cdh4.3.0.tar.gz

默认会解压到根目录root下。

将解压后的目录修改为hadoop-2.0,便于操作(在cdh4目录下执行下面指令)

# mv hadoop-2.0.0-cdh4.3.0 hadoop-2.0

3、配置CDH4.3.0

进入到hadoop-2.0 的配置文件目录,下面都在此hadoop下的对应文件中配置

# cd hadoop-2.0/etc/hadoop/

1)配置hadoop java环境变量

在文件hadoop-env.sh内添加java环境变量

# vim hadoop-env.sh

在末尾添加以下内容:

# set java path
export JAVA_HOME = /usr/java/jdk1.7.0_25

2)编辑core-site.xml

首先在根目录下新建hadoop目录,在hadoop目录内建立tmp文件夹,作为hadoop临时数据存放目录

# cd /
# mkdir hadoop
# mkdir tmp

打开core-site.xml

# vim core-site.xml

添加以下内容:

<property>
 <name>fs.default.name</name>
 <value>hdfs://Master:9100</value>
 <final>true</final>
</property>
<property>
 <name>hadoop.tmp.dir</name>
 <value>/hadoop/tmp</value>
</property>


3)编辑hdfs-site.xml

/hadoop目录内建立元数据存储目录nameHDFS存储目录data

# mkdir name
# mkdir data

打开文件:hdfs-site.xml

# vim hdfs-site.xml

添加以下内容:

<property>
 <name>dfs.replication</name>
 <value>3</value>
</property>
<property>
 <name>dfs.namenode.name.dir</name>
 <value>file:/hadoop/name</value>
 <final>ture</final>
</property>
<property>
 <name>dfs.datanode.data.dir</name>
 <value>file:/hadoop/data</value>
 <final>ture</final>
</property>
<property>
 <name>dfs.permission</name>
 <value>false</value>
</property>

4)编辑mapred-site.xml

/hadoop目录内建mapred文件夹,并在mapred文件夹下建立localsystem目录

# mkdir mapred
# mkdir system
# mkdir local

采用mapreduce2.0版本,使用YARN。首先配置mapred-site.xml文件,由于目录下没有该文件,所以直接打开文件添加内容并保存。

打开文件:mapred-site.xml

# vim mapred-site.xml

添加以下内容:

<property>
 <name>mapreduce.framework.name</name>
 <value>yarn</value>
</property>
<property>
 <name>mapreduce.job.tracker</name>
 <value>192.168.12.10:9101</value>
 <final>ture</final>
</property>
<property>
 <name>mapred.system.dir</name>
 <value>file:/hadoop/mapred/system</value>
 <final>ture</final>
</property>
<property>
 <name>mapred.local.dir</name>
 <value>file:/hadoop/mapred/local</value>
<final>ture</final>
</property>

注:要添加上xml文件的头 <?xml version=”1.0” encoding=”UTF-8”?>

可以直接从其他xml文件中拷贝。


5)编辑yarn-site.xml

打开文件:yarn-site.xml

# vim yarn-site.xml

添加以下内容:

<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
 <value>192.168.12.10:18025</value>
</property>
<property>
 <name>yarn.resourcemanager.address </name>
 <value>192.168.12.10:18040</value>
</property>
<property>
 <name>yarn.resourcemanager.scheduler.address </name>
 <value>192.168.12.10:18030</value>
</property>
<property>
 <name>yarn.resourcemanager.admin.address </name>
 <value>192.168.12.10:18141</value>
</property>
<property>
 <name>yarn.resourcemanager.webapp.address </name>
 <value>192.168.12.10:8088</value>
</property>
<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>

6)编辑slaves

打开文件:yarn-site.xml

# vim slaves

添加以下内容:

192.168.12.11
192.168.12.12
192.168.12.13

7)配置hadoop的环境变量

打开文件:(注意,有“/”表示根目录下的文件,没有“/”当前目录还在hadoop下)

# vim /etc/profile

添加内容如下:

# set Hadoop path
export HADOOP_HOME = /usr/cdh4/hadoop-2.0
export HADOOP_COMMOM_HOME = ${HADOOP_HOME}
export HADOOP_HDFS_HOME = ${HADOOP_HOME}
export PATH = $PATH:$HADOOP_HOME/bin
export PATH = $PATH:$HADOOP_HOME/Sbin
export HADOOP_MAPRED_HOME = ${HADOOP_HOME}
export YARN_HOME = ${HADOOP_HOME}
export HADOOP_CONF_DIR = ${HADOOP_HOME}/etc/hadoop
export HDFS_CONF_DIR = ${HADOOP_HOME}/etc/hadoop
export YARN_CONF_DIR = ${HADOOP_HOME}/etc/hadoop

配置后文件内容如下图所示:

CentOS 6.4下CDH4集群安装(4)——手动安装

注:修改完文件/etc/profile保存退出后,必须是配置文件生效,否则后续步骤将会出错。

保存退出后,使配置文件生效,指令如下:

# source /etc/profile

至此,hadoop配置完成。

4、集群配置

1)将配置好的Hadoop-2.0文件夹复制到其他三台Slave节点上

# scp –r /usr/cdh4/hadoop-2.0 [email protected]:/usr/cdh4
# scp –r /usr/cdh4/hadoop-2.0 [email protected]:/usr/cdh4
# scp –r /usr/cdh4/hadoop-2.0 [email protected]:/usr/cdh4

2)将存储目录复制到其他Slave节点上

# scp –r /hadoop [email protected]192.168.12.11:/

3)将环境变量文件/etc/profile复制到其他Slave节点上

# scp /etc/profile [email protected]192.168.12.11:/etc
# scp /etc/profile [email protected]192.168.12.12:/etc
# scp /etc/profile [email protected]192.168.12.13:/etc

此处profile为文件,不是文件夹,所以“scp ”不需要“-r”;将原先的profile目录覆盖

4)设置权限

# chown -R 1106:592*

5)关闭防火墙(没有永久关闭每次开机后需要重新关)

# service iptables stop

注:为了使得所有配置文件生效,且对任一打开的终端hadoop指令有效,最好重新启动系统

5、格式化集群

开始运行hadoop环境。首先格式化HDFS集群文件系统

Master节点上执行命令:

# hadoop namenode -format

命令行会打印信息,看到successfully formatted表示格式化成功

5、开启hadoop服务

1)启动hdfs

# start-dfs.sh

2)启动yarn

# start-yarn.sh

可以直接执行:

# start-all.sh

包括start-dfs.shstart-yarn.sh

3)停止

# stop-all.sh

6、检验

1)Master节点上执行jps命令

# jps

必须有:ResourceManager SecondaryNameNode NameNode三个进程

2)Slave节点上执行jps命令

必须有:NodeManager DataNode这两个进程

7、通过web查看

1)查看HDFS

输入网址:http://Master50070

2)查看Mapreduce

输入网址:http://Master8088