一、前述
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配置环境变量
export JAVA_HOME=/usr/java/jdk1.7.0_67
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
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.