product of大数据平台搭建------CM 和CDH安装

摘要:
1、 安装说明CM是Cloudera提供的大数据组件自动部署和监控管理工具,相应的CDH是Cloudera在开源hadoop社区版本的基础上商业打包的大数据平台。
一、安装说明

      CM是由cloudera公司提供的大数据组件自动部署和监控管理工具,相应的和CDH是cloudera公司在开源的hadoop社区版的基础上做了商业化的封装的大数据平台。

       采用离线安装模式,虽然在线安装比较简单,但是速度感人,原因大家都懂,这里我使用的各软件版本信息为:

操作系统:CentOS6.8

CDH版本:5.7.1:CDH-5.7.1-1.cdh5.7.1.p0.11-el5.parcel.sha

                           CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel

                           manifest.json

二 、系统环境部署

 

2.1 在所有节点上部署网络环境

vim /etc/hosts

product of大数据平台搭建------CM 和CDH安装第1张

**注意127.0.0.1对应的node2要删掉,否则后面mysql的登录会有问题

product of大数据平台搭建------CM 和CDH安装第2张

2.2 关闭防火墙和SELINUX

关闭防火墙

暂时关闭

service iptables stop

永久关闭

chkconfig iptables off

关闭SELINUX

临时关闭

setenforce 0

永久关闭

vim /etc/selinux/config

   修改SELINUX=enforcing 改为 SELINUX=disabled

product of大数据平台搭建------CM 和CDH安装第3张

2.3 安装JDK(这部就不多BB了)

2.4 设置时间同步

所有节点安装NTP

yum install ntp

配置开机自动启动

chkconfig ntpd on

检查是否开启成功

chkconfig --list ntpd(2-5为on则开启成功)

设置同步

ntpdate -u ntp.sjtu.edu.cn

product of大数据平台搭建------CM 和CDH安装第4张

**遇到问题noserver suitable for synchronization found

**解决方案:cmd里输入nslookup cn.pool.ntp.org,找到ping的通的IP,将这个IP地址替换到ntpdata -u后面

 

2.5 配置本地yum源或者第三方yum源

将xxxx.repo拷贝到各台机器的/etc/yum.repo.d下(这里的repo是公司自己部署的,我就直接拿过来用了)

清理元数据缓存

yum clean all

重新建立元数据缓存

yum makecache

product of大数据平台搭建------CM 和CDH安装第5张

2.6 在管理节点上安装mysql

 

安装mysql的yum源

rpm -ivh

http://repo.mysql.com/yum/mysql-5.5-community/el/6/x86_64/mysql-community-release-el6-5.noarch.rpm

修改安装好的yum源

vim /etc/yum.repos.d/mysql-community.repo

   将5.5的enabled改为1,5.6的enabled改为0

安装mysql

yum install mysql-server

添加自启动

启动mysql

修改root密码

进入mysql

chkconfig mysqld on

service mysqld start

mysqladmin -u root password '123456'

mysql -uroot -p123456

2.7 在mysql中创建相关库并授权

建库

mysql> create database amon default character set utf8 ;

mysql> create database rman default character set utf8;

mysql> create database metastore default character set utf8;

mysql> create database sentry default character set utf8;

mysql> create database hue default character set utf8;

mysql> create database nav default character set utf8;

mysql> create database navms default character set utf8;

mysql> create database oozie default character set utf8;

授权

mysql> grant all privileges on amon.* to 'amon'@'192.168.%' identified by 'amon';

mysql> grant all privileges on hue.* to 'hue'@'192.168.%' identified by 'hue';

mysql> grant all privileges on rman.* to 'rman'@'192.168.%' identified by 'rman';

mysql> grant all privileges on metastore.* to 'hive'@'192.168.%' identified by 'hive';

mysql> grant all privileges on sentry.* to 'sentry'@'192.168.%' identified by 'sentry';

mysql> grant all privileges on nav.* to 'nav'@'192.168.%' identified by 'nav';

mysql> grant all privileges on navms.* to 'navms'@'192.168.%' identified by 'navms';

mysql> grant all privileges on oozie.* to 'oozie'@'192.168.%' identified by 'oozie';

mysql> flush privileges;

2.8 添加cmadmin用户(可选)

各台机器上添加cmadmin用户

groupadd cmadmin

useradd cmadmin -g cmadmin

passwd cmadmin(cmadmin123.)

分别添加sudo权限

visudo

   cmadmin  ALL=(ALL)     ALL

切换到cmadmin用户

su cmadmin

2.9 配置SSH免密钥登录(可选)

Ssh免秘钥设置

注意调整/etc/hosts.all中的sshd访问权限,增加cm server的ip

sshd:192.168.8.20#cloudera manager server's ip

切换到cmadmin用户,执行下面命令

所有机器

ssh-keygen -t rsa

管理端

ssh-keygen -t rsa

cat ~/.ssh/id_rsa.pub  >> ~/.ssh/authorized_keys

chmod 600 .ssh/authorized_keys

scp -P 20022 ~/.ssh/authorized_keys

 cmadmin@tk-dat-hadoop179:~/.ssh/(根据具体ip变化)

  三、Cloudera Manager安装
 

3.1 安装CM

sudo yum install cloudera-manager-daemons cloudera-manager-server --enablerepo=jjmatch //这里的repo是刚才配置的本地yum源

3.2 创建临时初始化cloudera manager server数据库的账号

(node2替换为主机名)

mysql -uroot -p123456

    grant all privileges on *.* to 'temp'@'node2' identified by 'temp' with grant option;

    grant all privileges on *.* to scm@'node2' identified by scm with grant option;

 

3.3 初始化Manage server的数据库配置

/usr/share/cmf/schema/scm_prepare_database.sh mysql -h node2 -utemp -ptemp --scm-host node2 scm scm scm

*****问题1:提示找不到JAVA_HOME

故障原因:CM server找不到javahome

解决方案:将/usr/share/cmf/schema/scm_prepare_database.sh打开,在对应java版本的java_home_candidates里加上本机的java_home位置

product of大数据平台搭建------CM 和CDH安装第6张
 

*****问题2:mysql一直提示Accessdenied for user 'root'@'node2

故障原因:hosts文件中的地址解析和mysql有冲突

解决办法:删除host文件中主机名对应的IP,重装mysql或在其他机器上安装mysql。

成功界面

product of大数据平台搭建------CM 和CDH安装第7张

3.4 启动cloudera manager server服务

sudo service cloudera-scm-server start

3.5 Cloudera manager agent安装(所有节点):

yum  -y install cloudera-manager-agent cloudera-manager-daemons

3.6 准备parcels(parcels是cm能识别的cdh安装包):

1、从网上下载相关parcels至manager机器上的parcels目录(默认是/opt/cloudera/parcel-repo)

2、打开manifest.json文件,找到"parcelName":"CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel"对应的hash值(e24f56882ecdcf6837636abc8298c629c0f9d109),并将它复制下来,将CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha1 重命名为

CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha

mv CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha1 CDH-5.4.3-1.cdh5.4.3.p0.6-el6.parcel.sha

3、然后打开CDH-5.7.1-1.cdh5.7.1.p0.11-el6.parcel,把复制的hash值替换掉里面的值,正常情况下这个文件里的hash值是一致的。这样,本地源制作就完成了。

*****问题1:web页面找不到我所下载版本parcel包

故障原因:1、parcel包与parcel.sha1包对应的文件名不一样,一个是el5,一个是el6

                2、没看清楚安装文档,直接将mainfest.json中最末尾的hash值复制到parcel.sha中,应该是找到版本对应的hash值
 
四、通过CM安装CDH  

4.1 登录控制台,找到对应的主机和parcel安装包

    开始登陆clouderamanager管理控制台http://192.168.159.11:7180(cloudera manager server所在主机ip:7180)

    初始账号:amdin  密码:admin,选择Express版本,指定主机的时候,输入自己的机器的网段192.168.159.[11-13]。

product of大数据平台搭建------CM 和CDH安装第8张

  选择自己提前下载好的parcel包对应的版本。   

product of大数据平台搭建------CM 和CDH安装第9张

*****问题1:在本页面中找不到“当前管理的主机”的Tab栏,

故障原因:没有在agent中配置server的主机名

解决办法:在/etc/cloudera-scm-agent/config.ini中配置CM的主机名,此处改成node2.

product of大数据平台搭建------CM 和CDH安装第10张

4.2 正式开始安装CDH

JDK安装

不勾选,使用我们之前安装好的jdk,点击继续

单用户模式

不勾选,点击继续

SSH凭据

为系统提供ssh密码,点击继续

product of大数据平台搭建------CM 和CDH安装第11张

*****问题1:node4无法接收Agent发出的检测信号,

故障原因:node4上的hosts文件中的127.0.0.1对应的node4没有删除

解决办法:删除hosts文件中对应的node4

product of大数据平台搭建------CM 和CDH安装第12张

点击继续

product of大数据平台搭建------CM 和CDH安装第13张

*****问题1:检查器在node[3-4]上未启动

故障原因:clouderamanager 不会自动去系统环境变量里寻找jdk,而会用自己的bigtop管理jdk

解决办法:修改/usr/lib64/cmf/service/common/cloudera-config.sh中对应版本的jdk_candidates,添加自己安装的jdk

*****注意:路径前有斜杠,千万不要漏掉!千万不要漏掉!千万不要漏掉!之前漏掉了一次,排查了好久

product of大数据平台搭建------CM 和CDH安装第14张

****问题2:Cloudera建议将 /proc/sys/vm/swappiness 设置为 0

# vi /etc/sysctl.conf

   vm.swappiness = 0

*****问题3:已启用“透明大页面

echo never > /sys/kernel/mm/transparent_hugepage/enabled

echo never > /sys/kernel/mm/transparent_hugepage/defrag(暂时生效)

vim /etc/rc.local(将上面两行添加进来,永久生效)

4.2 选择组件

注意zookeeper至少三台,其他设置保持默认即可,一路下一步

product of大数据平台搭建------CM 和CDH安装第15张

五、添加其他大数据组件

 

5.1 选择要添加的组件

 

product of大数据平台搭建------CM 和CDH安装第16张

5.2 分配角色

product of大数据平台搭建------CM 和CDH安装第17张

六、总结

    一个如此简单的平台部署工作,对于我这个新手来说却折腾了大半天,一些常用的linux命令也不熟悉,各个文件的默认安装目录也不知道,什么事都要问百度,CDH和CM解决了大规模的集群的部署工作,简化了无数的手工操作,简直是中小公司快速部署大数据集群的福音,官方文档也十分详尽,里面有数不清的宝藏,大家有空可以多去看看,就当练习英语了都可以。但是CDH被诟病的地方也是其中各个组件的版本绑定太厉害,对于定制化开发需求很大的公司来说,是一个不能忍受的弊端。

https://blog.csdn.net/sinat_32176947/article/details/79591583

免责声明:文章转载自《product of大数据平台搭建------CM 和CDH安装》仅用于学习参考。如对内容有疑问,请及时联系本站处理。

上篇如何准备IREB考试C#扫盲篇(三):Action和Func委托--实话实说下篇

宿迁高防,2C2G15M,22元/月;香港BGP,2C5G5M,25元/月 雨云优惠码:MjYwNzM=

相关文章

SqlServer 数据库/数据表 拆分(分布式)【转】

通过某种特定的条件,将存放在同一个数据库中的数据分散存放到多个数据库上,实现分布存储,通过路由规则路由访问特定的数据库,这样一来每次访问面对的就不是单台服务器了,而是N台服务器,这样就可以降低单台机器的负载压力。提示:sqlserver 2005版本之后,可以友好的支持“表分区”。 垂直(纵向)拆分:是指按功能模块拆分,比如分为订单库、商品库、用户库......

爬虫和数据

一为什么要做爬虫? 首先请问:都说现在是"大数据时代",那数据从何而来? 企业产生的用户数据:百度指数:http://index.baidu.com/阿里指数:https://alizs.taobao.com/TBI腾讯浏览指数:http://tbi.tencent.com/新浪微博指数:http://data.weibo.com/index 数...

hadoop 常存问题

经常遇到的exception是:PipeMapRed.waitOutputThreads(): subprocess failed with code N "OS error code 1: Operation not permitted" "OS error code 2: No such file or directory" "OS error co...

自定义mysql函数时报错,[Err] 1418

  今天在我执行自定义mysql函数的SQL时发生了错误,SQL如下: /** 自定义mysql函数 getChildList */delimiter //CREATE FUNCTION `pengwifi_wifi`.`getChildList`(rootId INT)RETURNS varchar(1000) BEGIN DECLARE sTemp...

通过python给mysql建表

一.python连接mysql from sqlalchemy import create_engine # 数据库数据 HOSTNAME = '127.0.0.1' # linux本地 PORT = '3306' DATABASE = 'mydb' USERNAME = 'admin' PASSWORD = '...

spark性能测试理论-Benchmark(转)

一、Benchmark简介Benchmark是一个评价方式,在整个计算机领域有着长期的应用。正如维基百科上的解释“As computer architecture advanced, it became more difficult to compare the performance of various computer systems simply...