Cloudera Manager(简称CM)是Cloudera公司开发的一款大数据集群安装部署利器,这款利器具备集群自动化安装、中心化管理、集群监控、报警等功能,使得安装集群从几天的时间缩短在几小时之内,运维人员从数十人下降到几人之内,极大的提升集群管理的效率。html
开始以前其实有不少的工做要作,好比配置IP地址、关闭防火墙、配置SSH免密登陆等,这些都是比较常规的环境配置,这里再也不赘述,不懂者能够参考大数据 -- Hadoop集群环境搭建中部份内容。java
附上大数据“前世此生”的一篇文章给你们,但愿你们对大数据有更多的了解,大数据的前世此生:诞生、发展、将来?mysql
Cloudera Manager出现背景 | 当一个开源的产品作的愈来愈好之后,就有人但愿从开源产品里面赚钱。在Hadoop开源中赚钱的标志是Cloudera公司在2008年诞生。 |
解决什么问题 | 大量减小集群部署时间linux 升级和各个生态技术的兼容性强web 支持Kerberos安全认证sql 易于维护shell 修复不少hadoop的bug数据库 基于web界面的管理集群方式express 可以监控集群的运行状态并告警vim |
劣势 | 系统以来高 自定制源代码难度高 带有付费产品功能 设计到产生锁定的问题 |
四、本教程使用虚拟机配置
根据本身的PC进行配置:
192.168.1.101(zy1) | 192.168.1.102(zy2) | 192.168.1.103(zy3) | |
角色 | Server/Agent | Agent | Agent |
CPU | 4核 | 2核 | 2核 |
内存 | 16G | 8G | 4G |
之因此要作服务器集群的时间同步,我想你们应该不言而喻了吧,CM要求各个节点之间的时间不可以相差太多,为的就是保证集群的统一管理和减小没必要要的错误、麻烦。还有一个缘由就是通常企业里用到的服务器是不可以链接外网的,因此第一步咱们就开始作服务器集群时间同步。
CST为中国中部标准时间,若是不是CST,将全部主机都修改成CST:
cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
这里须要安装一个时间主服务器,其它节点的时间分别去同步这台时间主服务器,这样就能够统一去管理时间了,ntp恰好提供了这一功能,其它的节点按照时间间隔进行不断同步,达到时间一致的效果。
每台服务器都须要安装ntp,经过yum进行安装:
yum install -y ntp
1)修改全部节点的/etc/ntp.conf
vi /etc/ntp.conf
restrict 192.168.1.10x nomodify notrap nopeer noquery //当前节点IP地址 restrict 192.168.1.1 mask 255.255.255.0 nomodify notrap //集群所在网段的网关(Gateway),子网掩码(Genmask)
2)选择一个主节点zy1,修改其/etc/ntp.conf
vi /etc/ntp.conf
在server部分添加一下部分,并注释掉server 0 ~ n
server 127.127.1.0 Fudge 127.127.1.0 stratum 10
3)主节点之外,继续修改/etc/ntp.conf
vi /etc/ntp.conf
在server部分添加以下语句,将server指向主节点:
server 192.168.1.101 Fudge 192.168.1.101 stratum 10
修改后,各个节点配置以下:
主节点(zy1):
其它节点zy2:
节点zy3:
执行如下命令后,ntp服务就会启动成功,并开启了自启动:
systemctl start ntpd.service systemctl enable ntpd.service service ntpd status
编辑/etc/sysconfig/selinux文件,把把里边的一行改成SELINUX=disabled**,而后重启就能够了:
mysql数据安装在哪均可以,只要可以访问到这个数据库就能够,这里将数据库安装在zy1节点上,具体能够参考博客:Linux下yum方式安装mysql 以及卸载。
一、直接使用yum -y install命令安装mysql是没法安装mysql的高级版本,须要先安装带有可用的mysql5系列社区版资源的rpm包,输入以下命令进行安装:
rpm -Uvh http://dev.mysql.com/get/mysql-community-release-el7-5.noarch.rpm
二、 查看mysql可用版, 而后使用以下命令查看mysql的可用版本:
yum repolist enabled | grep "mysql.*-community.*"
三、而后就能够开始安装mysql了,通常咱们只须要安装mysql-server和mysql-client就能够了:
yum -y install mysql-community-server
四、mysql安装成功后使用命令开启服务:
systemctl start mysql
可使用命令让mysq服务加入开机启动(可选):
systemctl enable mysqld
使用命令查看mysql状态:
systemctl status mysql
5) 建立用户并登陆mysql,使用命令建立用户:
mysqladmin -u root password 123456aa
6) 使用navicat链接mysql,在使用navicat链接mysql以前须要先给用户授予远程登陆权限,不然将没法链接mysql。在本机登陆mysql后,使用以下命令进行远程登陆受权:
grant all privileges on *.* to 'root'@'%' identified by '123456aa' with grant option
其中root是用户名,123456aa是密码;上述命令是容许使用该用户名和密码从任何主机访问该服务器上的mysql,而后执行以下命令:
flush privileges systemctl restart mysql
7) 本机终端链接:
mysql -u root -p
而后输入密码便可:
8) 卸载
查看已安装的mysql 命令:
rpm -qa | grep -i mysql
yum remove mysql-xxx依次卸载,直到mysql的其它依赖所有卸载掉为止;
使用命令查看mysql相关的文件目录:
find / -name mysql
将文件下载到主节点/opt/bigdata目录下:http://archive.cloudera.com/cm5/cm/5/
wget http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz
解压:
tar -xzvf cloudera-manager-centos7-cm5.16.2_x86_64.tar.gz -C /opt/bigdata/cloudera
在解压路径下出现两个子目录cloudera和cm-5.16.2,其中cm-5.16.2存放CM框架自己的配置、依赖库、启动脚本等文件。
修改文件/opt/bigdata/cloudera/cm-5.16.2/etc/cloudera-scm-agent/config.ini指向server所在的服务器地址:
vim /opt/bigdata/cloudera/cm-5.16.2/etc/cloudera-scm-agent/config.ini
下载mysql驱动包,放在/opt/bigdata/cloudera/cm-5.16.2/share/cmd/lib目录下:
cd /opt/bigdata/cloudera/cm-5.16.2/share/cmf/lib wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.47/mysql-connector-java-5.1.47.jar
拷贝CM文件夹给其它节点:
scp -r /opt/bigdata/cloudera/ zy2:/opt/bigdata/ scp -r /opt/bigdata/cloudera/ zy3:/opt/bigdata/
在全部节点建立cloudera Manager用户cloudera-scm:
useradd --system --home=/opt/bigdata/cloudera/cm-5.16.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm 详解: useradd --system 表示建立的是系统用户 --home=/opt/bigdata/cloudera/cm-5.16.2/run/cloudera-scm-server 指定用户主目录路径 --no-create-home 不建立用户主目录 --shell=/bin/false 不做为一个登录用户 --comment "Cloudera SCM User" cloudera-scm 用户名
验证:# cat /etc/passwd | grep cloudera-scm。
二、下载CDH文件(主节点操做)首先来介绍什么是CDH:
hadoop包含不少发行版本,如:
在主节点输入 mkdir /opt/cloudera/parcel-repo/ 新建文件夹,而后赋予权限:
mkdir /opt/bigdata/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/bigdata/cloudera/parcel-repo/
在全部子节点输入 mkdir /opt/cloudera/parcels/ 新建文件夹,而后赋予权限:
mkdir /opt/bigdata/cloudera/parcels chown cloudera-scm:cloudera-scm /opt/bigdata/cloudera/parcels/
下载CDH安装文件http://archive.cloudera.com/cdh5/parcels/5.14.0/到CM的parcel-repo包里,就能够经过parcel包进行安装CDH了,安装和升级都更加的方便了。
文件名中的el7表明CentOS7版本,若是是别的版本请下载其它的版本。
CDH源,去掉校验码文件结尾的1:
mv CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha1 CDH-5.14.0-1.cdh5.14.0.p0.24-el7.parcel.sha
官网下载比较慢,推荐到网盘下载: https://pan.baidu.com/s/1JC-vpYH7SWBwju9C8DkVPw 密码: 26v8.
此外,也能够卸载其它的parcel包,如kafka,也放在该路径下:
正常安装 cloudera-scm-server 时,安装 scm 库是经过脚本 /opt/bigdata/cloudera/cm-5.16.2/schema/scm_prepare_database.sh 来自动建库的。进入/opt/bigdata/cloudera/cm-5.16.2/share/cmf/schema目录下,执行如下命令:
./scm_prepare_database.sh mysql cm -h zy1 -uroot -p'123456aa' --scm-host zy1 scm scm scm
其语法格式以下:
./scm_prepare_database.sh mysql <mysql-database> -h<mysql-host> -u<mysql-user> -p<mysql-pwd> --scm-host <scm-host> <scm-user> <scm-dbname> <scm-pwd>
<mysql-database>,<mysql-host>,<mysql-user> <mysql-pwd> 是须要建立的 scm 库,对应的 mysql 的主机名,用户名和登陆密码;
若是执行失败,能够参考博客:安装CDH在初始化CM数据库的时候出现mysql数据库链接的问题的解决方案。
看到successfully则代表初始化成功; 输入mysql -uroot -p,进入mysql,输入show databases:
一、主节点中进入 /opt/bigdata/cloudera/cm-5.16.2/etc/init.d/ 目录,输入 ./cloudera-scm-server start 启动服务端;
./cloudera-scm-server start
若是想查看状态:
./cloudera-scm-server status
二、在全部从节点进入 /opt/bigdata/cloudera/cm-5.16.2/etc/init.d/ 目录,输入 ./cloudera-scm-agent start 启动agent:
./cloudera-scm-agent start
三、最后启动主节点代理:
./cloudera-scm-agent start
四、打开浏览器,访问主节点的7180端口,首次启动须要多等待一些时间才能访问到,由于cloudera manager正在初始化一些数据表(有些浏览器可能会没法访问,这里我用谷歌能够访问到这个页面):
进入页面后,用户名和密码都是 admin,点击登录,以下图:
若是进不去该页面,在主节点查看7180和7182端口是否打开:
若是端口没有打开,查看代理和服务的状态,并尝试重启。
成功登录后,进入下图,接受许可,点击继续:
选择60天试用版本,以下图,而后继续:
进入下图,点击继续:
点击选项卡中的“当前管理的主机”,将全部主机都勾选,而后点击继续,以下图:
进入下图,点击更多选项:
根据parcel实际路径修改如下两项;
修改成:
而后重启代理和服务:
./cloudera-scm-server restart ./cloudera-scm-agent restart
而后稍等几分钟,从http://192.168.1.101:7180/cmf/express-wizard/hosts页面开始,从新加载页面,勾选全部主机,步骤同上;而后进入以下界面:
等待CM自动安装配置CDH,以下图:
安装完成后点击继续,检查主机正确性以下图:
检验可能遇到如下问题:
在全部节点输入 sysctl vm.swappiness=10 按照建议,更改交换空间;
在全部节点输入 vi /etc/sysctl.conf ,在最后加入 vm.swappiness=10 ,使配置永久生效;
在全部节点执行echo never > /sys/kernel/mm/transparent_hugepage/defrag和echo never > /sys/kernel/mm/transparent_hugepage/enabled;
在全部节点输入vim /etc/rc.local ,而后将上面两条命令添加到该初始化脚本中,以便在系统重启时予以设置;
集群设置,这里我选择自定义,选择本身须要的环境,我只选择了zookeeper(安装的越多,出错几率更大,其它的能够后面一一安装)以下图,而后点击继续:
注意:先不要选择kafka,这个须要激活,咱们能够后面在安装。
服务配置通常按默认就能够,如需特殊调整,自行设置,而后点击继续,这里默认配置以下:
接下来数据库设置,输入对应库的名称,用户名和密码,而后点击测试链接,当测试经过后,点击继续:
因为以前咱们没有建立相应的数据库,所以须要链接mysql、建立数据库:
create database manager DEFAULT CHARACTER SET utf8; create database monitor DEFAULT CHARACTER SET utf8;
接下来是集群审核页面,这里默认就能够,点击继续:
点击继续:
安装完成以下图:
登陆192.168.1.101:7180页面,以下
点击操做,添加服务:
勾选HDFS:
若是出现相似如下的错误:
进入/opt/bigdata/cloudera/cm-5.16.2/run/cloudera-scm-agent/process目录下,检查Hadoop最新的部署文件:
检查Hadoop的配置文件:
vim hadoop-env.sh
能够发现配置的JAVA_HOME默认是 /usr/lib/j2sdk1.5-sun ,而咱们的JAVA_HOME路径是/usr/java/jdk1.8.0_231/,所以须要建立一个软连接,使得 /usr/lib/j2sdk1.5-sun指向/usr/java/jdk1.8.0_231/:
ln -s /usr/java/jdk1.8.0_231/ /usr/lib/j2sdk1.5-sun
这样就能够正常安装启动了。
参考文章
[1]Cloudera Manager(简称CM)+CDH构建大数据平台(转载)