关于CDH和Cloudera Manager
CDH (Cloudera's Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了很多补丁,可直接用于生产环境。
Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理做了极大简化。
系统环境
操作系统:CentOS 6.5 x64 (内存8G)
Cloudera Manager:5.4.8
CDH: 5.4.11
安装说明
相关包的下载地址
Cloudera Manager下载地址:
http://archive.cloudera.com/cm5/cm/5/cloudera-manager-el6-cm5.4.8_x86_64.tar.gz
CDH安装包地址:
http://archive.cloudera.com/cdh5/parcels/5.4.8/,由于操作系统为CentOS6.5,需要下载以下文件:
CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel
CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel.sha1
manifest.json
系统环境搭建
以下操作均用root用户操作。
1. 网络配置(所有节点)
vi /etc/sysconfig/network修改hostname:
NETWORKING=yes
HOSTNAME=momodnas
通过service network restart重启网络服务生效。
vi /etc/hosts,修改ip与主机名的对应关系
192.168.1.228 momocnas
192.168.1.229 momodnas
192.168.1.230 momoenas
192.168.1.231 momofnas
2.打通SSH,设置ssh无密码登陆
在主节点(momodnas)上执行ssh-keygen -t rsa一路回车,生成无密码的密钥对。
将公钥添加到认证文件中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,并设置authorized_keys的访 问权限:chmod 600 ~/.ssh/authorized_keys。
scp文件到所有datanode节点:
scp ~/.ssh/authorized_keys root@momocnas:~/.ssh/
scp ~/.ssh/authorized_keys root@momoenas:~/.ssh/
scp ~/.ssh/authorized_keys root@momofnas:~/.ssh/
3.安装Oracle的Java(所有节点)
CentOS,自带OpenJdk,不过运行CDH5需要使用Oracle的Jdk。这里卸载openJdk,安装Oracle jdk 1.8.
1. 卸载自带的OpenJdk,使用rpm -qa | grep java查询java相关的包,使用rpm -e --nodeps 包名卸载之。
2.wget http://download.oracle.com/otn-pub/java/jdk/8u144-b01/090f390dda5b47b9b721c7dfaa008135/jdk-8u144-linux-x64.tar.gz
3.tar -zxvf jdk-8u144-linux-x64.tar.gz
4.配置环境变量
vi /etc/profile
export JAVA_HOME=/opt/jdk/jdk1.8.0_144
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH
source /etc/profile
4.安装配置MySql(主节点)
通过yum install mysql-server安装mysql服务器。
chkconfig mysqld on设置开机启动
service mysqld start启动mysql服务。
root的初始密码:mysqladmin -u root password 'xxxx'
mysql -uroot -p‘xxxx’进入mysql命令行,创建以下数据库:
#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
授权root用户在主节点拥有所有数据库的访问权限
grant all privileges on *.* to 'root'@'momodnas' identified by 'xxxx' with grant option;
flush privileges;
5.关闭防火墙
service iptables stop
6.所有节点配置NTP服务
master节点作为ntp服务器与外界对时中心同步时间,随后对所有datanode节点提供时间同步服务。所有datanode节点以master节点为基础同步时间。
所有节点安装相关组件:yum install ntp
配置开机启动:chkconfig ntpd on
检查是否设置成功:chkconfig --list ntpd 其中2-5为on状态就代表成功。
ntp服务只有一个配置文件,配置如下。 这里只给出有用的配置:
driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default ignore
server 202.120.2.101 prefer
server 127.127.1.0
restrict 192.168.1.0 mask 255.255.255.0 nomodify
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
配置文件完成,保存退出,启动服务,执行如下命令:
service ntpd start
检查是否成功,用ntpstat命令查看同步状态,出现以下状态代表启动成功:
synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s
如果出现异常请等待几分钟,一般等待5-10分钟才能同步。
配置ntp客户端(所有datanode节点)
driftfile /var/lib/ntp/drift
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
restrict 127.0.0.1
restrict -6 ::1
server momodnas
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys
service ntpd start启动服务。
安装Cloudera Manager Server 和Agent
主节点解压安装
cloudera manager的目录默认位置在/opt下,解压:tar xzvf cloudera-manager*.tar.gz将解压后的cm-5.4.8和cloudera目录放到/opt目录下。
为Cloudera Manager 5建立数据库
首先需要去MySql的官网下载JDBC驱动,http://dev.mysql.com/downloads/connector/j/,解压后,找到mysql-connector-java-5.1.33-bin.jar,放到/opt/cm-5.4.8/share/cmf/lib/中。
在主节点初始化CM5的数据库:
/opt/cm-5.4.8/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p‘root.0!z’ --scm-host localhost scm scm scm
Agent配置
修改/opt/cm-5.1.3/etc/cloudera-scm-agent/config.ini中的server_host为主节点的主机名。
同步Agent到其他节点
scp -r /opt/cm-5.4.8 root@momocnas:/opt/
scp -r /opt/cm-5.4.8 root@momoenas:/opt/
scp -r /opt/cm-5.4.8 root@momofnas:/opt/
在所有节点创建cloudera-scm用户
useradd --system --home=/opt/cm-5.4.8/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
准备Parcels,用以安装CDH5
将CHD5相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中(parcel-repo需要手动创建)。
相关的文件如下:
CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel
CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel.sha1
manifest.json
最后将CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel.sha1,重命名为CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel.sha,这点必须注意,否则,系统会重新下载CDH-5.4.8-1.cdh5.4.8.p0.4-el6.parcel文件。
相关启动脚本
通过/opt/cm-5.4.8/etc/init.d/cloudera-scm-server start启动服务端。
通过/opt/cm-5.4.8/etc/init.d/cloudera-scm-agent start启动Agent服务。
我们启动的其实是个service脚本,需要停止服务将以上的start参数改为stop就可以了,重启是restart。
CDH5的安装配置
Cloudera Manager Server和Agent都启动以后,就可以进行CDH5的安装配置了。
这时可以通过浏览器访问主节点的7180端口测试一下了(由于CM Server的启动需要花点时间,这里可能要等待一会才能访问),默认的用户名和密码均为admin:
提示安装,会出现管理的主机是三台。直接选中继续就可以了。
这个默认选择,继续就可以了。如果配置本地Parcel包无误,就会出来一个安装界面,下载条,分配条,激活条等。类似如下界面
接下来是服务器检查
检查完成,点击继续即可。
接下来是选择安装服务,我们可以选择自定义服务,仅安装hdfs,hbase,zookeeper
服务配置,一般情况下保持默认就可以了(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了):
接下来是数据库配置。
最后就是初始化和安装服务。
安装需要一段时间,等待安装完成即可。
安装完成后,就可以进入集群界面看一下集群的当前状况了。