product of大数据平台搭建------CM 和CDH安装
一、安装说明
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 |
**注意127.0.0.1对应的node2要删掉,否则后面mysql的登录会有问题
2.2 关闭防火墙和SELINUX
关闭防火墙 |
暂时关闭 |
service iptables stop |
永久关闭 |
chkconfig iptables off |
|
关闭SELINUX |
临时关闭 |
setenforce 0 |
永久关闭 |
vim /etc/selinux/config 修改SELINUX=enforcing 改为 SELINUX=disabled |
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 |
**遇到问题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 |
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位置
*****问题2:mysql一直提示Accessdenied for user 'root'@'node2
故障原因:hosts文件中的地址解析和mysql有冲突
解决办法:删除host文件中主机名对应的IP,重装mysql或在其他机器上安装mysql。
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]。
选择自己提前下载好的parcel包对应的版本。
*****问题1:在本页面中找不到“当前管理的主机”的Tab栏,
故障原因:没有在agent中配置server的主机名
解决办法:在/etc/cloudera-scm-agent/config.ini中配置CM的主机名,此处改成node2.
4.2 正式开始安装CDH
JDK安装 |
不勾选,使用我们之前安装好的jdk,点击继续 |
单用户模式 |
不勾选,点击继续 |
SSH凭据 |
为系统提供ssh密码,点击继续 |
*****问题1:node4无法接收Agent发出的检测信号,
故障原因:node4上的hosts文件中的127.0.0.1对应的node4没有删除
解决办法:删除hosts文件中对应的node4
点击继续
*****问题1:检查器在node[3-4]上未启动
故障原因:clouderamanager 不会自动去系统环境变量里寻找jdk,而会用自己的bigtop管理jdk
解决办法:修改/usr/lib64/cmf/service/common/cloudera-config.sh中对应版本的jdk_candidates,添加自己安装的jdk
*****注意:路径前有斜杠,千万不要漏掉!千万不要漏掉!千万不要漏掉!之前漏掉了一次,排查了好久
****问题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至少三台,其他设置保持默认即可,一路下一步
五、添加其他大数据组件
5.1 选择要添加的组件
5.2 分配角色
六、总结
一个如此简单的平台部署工作,对于我这个新手来说却折腾了大半天,一些常用的linux命令也不熟悉,各个文件的默认安装目录也不知道,什么事都要问百度,CDH和CM解决了大规模的集群的部署工作,简化了无数的手工操作,简直是中小公司快速部署大数据集群的福音,官方文档也十分详尽,里面有数不清的宝藏,大家有空可以多去看看,就当练习英语了都可以。但是CDH被诟病的地方也是其中各个组件的版本绑定太厉害,对于定制化开发需求很大的公司来说,是一个不能忍受的弊端。
https://blog.csdn.net/sinat_32176947/article/details/79591583
product of大数据平台搭建------CM 和CDH安装的更多相关文章
- 大数据平台搭建-spark集群安装
版本要求 java 版本:1.8.*(1.8.0_60) 下载地址:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downl ...
- 大数据平台搭建(hadoop+spark)
大数据平台搭建(hadoop+spark) 一.基本信息 1. 服务器基本信息 主机名 ip地址 安装服务 spark-master 172.16.200.81 jdk.hadoop.spark.sc ...
- CDH 大数据平台搭建
一.概述 Cloudera版本(Cloudera’s Distribution Including Apache Hadoop,简称“CDH”),基于Web的用户界面,支持大多数Hadoop组件,包括 ...
- HDP 大数据平台搭建
一.概述 Apache Ambari是一个基于Web的支持Apache Hadoop集群的供应.管理和监控的开源工具,Ambari已支持大多数Hadoop组件,包括HDFS.MapReduce.Hiv ...
- 大数据平台搭建-zookeeper集群的搭建
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...
- 大数据平台搭建-kafka集群的搭建
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...
- 大数据平台搭建:Hadoop
To construct big data distributed platform based on Hadoop is a common method. Hadoop comes fron Goo ...
- 大数据平台搭建 - cdh5.11.1 - hadoop集群安装
一.前言 由于线下测试的需要,需要在公司线下(测试)环境搭建大数据集群. 那么CDH是什么? hadoop是一个开源项目,所以很多公司再这个基础上进行商业化,不收费的hadoop版本主要有三个,分别是 ...
- Hadoop大数据平台搭建之前期配置(2)
环境:CentOS 7.4 (1708 DVD) 工具:VMware.MobaXterm 一. 克隆大数据集群 1. 选中已经进行了基本配置的虚拟机,进行克隆. 2. 此处改为"创建完整克 ...
随机推荐
- 浅谈Android系统开发中LOG的使用【转】
本文转载自:http://blog.csdn.net/luoshengyang/article/details/6581828 在程序开发过程中,LOG是广泛使用的用来记录程序执行过程的机制,它既可以 ...
- 修改push动画的方向
CATransition *animation = [CATransition animation]; animation.duration = 0.4; animation.timingFuncti ...
- 查找mysql的cnf文件位置
mysql --help|grep 'my.cnf' 查看mysql启动时读取配置文件的默认目录 命令 mysql --help|grep 'my.cnf' 输出 order of preferenc ...
- mysql备份,知识点
1.mysql错误日志 show variables like '%log_error%'; my.cnf中log-error=/tmp/SZDB.err 开启 tail -f 错误日志 观察mys ...
- maven 相关插件
maven打包配置,到底要打包哪些文件,如何配置??使用如下插件: <build> <finalName>weatherAdminSys</finalName> & ...
- 也来谈幂等和CAS
什么是幂等? 一个方法,不管你执行多少次,保证执行的结果总是相同的.这种方法或者服务就是幂等的. 什么是CAS? CAS是Compare And Set的缩写,顾名思义,就是先比较再设置,这种方式避免 ...
- matlab画折线
figure(721);hold on;x=1:1:5;%x轴上的数据,第一个值代表数据开始,第二个值代表间隔,第三个值代表终止 a=[203.024,113.857,256.259,244.888, ...
- NULL 与空字符串
空字符串 '' 不占内存空间; NULL占一个字节的空间; 空字符串 的判断用 == <> NULL值用 is null ifnull();
- hadoop_学习_02_Hadoop环境搭建(单机)
一.环境准备 1.说明 hadoop的下载来源有: 官方版本:http://archive.apache.org/dist/hadoop/ CDH版本:http://archive.cloudera. ...
- nodejs buffer 总结
JavaScript 语言自身只有字符串数据类型,没有二进制数据类型.Buffer 类,该类用来创建一个专门存放二进制数据的缓存区. 一个 Buffer 类似于一个整数数组,但它对应于 V8 堆内存之 ...