大数据 -- Cloudera Manager(简称CM)+CDH构建大数据平台

1、Cloudera Manager介绍

Cloudera Manager(简称CM)是Cloudera公司开发的一款大数据集群安装部署利器,这款利器具备集群自动化安装、中心化管理、集群监控、报警等功能,使得安装集群从几天的时间缩短在几小时之内,运维人员从数十人下降到几人之内,极大的提升集群管理的效率。html

开始以前其实有不少的工做要作,好比配置IP地址、关闭防火墙、配置SSH免密登陆等,这些都是比较常规的环境配置,这里再也不赘述,不懂者能够参考大数据 -- Hadoop集群环境搭建中部份内容。java

附上大数据“前世此生”的一篇文章给你们,但愿你们对大数据有更多的了解,大数据的前世此生:诞生、发展、将来?mysql

一、CM技术架构

  •  Agent:安装在每台主机上,负责启动和中止的过程、拆包配置、触发装置和监控主机;
  • Management Service:一组执行各类监控、警报和报告功能角色的服务;
  • Database:存储配置和监视信息,一般状况下,多个逻辑数据库在一个或多个数据库服务器上运行;例如,Cloudera的管理服务器和监控角色使用不一样的逻辑数据库;
  • Cloudera Repository:软件由Cloudera 管理分布存储库;
  • Clients:是用于与服务器进行交互的接口;
  • Admin Console :基于Web的用户界面与管理员管理集群和Cloudera管理;
  • API :与开发人员建立自定义的Cloudera Manager应用程序的API;

二、CM四大功能

  • 管理:对集群进行管理,如添加、删除节点等操做;
  • 监控:监控集群的健康状况,对设备的各类指标和系统运行状况进行全面监控;
  • 诊断:对集群出现的问题进行诊断,对出现的问题给出建议解决方案;
  • 集成:对hadoop的多种组件进行整合;

三、分析表格

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

2、集群时间同步

之因此要作服务器集群的时间同步,我想你们应该不言而喻了吧,CM要求各个节点之间的时间不可以相差太多,为的就是保证集群的统一管理和减小没必要要的错误、麻烦。还有一个缘由就是通常企业里用到的服务器是不可以链接外网的,因此第一步咱们就开始作服务器集群时间同步。

一、配置时间为中国的时区

 CST为中国中部标准时间,若是不是CST,将全部主机都修改成CST:

cp /usr/share/zoneinfo/Asia/Shanghai /etc/localtime

二、ntp时间同步服务器安装

这里须要安装一个时间主服务器,其它节点的时间分别去同步这台时间主服务器,这样就能够统一去管理时间了,ntp恰好提供了这一功能,其它的节点按照时间间隔进行不断同步,达到时间一致的效果。

每台服务器都须要安装ntp,经过yum进行安装:

yum install -y ntp

三、配置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服务

 执行如下命令后,ntp服务就会启动成功,并开启了自启动:

systemctl start ntpd.service systemctl enable ntpd.service service ntpd status

三 设置SELINUX

编辑/etc/sysconfig/selinux文件,把把里边的一行改成SELINUX=disabled**,而后重启就能够了:

四 安装mysql数据库

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

5、安装Cloudera Manager

一、下载CM安装文件而且进行配置

将文件下载到主节点/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:

  • CDH全称Cloudera’s Distribution Including Apache Hadoop,是面向hadoop的企业级部署,是hadoop(hadoop、flume、hbase等等)发行版本之一;
  • 由Cloudera公司维护,基于稳定版本的Apache Hadoop构建;
  • 提供了Hadoop的核心:可扩展存储、分布式计算;
  • 基于web的用户界面;

hadoop包含不少发行版本,如:

  • Apache Hadoop;
  • Cloudera’s Distribution Including Apache Hadoop(CDH);
  • Hortonworks Data Platform (HDP);
  • MapR;
  • EMR;

在主节点输入 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版本,若是是别的版本请下载其它的版本。

  • CM只能识别不高于自身版本低的CDH;
  • 修改**.sha1结尾的文件名为.sha**,这才可以被CM识别;

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

正常安装 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 的主机名,用户名和登陆密码;

  • <scm-host>,<scm_user>,<scm-dbname>,<scm-pwd>分别对应 cloudera-scm-server 部署在的主机名,scm 库的登陆用户,scm 库的库名,scm 库的登陆密码;

若是执行失败,能够参考博客:安装CDH在初始化CM数据库的时候出现mysql数据库链接的问题的解决方案。

看到successfully则代表初始化成功; 输入mysql -uroot -p,进入mysql,输入show databases:

6、CM启动 & CDH安装

一、主节点中进入 /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; 

接下来是集群审核页面,这里默认就能够,点击继续:

点击继续:

安装完成以下图:

7、启动Hdfs

登陆192.168.1.101:7180页面,以下

 

一、部署HDFS

点击操做,添加服务:

 

 勾选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构建大数据平台(转载)

[2]Linux配置ntp时间服务器(全)

[3]Centos7离线安装Cloudera Manager 5.14.1

[4]CDH集群手动导入scm库

[5]CenOS7下CM&CDH大数据平台搭建

[6]CDH安装:选定的 Parcel 正在下载并安装在群集的全部主机上 主机运行情况不良

相关文章
相关标签/搜索