xiaoqing000 2016-07-20
这段时间一直在安装CDH,安装第三次,终于成功了。 第一次问题很多,后面卸载了,由于没有卸载干净导致第二次安装失败。后来索性重装系统了,直接使用了纯净系统进行安装。一个人跑到学院机房去装系统,苦逼惨了。
,不扯了,记录下安装流程。
系统环境
操作系统:CentOS 6.5 x64,配置如下:
Cloudera Manager:5.3.4 CDH: 5.3.4
前期准备工作(系统环境搭建)
所需软件 cloudera-manager-el6-cm5.3.4_x86_64.tar.gz、mysql-connector-java-5.1.25-bin.jar
1、设置静态IP地址
vi /etc/sysconfig/network-scripts/ifcfg-eth0
2、修改主机名
hostname 主机名 (当前生效)
vi /etc/sysconfig/network (下次启动生效)
[root@Hadoop2 opt]# cat /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop2
GATEWAY=172.23.253.1
NTPSERVERARGS=iburst
3、绑定 IP与HostName
vi /etc/hosts
172.23.253.20 hadoop1
172.23.253.22 hadoop2
172.23.253.23 hadoop3
172.23.253.24 hadoop4
172.23.253.25 hadoop5
172.23.253.26 hadoop6
复制到其它节点(hadoop2~hadoop6)
scp /etc/hosts hadoop2:/etc/
scp /etc/hosts hadoop6:/etc/
4、设置SSH免密码登录(所有节点)
[root@hadoop1 /]# cd /root/.ssh/
[root@hadoop1 .ssh]# ssh-keygen -t rsa
[root@hadoop1 .ssh]# cat id_rsa.pub >> authorized_keys
ssh-copy-id -i hadoop1
hadoop1复制自己的authorized_keys给其他主机 hadoop2~hadoop6,这样都可以互相免密码登录了。
scp /root/.ssh/authorized_keys hadoop2:/root/.ssh/
scp /root/.ssh/authorized_keys hadoop6:/root/.ssh/
5、安装Oracle的Java
[root@hadoop1 .ssh]# rpm -qa | grep java
java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
tzdata-java-2013g-1.el6.noarch
java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
[root@hadoop1 .ssh]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64
tzdata-java-2013g-1.el6.noarch java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64
2、安装Oracle的JDK(所有节点)
[root@hadoop1 opt]# rpm -ivh jdk-7u80-linux-x64.rpm
Preparing... ########################################### [100%]
1:jdk ########################################### [100%]
Unpacking JAR files...
rt.jar...
jsse.jar...
charsets.jar...
tools.jar...
localedata.jar...
jfxrt.jar...
[root@hadoop1 opt]# echo "JAVA_HOME=/usr/java/latest/" >> /etc/environment
[root@hadoop1 opt]# java -version
java version "1.7.0_80"
Java(TM) SE Runtime Environment (build 1.7.0_80-b15)
Java HotSpot(TM) 64-Bit Server VM (build 24.80-b11, mixed mode)
[root@hadoop1 opt]# javac -version
javac 1.7.0_80
6、安装和配置MySql(主节点)
[root@hadoop1 opt]# yum install mysql-server
[root@hadoop1 opt]# chkconfig mysqld on
[root@hadoop1 opt]# service mysqld start
[root@hadoop1 opt]# service mysqld status
[root@hadoop1 opt]# mysqladmin -u root password 'liguodong'
进入mysql命令行mysql -uroot -pxxxx,创建以下数据库:
[root@hadoop1 opt]# mysql -uroot -pliguodong
mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
设置root授权访问以上所有的数据库。
mysql> grant all privileges on *.* to 'root'@'hadoop1' identified by 'liguodong' with grant option;
Query OK, 0 rows affected (0.00 sec)
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)
7、关闭防火墙和SELinux(所有节点)
[root@hadoop1 opt]# service iptables stop
iptables:将链设置为政策 ACCEPT:filter [确定]
iptables:清除防火墙规则: [确定]
iptables:正在卸载模块: [确定]
[root@hadoop1 opt]# chkconfig iptables off
[root@hadoop1 opt]# setenforce 0
[root@hadoop1 opt]# vi /etc/selinux/config
[root@hadoop1 opt]# cat /etc/selinux//config
SELINUXTYPE=targeted
SELINUX=disabled
8、安装和配置NTP服务(所有节点)
[root@hadoop1 opt]# yum install ntp
[root@hadoop1 opt]# chkconfig ntpd on
[root@hadoop1 opt]# chkconfig --list ntpd
ntpd 0:关闭 1:关闭 2:启用 3:启用 4:启用 5:启用 6:关闭
配置内网NTP服务器(主节点)
# ntpdate -u 202.112.10.36
22 Dec 16:52:38 ntpdate[6400]: adjust time server 202.112.10.36 offset 0.012135 sec
ntp服务只有一个配置文件,配置好就可以。 这里只给出有用的配置,不需要的配置都用#注掉,这里就不在给出。
[root@hadoop1 opt]# vi /etc/ntp.conf
[root@hadoop1 opt]# cat /etc/ntp.conf
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server 202.112.10.36 prefer
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
[root@hadoop1 opt]# service ntpd start
检查是否成功,用ntpstat命令查看同步状态,出现以下状态代表启动成功:
[root@hadoop1 ~]# ntpstat
synchronised to NTP server (202.112.10.36) at stratum 3
time correct to within 133 ms
polling server every 1024 s
配置ntp客户端(hadoop2~hadoop6)
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#这里是主节点(内网NTP服务器)的主机名或者ip
server hadoop1
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
这里可能出现同步失败的情况,请不要着急,一般是本地的ntp服务器还没有正常启动,一般需要等待5-10分钟才可以正常同步���
启动服务:service ntpd start
[root@hadoop2 ~]# ntpdate -u hadoop1
27 Jun 08:14:38 ntpdate[1899]: adjust time server 172.23.253.20 offset 0.000293 sec
[root@hadoop2 ~]# service ntpd start
[root@hadoop2 ~]# chkconfig ntpd on
安装与配置Cloudera Manager Server 和AgentServer配置(主节点)
[root@hadoop1 opt]# tar -zxvf cloudera-manager-el6-cm5.3.4_x86_64.tar.gz
给所有节点添加cloudera-scm用户:
[root@hadoop1 lib]# useradd --system --home=/opt/cm-5.3.4/run/cloudera-scm-server/ --no-create-home --shell=/bin/false
--comment "Cloudera SCM User" cloudera-scm
[root@hadoop1 opt]# mv mysql-connector-java-5.1.25-bin.jar /opt/cm-5.3.4/share/cmf/lib/
[root@hadoop1 opt]#/opt/cm-5.3.4/share/cmf/schema/scm_prepare_database.sh mysql
cm -hlocalhost -uroot -pliguodong --scm-host localhost scm scm scm
[root@hadoop1 lib]# /opt/cm-5.3.4/etc/init.d/cloudera-scm-server start
Agent配置(所有节点)
[root@hadoop1 lib]# vi /opt/cm-5.3.4/etc/cloudera-scm-agent/config.ini
server_host=hadoop1
先复制/opt/cm-5.3.4到hadoop2~hadoop6节点上,
scp -r /opt/cm-5.3.4 hadoop2:/opt/
···
scp -r /opt/cm-5.3.4 hadoop6:/opt/
等待拷贝成功,在所有节点上启动Agent:(注意必须以管理员权限启动)
[root@hadoop1 lib]# /opt/cm-5.3.4/etc/init.d/cloudera-scm-agent start