1 说明
本文使用虚拟机进行测试
操作系统:CentOS 6
JDK版本:1.7.0_80
所需安装包及版本说明:
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
manifest.json
cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
2 系统环境准备
拍快照后重置虚拟机为最纯净的系统
a. xshell连接node时使用ssh root@node01进行连接
b. 虚拟机所在分区的磁盘大小至少可用50G
b. cloudera推荐cm server内存64G,本文虚拟机配置及部署如下:
节点名称 | 内存 | 处理器 | server | agent |
---|---|---|---|---|
node01 | 10G | 2*2 | ✔ | ✔ |
node02 | 2G | 2*1 | ✔ | |
node03 | 2G | 2*1 | ✔ |
(1)网络配置
vi /etc/sysconfig/network
vi /etc/hosts
(2)SSH免密钥登录
如果没有~/.ssh目录,最好通过ssh localhost自动生成~/.ssh
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
ssh-copy-id node02
在node02中查看是否有对应公钥
cat ~/.sshd/authorized_keys
(3)防火墙关闭
service iptables stop
chkconfig iptables off
(4)SELINUX关闭
setenforce 0
vi /etc/selinux/config
修改配置
SELINUX=disabled
(5)安装JDK配置环境变量
scp jdk-7u67-linux-x64.rpm node02:`pwd`
rpm -ivh jdk-7u67-linux-x64.rpm
vim /etc/profile
配置文件中追加:
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
JAVA_HOME也可以写成:
export JAVA_HOME=/usr/java/default
jps进行验证
(6)安装NTP
a. 安装
yum install -y ntp
b. 设置开机启动
chkconfig ntpd on
c. 设置时间同步
ntpdate 202.120.2.101
(7)安装配置mysql
在配置较高的一台安装即可,本文安装在node01
a. 安装
yum install -y mysql-server
b. 启动服务
service mysqld start
c. 首次登录
mysql
d. 授权
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
e. 刷新
flush privileges;
f. 重启服务,重新登录
service mysqld restart
mysql -uroot -p
(8)下载第三方依赖包
chkconfig、python、bind-utils、psmisc、libxslt、zlib、sqlite、cyrus-sasl-plain、cyrus-sasl-gssapi、fuse、fuse-libs、redhat-lsb
yum install -y chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
3. ClouderaManager安装
(1)安装Cloudera Manager Server、Agent
mkdir /opt/cloudera-manager
tar xf cloudera-manager*.tar.gz -C /opt/cloudera-manager
(2)创建用户cloudera-scm(所有节点)
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
(3)配置CM Agent
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host
server_host=node01
(4)配置CM Server数据库
a. 拷贝mysql jar文件(驱动包)到目录 /usr/share/java/
注意jar包名称要修改为mysql-connector-java.jar
cd /usr/share
mkdir java
cp ~/soft/mysql*.jar /usr/share/java/mysql-connector-java.jar
b. 进入mysql授予temp用户权限
mysql -uroot -p123
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
exit;
c. 执行脚本自动创建temp用户等配置
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node01 -utemp -ptemp --scm-host node01 scm scm scm
格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器
(5)创建Parcel目录
a. Server节点
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
b. Agent节点
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
(6)制作CDH本地源
下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。
mv ~/soft/CDH* /opt/cloudera/parcel-repo
mv ~/soft/manifest.json /opt/cloudera/parcel-repo
(7)分发至其他节点
必须先分发再启动
cd /opt/cloudera-manager
scp -r ./* node02:`pwd`
scp -r ./* node03:`pwd`
(8)启动CM Server、Agent(要保证mysql为启动状态)
a. 启动server,sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-server start
b. 启动所有节点的agent
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-agent start
/opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log中出现以下字样代表成功
tail -f /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server/cloudera-scm-server.log
(9)测试
访问:http://node01:7180,
用户名、密码:admin
若可以访问,则CM安装成功。
4 CDH安装
(1)选择版本
(2)安装选定Parcel
(3)检查主机正确性
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
通过 echo 0 > /proc/sys/vm/swappiness 即可解决。
echo 0 > /proc/sys/vm/swappiness
三台主机都执行后重新运行检查
(4)选择安装服务
安装最基本的服务:HDFS,YARN,Zookeeper
(5)其他选项保持默认配置进行下一步即可