【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.
【CDH篇】---CDH从初识到搭建到应用的更多相关文章
- CDH 5.5.1 Yum源服务器搭建
CDH 5.5.1 Yum源服务器搭建 下载Cloudera Repo #下载资源仓库repo wget https://archive.cloudera.com/cdh5/redhat/6/x86_ ...
- CDH版本大数据集群下搭建的Hue详细启动步骤(图文详解)
关于安装请见 CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz)(博主推荐) Hue的启动 也就是说,你Hue ...
- 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建
CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...
- Python开发【第二篇】:初识Python
Python开发[第二篇]:初识Python Python简介 Python前世今生 python的创始人为吉多·范罗苏姆(Guido van Rossum).1989年的圣诞节期间,吉多·范罗苏 ...
- Cloudera Hadoop什么是CDH及CDH版本介绍
本文引用自:Cloudera Hadoop什么是CDH及CDH版本介绍http://www.aboutyun.com/thread-6788-1-1.html(出处: about云开发) 云技术新兴的 ...
- mysql学习【第1篇】:初识MySQL
狂神声明 : 文章均为自己的学习笔记 , 转载一定注明出处 ; 编辑不易 , 防君子不防小人~共勉 ! mysql学习[第1篇]:初识MySQL 只会写代码的是码农:学好数据库,基本能混口饭吃:在此基 ...
- SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 后端篇(一): 搭建基本环境、整合 Swagger、MyBatisPlus、JSR303 以及国际化操作
相关 (1) 相关博文地址: SpringBoot + Vue + ElementUI 实现后台管理系统模板 -- 前端篇(一):搭建基本环境:https://www.cnblogs.com/l-y- ...
- CDH 6.0.1 集群搭建 「Before install」
从这一篇文章开始会有三篇文章依次介绍集群搭建 「Before install」 「Process」 「After install」 继上一篇使用 docker 部署单机 CDH 的文章,当我们使用 d ...
- CDH版本大数据集群下搭建Hue(hadoop-2.6.0-cdh5.5.4.gz + hue-3.9.0-cdh5.5.4.tar.gz)(博主推荐)
不多说,直接上干货! 我的集群机器情况是 bigdatamaster(192.168.80.10).bigdataslave1(192.168.80.11)和bigdataslave2(192.168 ...
随机推荐
- 自己动手写Redis客户端(C#实现)3 - GET请求和批量回复
实现代码(C#) 1.发送GET指令 string keyGet = "SetKeyTest"; // 设置 的key StringBuilder sbSendGet = new ...
- python re库的正则表达式学习笔记
1. 安装 默认已经安装好了python环境了 re库是python3的核心库,不需要pip install,直接import就行 2. 最简单的模式 字符本身就是最简单的模式 比如:'A', 'I ...
- pwn学习之四
本来以为应该能出一两道ctf的pwn了,结果又被sctf打击了一波. bufoverflow_a 做这题时libc和堆地址都泄露完成了,卡在了unsorted bin attack上,由于delete ...
- 如何从Eclipse导入github上的项目源码--转载
[转载出处声明:hil2000的专栏] 1.首先在github.com上申请一个账号,比如笔者的账号为puma0072.Eclipse需要安装egit插件,在Eclipse中选择help->Ma ...
- tomcat运行后提示Could not create the Java Virtual Machine.
大致的问题是Java虚拟机(JVM)分配的内存大于系统可用内存,一开始去网上找了些资料,大多是都是说修改MyEclipse安装目录下的elicpse.ini文件中的内存大小.但我试了之后发现然并软,后 ...
- python中for嵌套打印图形
# 打印出九九乘法表 1 * 1 = 1 2 * 1 = 2 2 * 2 = 4 3 * 1 = 3 3 * 2 = 6 3 * 3 = 9 4 * 1 = 4 4 * 2 = 8 4 * 3 = 1 ...
- Linux查看端口号是否使用
netstat -lntup|grep 80 如果令命无法执行 yum install net-tools
- 11-Cookie&Session
中文文件下载 针对浏览器类型,对文件名字做编码处理 Firefox (Base64) , IE.Chrome ... 使用的是URLEncoder /* * 如果文件的名字带有中文,那么需要对这个文件 ...
- ECharts使用:this.dom.getContext is not a function
echarts 画图报错 this.dom.getContext is not a function; 原因:因为在初始化echarts的时候,echarts.js规定只能使用dom原生方法获取标签, ...
- R语言读入数据库的中英名词互译测试并计分脚本(考试用)
1. 分子生物学中英文.csv,输入文件,两列,以tab键分隔的txt文本,没有列名 2. 错误的名解.csv, 如果在测试中拼写错误,会写出到这个文件,可用这个容易犯错的名词进行新的测试 3. 注意 ...