【CDH篇】---CDH从初识到搭建到应用
一、前述
CDH(Cloudera's Distribution, including Apache Hadoop)是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建提供了Hadoop的核心可扩展存储、分布式计算 基于Web的用户界面。
简单来说CDH就是把我们知道的大数据家族组件进行了一个组合,然后提供了一个WEB-UI的页面,使原来的搭建操作变得非常简单。CDH架构图如下:
这里面server是服务端,agent值真正安装应用程序的节点。Management是元数据管理,DataBase是元数据的对应的数据库。
二、安装
CDH安装Cloudera Manager、Yum、Rpm、Tarball支持,4种方式,本实例演示第一种离线安装。
前期准备:
操作系统:CentOS 6
JDK版本:1.7.0_80
所需安装包及版本说明:
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel
CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
manifest.json
cloudera-manager-el6-cm5.4.3_x86_64.tar.gz
Cloudera Manager下载目录
http://www.cloudera.com/downloads/manager/5-4-3.html
CDH下载目录
http://archive.cloudera.com/cdh5/parcels/5.4.0/
对应文档:
CDH5.4
http://archive.cloudera.com/cdh5/
Cloudera Manager5.4.3:
http://www.cloudera.com/downloads/manager/5-4-3.html
这里面CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha这个东西的制作时根据manifest.json中的版本的Hash值来制作的找到对应的版本把hash值拷贝进去 如下:
对应版本:
对应Hash值:
写入:CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel.sha
系统环境准备
1、网络配置
vi /etc/sysconfig/network
vi /etc/hosts
2、SSH免密钥登录
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa 这里是Rsa的方式注意和dsa的区别
ssh-copy-id
3、防火墙关闭
service iptables stop
chkconfig iptables off
chkconfif --list iptables 2-5机位为off即全部关闭
service iptables status
4、SELINUX关闭
setenforce 0
vi /etc/selinux/config (SELINUX=disabled)
5、安装JDK配置环境变量
6、安装NTP
设置开机启动 chkconfig ntpd on
设置时间同步
ntpdate s2c.time.edu.cn
7、安装配置mysql
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123' WITH GRANT OPTION;
flush privileges
8、下载第三方依赖包
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb -y
集群规划与安装
根据CDH集群节点:
准备在
node1------------server
node1,node2,node3-----agent
1、安装Cloudera Manager Server、Agent(node1,node2,node3)
mkdir /opt/cloudera-manager
tar xvzf cloudera-manager*.tar.gz -C /opt/cloudera-manager
2、创建用户cloudera-scm(node1,node2,node3)
useradd --system --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm
3、配置CM Agent(node1,node2,node3)
修改文件/opt/cloudera-manager/cm-5.4.3/etc/cloudera-scm-agent/config.ini中server_host指向node1,即server节点。
4、配置CM Server数据库(node1假设mysql数据库在node1上)
拷贝mysql jar文件到目录 /usr/share/java/
注意jar包名称要修改为mysql-connector-java.jar!!!这个一定要命名为此。
grant all on *.* to 'temp'@'%' identified by 'temp' with grant option;
cd /opt/cloudera-manager/cm-5.4.3/share/cmf/schema/
./scm_prepare_database.sh mysql temp -h node1 -utemp -ptemp --scm-host node1 scm scm scm
格式:数据库类型、数据库、数据库服务器、用户名、密码、cm server服务器
5、创建Parcel目录(真正的软件存放目录)
Server节点(node1)
mkdir -p /opt/cloudera/parcel-repo
chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo(为软件存放目录加上权限)
Agent节点(node1,node2,node3)
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
6、制作CDH本地源
下载好文件CDH-5.4.0-1.cdh5.4.0.p0.27-el6.parcel以及manifest.json,将这两个文件放到server节点的/opt/cloudera/parcel-repo下。
打开manifest.json文件,里面是json格式的配置,找到与下载版本相对应的hash码,新建文件,文件名与你的parel包名一致,并加上.sha后缀,将hash码复制到文件中保存。
7、启动CM Server、Agent
启动server
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/(node1)
./cloudera-scm-server start
Sever首次启动会自动创建表以及数据,不要立即关闭或重启,否则需要删除所有表及数据重新安装!!!可以监控目录log
cd /opt/cloudera-manager/cm-5.4.3/log/cloudera-scm-server
直到如上信息方位启动成功,时间可能有点长需要耐心等待!!!
启动agent(node1,node2,node3)
cd /opt/cloudera-manager/cm-5.4.3/etc/init.d/
./cloudera-scm-agent start
8.访问Web-UI页面
访问:http://ManagerHost:7180,
用户名、密码:admin
若可以访问,则CM安装成功。
至此搭建成功!!!!
三、使用
免费版本的CM5已经去除50个节点数量的限制。
各个Agent节点正常启动后,可以在当前管理的主机列表中看到对应的节点。
选择要安装的节点,点继续。
接下来,出现以下包名,说明本地Parcel包配置无误,直接点继续就可以了。
接下来是服务器检查,可能会遇到以下问题:
Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您可以继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机由于交换运行状况不佳。以下主机受到影响:
通过 echo 0 > /proc/sys/vm/swappiness 即可解决。
接下来是选择安装服务:
服务配置,一般情况下保持默认就可以了(Cloudera Manager会根据机器的配置自动进行配置,如果需要特殊调整,自行进行设置就可以了):
接下来是数据库的设置,检查通过后就可以进行下一步的操作了:
下面是集群设置的审查页面,我这里都是保持默认配置的:
终于到安装各个服务的地方了,注意,如果采用其他数据库安装Hive等组件的时候报错,检查之前配置CM Server数据库时,jar包拷贝位置及名称是否修改
服务的安装过程大约半小时内就可以完成:
安装完成后,就可以进入集群界面看一下集群的当前状况了。
这里可能会出现无法发出查询:对 Service Monitor 的请求超时的错误提示,如果各个组件安装没有问题,一般是因为服务器比较卡导致的,过一会刷新一下页面就好了:
至此服务搭建完毕!!!
四、ClouderaManager-webUI相关使用即概念
角色:
主机 - host
机架 - rack
集群 - Cluster
服务 - service
服务实例 - service instance
角色 - role
角色实例 - role instance
角色组 - role group
主机模板 - host template
parcel
静态服务池 - static service pool
动态资源池 - dynamic resource pool
功能:
1、管理监控集群主机。
2、统一管理配置。
3、管理维护Hadoop平台系统。
CDH部署步骤:
1、启动CM Server、 Agent
2、选择节点
3、选择本地Parcel
4、服务器检查
5、选择服务
6、服务配置
7、数据库设置
8、集群设置
9、安装完成
CDH建库脚本:
##amon
create database amon DEFAULT CHARACTER SET utf8;
grant all on amon.* TO 'amon'@'%' IDENTIFIED BY 'amon';
##hive
create database hive DEFAULT CHARACTER SET utf8;
grant all on hive.* TO 'hive'@'%' IDENTIFIED BY 'hive';
##oozie
create database oozie DEFAULT CHARACTER SET utf8;
grant all on oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie';
添加服务
备注:
1.Hadoop配置目录:/etc 根目录
2.关机时先关集群,然后再关agent,然后再关server.