一、简单介绍
CM:Cloudera Manager,Cloudera公司编写的一个CDH的管理后台,类似各CMS的管理后台。
CDH:Cloudera’s distribution,including Apache Hadoop,Cloudera公司制作的一个Hadoop发行版,集成了Hadoop及Hive等与Hadoop关系紧密的工具。
也经常直接用CM指代其本身和CDH。CM最大的好处是通过自动化的部署大大降低了Hadoop集群的部署工作量。
二、下载
本教程CM采用离线形式安装版本为当前最新的5.11.0,CDH也以离线形式安装
CM相关软件集:http://archive.cloudera.com/cm5/repo-as-tarball/5.11.0/cm5.11.0-centos6.tar.gz(根据自己操作系统下载)
CDH:http://archive.cloudera.com/cdh5/parcels/latest/(下载manifest.json及自己系统相应的.parcel和.sha1文件)
三、安装前的配置
3.1主机环境介绍
主机名 | hadoop1 | ip | 192.168.220.136 |
内存 | 8G | 用户 | root |
3.2修改主机名(root执行)
修改主机名为hadoop1,执行:hostname hadoop1
永久修改主机名,编缉/etc/sysconfig/network:将HOSTNAME值修改为hadoop1
写入/etc/hosts文件,在/etc/hosts追加行:192.168.220.136 hadoop1
3.3配置静态IP
本教程使用的是VM虚拟机,一般而言VM默认是DHCP但分配给各虚拟机的IP还是固定的,但在具体的安装实验中发现主机或CM重启后IP漂移,导致CM不能成功启动的现象。
编缉/etc/sysconfig/network-scripts/ifcfg-eth0,将BOOTPROTO由dhcp改为static,然后追加IP/网关IP/掩码三项内容(具体值根据自己情况修改):
IPADDR=192.168.220.136 GATEWAY=192.168.220.2 NETMASK=255.255.255.0
DNS1=114.114.114.11
然后重启网卡:service network restart
重启时可能会出现错误:Bringing up interface eth0: Error: No suitable device found: no device found for connection 'System eth0'
首先可能使用的网卡不是eth0,使用ifconfig命行查看当前使用网卡(比如叫eth1)然后把配置文件名ifcfg-eth0改为ifcfg-eth1,把文件内的DEVICE值也改为eth1
然后可能mac地址也不对,用ifconfig命令查到的HWaddr值替换配置文件中的HWADDR的值。最后再重启即可
3.4关闭防火墙
CM会使用大量端口,这里选择直接关闭防火墙,如果你觉得防火墙配置没有问题可以不关
停止防火墙服务:service iptables stop
禁止开机自启动:chkconfig --level 35 iptables off
查看是否设置成功:chkconfig --list iptabels
3.5关闭selinux
selinux配置设置太严格,可能会与CM需要的功能相冲突,我们选择直接关掉
编缉/etc/selinux/config,将SELINUX的值修改为disabled(默认为enforcing)
重启操作系统生效(这里发须重启操作系统setenforce 0 CM是不承认的)
3.6安装配置MySQL
yum -y install mysql mysql-server mysql-devel #安装MySQL chkconfig mysqld on #开机自启动 service mysqld start #启动MySQL mysql_secure_installation #配置数据库用户名密码
mysql -u root -p #登录MySQL
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci; create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci; create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci; grant all on *.* to root@"%" Identified by "toor" with grant option; grant all on *.* to 'root'@'hadoop1' identified by 'toor' with grant option; grant all privileges on *.* to 'root'@'hadoop1' identified by 'toor' with grant option; flush privileges;
3.7配置ssh
su - hadoop ssh-keygen -t rsa cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
3.8配置时间同步
编缉/etc/ntp.conf,追加:
server 0.cn.pool.ntp.org server 1.cn.pool.ntp.org server 2.cn.pool.ntp.org server 3.cn.pool.ntp.org
service ntpd restart ntpdate -u 1.cn.pool.ntp.org ntpq -p ntpdc -np #如果有*开头的表示已同步
四、安装CM
tar -zxf cm5.11.0-centos6.tar.gz #解压软件包
cd cm/5/RPMS/x86_64
yum localinstall --nogpgcheck *.rpm
4.2修正MySQL
下载mysql-connector-java:https://dev.mysql.com/downloads/connector/j/
cp mysql-connector-java-5.1.42-bin.jar /usr/share/cmf/lib
/usr/share/cmf/schema/scm_prepare_database.sh mysql scm -hhadoop1 -uroot -ptoor --scm-host hadoop1 scm scm scm
cp CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel /opt/cloudera/parcel-repo/
cp CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.11.0-1.cdh5.11.0.p0.34-el6.parcel.sha
cp manifest.json /opt/cloudera/parcel-repo/
service cloudera-scm-agent stop service cloudera-scm-server stop service cloudera-scm-server start service cloudera-scm-agent start
echo 0 > /proc/sys/vm/swappiness echo never > /sys/kernel/mm/transparent_hugepage/defrag echo never > /sys/kernel/mm/transparent_hugepage/enabled
编缉/etc/profile,追加:
export JAVA_HOME=/usr/java/jdk1.7.0_67-cloudera export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
4.3开始安装
登录http://192.168.220.136:7180/cmf,默认用户名密码:admin/admin
cp mysql-connector-java-5.1.42-bin.jar /var/lib/oozie/mysql-connector-java.jar #由于安装之前没有这些目录所以到这里才把jar包复制到这些目录
cp mysql-connector-java-5.1.42-bin.jar /opt/cloudera/parcels/CDH/jars cd /opt/cloudera/parcels/CDH/lib/hive/lib ln -s ../../../jars/mysql-connector-java-5.1.42-bin.jar mysql-connector-java-5.1.42-bin.jar