手动安装CDH4集群

1、下载CDH4.3源码包

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

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

、解压包

/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

、配置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

添加以下内容:

fs.default.name
hdfs://Master:9100
true
 
hadoop.tmp.dir
/hadoop/tmp
 

3)编辑hdfs-site.xml

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

# mkdir name
# mkdir data

打开文件:hdfs-site.xml

# vim hdfs-site.xml

添加以下内容:

dfs.replication
3
 
dfs.namenode.name.dir
file:/hadoop/name
ture
 
dfs.datanode.data.dir
file:/hadoop/data
ture
 
dfs.permission
false
 

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

添加以下内容:

mapreduce.framework.name
yarn
 
mapreduce.job.tracker
192.168.12.10:9101
ture
 
mapred.system.dir
file:/hadoop/mapred/system
ture
 
mapred.local.dir
file:/hadoop/mapred/local
ture
 

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

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

5)编辑yarn-site.xml

打开文件:yarn-site.xml

# vim yarn-site.xml

添加以下内容:

yarn.resourcemanager.resource-tracker.address
192.168.12.10:18025
 
yarn.resourcemanager.address
192.168.12.10:18040
 
yarn.resourcemanager.scheduler.address
192.168.12.10:18030
 
yarn.resourcemanager.admin.address
192.168.12.10:18141
 
yarn.resourcemanager.webapp.address
192.168.12.10:8088
 
yarn.nodemanager.aux-services
mapreduce.shuffle
 
yarn.nodemanager.aux-services.mapreduce.shuffle.class
org.apache.hadoop.mapred.ShuffleHandler
 

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

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

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

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

# source /etc/profile

至此,hadoop配置完成。

、集群配置

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

# scp –r /usr/cdh4/hadoop-2.0 root@192.168.12.11:/usr/cdh4
# scp –r /usr/cdh4/hadoop-2.0 root@192.168.12.12:/usr/cdh4
# scp –r /usr/cdh4/hadoop-2.0 root@192.168.12.13:/usr/cdh4

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

# scp –r /hadoop root@192.168.12.11:/

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

# scp /etc/profile root@192.168.12.11:/etc
# scp /etc/profile root@192.168.12.12:/etc
# scp /etc/profile root@192.168.12.13:/etc

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

4)设置权限

# chown -R 1106:592*

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

# service iptables stop

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

、格式化集群

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

Master节点上执行命令:

# hadoop namenode -format

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

、开启hadoop服务

1)启动hdfs

# start-dfs.sh

2)启动yarn

# start-yarn.sh

可以直接执行:

# start-all.sh

包括start-dfs.shstart-yarn.sh

3)停止

# stop-all.sh

、检验

1)Master节点上执行jps命令

# jps

必须有:ResourceManager SecondaryNameNode NameNode三个进程

2)Slave节点上执行jps命令

必须有:NodeManager DataNode这两个进程

、通过web查看

1)查看HDFS

输入网址:

2)查看Mapreduce

输入网址: