环境
| 名称 | 版本 | 
|---|---|
| 操作系统 | CentOS 6.5 | 
| java | jdk1.8 | 
| cloudera-management | cloudera-manager-el6-cm5.7.1 | 
| CDH | 5.7.1 | 
前期准备
在启动CDH之前,请确认以下工作都已完成
- 
软件包预安装(包含主机和从机) # 安装所需的包和库文件yum groupinstall -y 'Development Tools'yum install -y numactl* libxslt* zlib* openssl* sqlite* net-tools ntp psmisc tree vim
- 
关闭防火墙(包含主机和从机) # 关闭防火墙service iptables stop# 关闭防火墙开机自启动chkconfig iptables off# 查看iptables所有项是否为offchkconfig --list iptables
- 
配置hosts(包含主机和从机) # 编辑hosts文件vi /etc/hosts# 在行尾根据实际情况添加如下内容例如,我有一台主机(master)和三台从机(slave1,slave2,slave3)172.23.1.61 master172.23.1.62 slave1172.23.1.63 slave2172.23.1.64 slave3
- 
关闭selinux(包含主机和从机) # 编辑config文件vi /etc/selinux/config# 修改SELINUX的值SELINUX=enforcing ===> SELINUX=disabled
- 
禁用大页面和修改内存交换值(包含主机和从机) - 禁用大页面
 # 编辑开机自启动文件rc.localvi /etc/rc.d/rc.local# 在行尾写入如下内容echo never > /sys/kernel/mm/transparent_hugepage/enabledecho never > /sys/kernel/mm/transparent_hugepage/defrag# 需知CentOS7中rc.local的权限被降低了,需要手动修改文件的权限,否则开机后命令不生效chmod +x /etc/rc.d/rc.local- 修改内存交换值
 # 需知CentOS6和CentOS7修改的方法是不一样的# CentOS6vi /etc/sysctl.conf在行尾写入如下内容vm.swappiness=0# CentOS7vi /usr/lib/tuned/virtual-guest/tuned.conf修改vm.swappiness的值vm.swappiness = 30 ===> vm.swappiness = 0# 备注find / -name *.conf -type f -exec grep "vm.swappiness" {} +
- 
重启系统,检查防火墙/hosts/selinux/大页面/内存交换是否生效(包含主机和从机) # 防火墙[root@master ~]# service iptables statusiptables: Firewall is not running.# selinux[root@master ~]# sestatusSELinux status: disabled# hosts[root@master ~]# <=== '@'后面变为对应的master/slave1/slave2/...即可# 大页面[root@master ~]# cat /sys/kernel/mm/transparent_hugepage/enabledalways madvise [never][root@master ~]# cat /sys/kernel/mm/transparent_hugepage/defragalways madvise [never]# 内存交换[root@master ~]# cat /proc/sys/vm/swappiness0
- 
配置ssh无密钥连接(包含主机和从机) # 生成ssh密钥,[root@localhost ~]# ssh-keygen -t rsa输入如上命令,然后按三次回车Generating public/private rsa key pair.Enter file in which to save the key (/root/.ssh/id_rsa):Created directory '/root/.ssh'.Enter passphrase (empty for no passphrase):Enter same passphrase again:Your identification has been saved in /root/.ssh/id_rsa.Your public key has been saved in /root/.ssh/id_rsa.pub.The key fingerprint is:93:d0:41:c9:b8:41:4d:88:01:c7:c2:f4:7e:25:4a:86 root@localhost.localdomainThe key's randomart image is:+--[ RSA 2048]----+| oooo+.B+. || o+o +.+. || E.+ ooo || + ..+ . || o . S || . . || || || |+-----------------+# 将公钥复制到本机和其他主机[root@master ~]# ssh-copy-id slave1如上命令需要对集群中的所有主机名执行一次,包含本身The authenticity of host 'master (172.23.1.65)' can't be established.RSA key fingerprint is 10:01:b9:60:ba:84:d1:fe:d5:34:70:a4:a0:34:d2:6a.Are you sure you want to continue connecting (yes/no)? yesWarning: Permanently added 'master,172.23.1.65' (RSA) to the list of known hosts.root@master's password:Now try logging into the machine, with "ssh 'master'", and check in:.ssh/authorized_keysto make sure we haven't added extra keys that you weren't expecting.# 测试无密连接[root@master ~]# ssh slave1Last login: Tue Feb 27 15:21:34 2018 from 172.21.1.201# Ctrl+D退出ssh连接[root@slave1 ~]# logoutConnection to slave1 closed.如上操作需要在所有主机之间进行验证
- 
配置jdk环境变量(包含主机和从机) cm默认回去 /usr/java目录寻找jdk,如果如果不存在,则新建一个,然后将jdk解压到该文件夹# 配置环境变量vi /etc/profile# 在行尾写入如下内容export JAVA_HOME=/usr/java/jdk1.8.0_152/export CLASSPATH=.:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jarexport PATH=$PATH:$JAVA_HOME/bin# 使环境变量生效source /etc/profile# 测试java是否配置成功[root@master ~]# java -versionjava version "1.8.0_152"Java(TM) SE Runtime Environment (build 1.8.0_152-b16)Java HotSpot(TM) 64-Bit Server VM (build 25.152-b16, mixed mode)
- 
安装mysql(主机) 安装mysql之前检查之前是否安装有mysql rpm -qa|grep mysql # 查看是否有mysql包 rpm -e --nodeps mysql-libs # 删除该包(例,centos7为mariadb-libs) mysql6.5基础所需的包为 client/devel/server,将三个包放一起然后执行以下命令rpm -ivh MySQL-* 启动mysql service mysql start 安装完成后用初始的随机密码登录并修改密码,初始的随即密码保存在 /root/.mysql_secretmysql -uroot -pyZ3PplFeSgK8dTHV # 用初始密码登录(例) set password=password('ceshi123'); # 修改初始密码 退出后重新进入mysql并执行以下命令 use mysql # 切换到mysql数据库 update user set password=password('ceshi123') where user='root'; # 设置所有'root'账户的密码 update user set host='%' where user='root' and host='localhost'; # 开启远程连接 update user set password_expired='N' where user='root'; # 设置密码永不过期 flush privileges; # 使以上修改生效 提前建立 oozie和hive的数据库create database oozie; create database hive; 
- 
文件解压(主机) 解压 cloudera-manager-el6-cm5.7.1_x86_64.tar.gz到/opt目录
- 
编辑config文件(主机) 编辑 /opt/cm-5.7.1/etc/cloudera-scm-agent/config.ini文件,按如下内容进行修改server_host=localhost ===> server_host=master 
- 
复制mysql-connector(主机) 将 mysql-connector-java-5.1.45-bin.jar文件复制到/opt/cm-5.7.1/share/cmf/lib/目录
- 
新建用户(包含主机和从机)) sudo useradd --system --home=/opt/cm-5.7.1/run/cloudera-scm-server/ --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
- 
初始化数据库(需要jdbc)(主机) /opt/cm-5.7.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pceshi123 --scm-host localhost scm scm scm注:出现'log4j'报错可以忽略复制文件到从机(主机)
- 
scp -r /opt/* slave1:/opt # 将opt目录下的所有文件复制到从机,如有多台从机则依次执行 scp -r /usr/java slave1:/usr/ # 将java复制到从机上,如有多台从机则依次执行 scp /etc/profile slave1:/etc/ # 将配置文件复制到从机上,如有多台从机则依次执行 复制完成后执行 source /etc/profile
- 
提升读写权限(主机) 将 /var/lib目录赋予其他用户读写的权限chmod o+w -R /var/lib/ 
- 
配置ntp服务器(包含主机和从机) - 
ntp安装 yum install -y ntp # 安装ntp chkconfig --add ntpd # 添加ntpd服务到启动项 chkconfig ntpd on # 设置ntpd开机启动 
 - 
ntp配置 vi /etc/ntp.conf # 编辑ntp配置文件,并修改如下内容 - 
主机配置 # Hosts on local network are less restricted.# 允许内网其他机器同步时间restrict 192.168.18.0 mask 255.255.255.0 nomodify notrap# Use public servers from the pool.ntp.org project.# 配置ntp服务器server ntp1.aliyun.comserver ntp2.aliyun.comserver ntp3.aliyun.comserver ntp4.aliyun.comserver ntp5.aliyun.com# allow update time by the upper server# 允许上层时间服务器主动修改本机时间restrict ntp1.aliyun.com nomodify notrap noqueryrestrict ntp2.aliyun.com nomodify notrap noqueryrestrict ntp3.aliyun.com nomodify notrap noquery# 外部时间服务器不可用时,以本地时间作为时间服务server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 10
- 
从机配置 # 配置ntp服务器的ipserver 192.168.18.90# 允许上层服务器主动修改本机时间restrict 192.168.18.90 nomodify notrap noquery# 外部服务器不可用时,以本地时间作为时间服务server 127.127.1.0 # local clockfudge 127.127.1.0 stratum 10
 
- 
 
- 
- 
判断ntpd同步(通常ntpd自动同步需要5-30分钟不等的时间) - 
主机测试 如果ntp server出现ip地址,则同步成功 [root@master ~]# ntpstatsynchronised to NTP server (120.25.115.19) at stratum 3time correct to within 41 mspolling server every 1024 s从机测试
- 
如果ntp server出现主机的ip地址,则同步成功 [root@slave1 ~]# ntpstatsynchronised to NTP server (172.23.1.61) at stratum 4time correct to within 57 mspolling server every 1024 s
 ntp相关操作 service ntpd start/stop/restart # 启动/停止/重新启动ntpd服务 ntpstat # 查看当前ntpd同步状态 ntpdate -u ntp1.aliyun.com # 手动同步时间 hwclock -w # 手动同步时间后写入硬件 
- 
- 
放入cloudera版本文件(主机) 将如下三个文件放入 /opt/cloudera/parcel-repo文件夹中CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel.sha manifest.json 
- 
启动master和slaves - 
主机需要启动 agent和server/opt/cm-5.7.1/etc/init.d/cloudera-scm-server start /opt/cm-5.7.1/etc/init.d/cloudera-scm-agent start 
- 
从机只需要启动 agent/opt/cm-5.7.1/etc/init.d/cloudera-scm-agent start 
 
- 
- 
检查7180端口是否启动(主机) [root@master CDH-CentOS6-5.7.1]# netstat -nutlp|grep 7180tcp 0 0 0.0.0.0:7180 0.0.0.0:* LISTEN 1669/java如果出现如上内容的话,就可以打开浏览器进入安装页面了,如 172.23.1.60:7180
网页配置
- 主界面,帐号admin,密码admin
![]()  
- 
- 协议,勾选同意,点击继续
![]()  
- 版本选择,选择免费,点击继续
![]()  
- 点击继续

- 勾选创建的有主机,点击继续
![]()  
- 选择版本,选择我们5.7.1的版本,点击继续
![]()  
- 安装,解压,激活过程,完成后点击继续

- 
添加mysql连接使用的jar包 回到后台,将 mysql-connector-java-5.1.45-bin.jar包复制到以下两个路径/var/lib/oozie /opt/cloudera/parcels/CDH-5.7.1-1.cdh5.7.1.p0.11/lib/hive/lib/ 
- 
安全检查,点击继续 

- 选择需要安装的服务,根据实际需求进行选择,这里我们选择全部,点击继续

- 选择每台主机对应的角色,这里我们保持默认,点击继续

- 为hive和oozie选择对应的数据库,因为之前我们提前创建了这两个数据库,所有这里填写mysql数据库的帐号密码即可,输入完成后可以点击测试连接进行验证,验证通过后,点击继续

- 服务参数配置界面,保持默认即可,点击继续

- 安装界面,这里过程比较久,等它自动跑完所有选择即可,完成后点击继续

- 下图就是安装完成后cloudera manager的主界面,关于cloudera如何使用会在后续文档中逐渐补充

参考网站
https://www.cloudera.com/documentation/enterprise/5-7-x.html # 官方5.7.1参考文档
http://archive.cloudera.com/cdh5/parcels/latest/ # CDH-parcels安装包下载地址
http://archive.cloudera.com/cm5/cm/5/ # cm安装包下载地址
 
                    
                     
                    
                 
                    
                 
 
         
 
 
 
 
 
                
            
         浙公网安备 33010602011771号
浙公网安备 33010602011771号