cloudera官网: https://www.cloudera.com/
官方文档地址: https://www.cloudera.com/documentation/enterprise/latest.html
一 .CDN介绍和解决的问题
CDH是由cloudera进行开发的大数据一站式平台管理解决方案,基于Hadoop生态的第三方发行版本,这样的描述相信大家还是挺难理解的,我们一起来梳理下CDH带来的改观.
作坊和工厂有什么区别? 一个是做出来东西就好了,一个是精细化流水线生产
用这个来对比自建Hadoop和CDH再好不过,要理解其中的区别我们需要先对CDH有个基础的认知,先从了解CDH解决了常见的什么问题
组件兼容
-
复杂的生态环境。在Hadoop生态圈中,组件的选择、使用,比如Hive,Mahout,Sqoop,Flume,Spark,Oozie等等,需要大量考虑兼容性的问题,版本是否兼容,组件是否有冲突,编译是否能通过等。经常会浪费大量的时间去编译组件,解决版本冲突问题。
-
CDH每个版本都会有兼容认证都是经过严格的测试之后公布的,理论上来说只要统一CDH版本就不会出现兼容问题
稳定安全
-
不同的版本会有不同的漏洞很容易被被利用,又不敢轻易更新
-
版本更新快。通常情况,比如CDH每个季度会有一个update,每一年会有一个release。基于稳定版本Apache Hadoop,并应用了最新Bug修复或Feature的patch
安装配置管理
-
复杂的集群部署、安装、配置。通常按照集群需要编写大量的配置文件,分发到每一台节点上,容易出错,效率低下,还需要大量的查阅资料文档。
-
统一的网页进行安装配置,非常详细的文档以及配置的分类注解以及推荐配置(基本都已经是最优配置)
资源监控管理运维
-
复杂的集群运维。对集群的监控,运维,需要安装第三方的其他软件,如ganglia,nagois等,运维难度较大。
-
运维简单。提供了管理、监控、诊断、配置修改的工具,管理配置方便,定位问题快速、准确,使运维工作简单,有效。
企业服务
-
只能求助社区的帮助,响应差,解决问题需要碰运气.
-
代码基于Apache协议,100%开源。同时提供企业付费服务一对一支持,作为保障的后盾
PS: 使用CDH部署集群不能代替对各个组件进行单独的学习了解的工作,非常推荐大家从单个组件安装部署开始最后在统一使用CDH部署
二 .准备工作
环境准备
-
CentOS 7.4 64位
-
JDK 1.8
-
Cloudera Manager 5.15.0
需要准备一台cm服务器 两台master服务器 使用三台节点服务器
服务器最低要求 4核心8G
所有节点修改hostname
> hostnamectl --static set-hostname cm> hostnamectl --static set-hostname master-1> hostnamectl --static set-hostname master-2> hostnamectl --static set-hostname slave-1> hostnamectl --static set-hostname slave-2> hostnamectl --static set-hostname slave-3
修改节点的hosts可以直接通过主机名进行访问
> vim /etc/hosts# 修改为大家自己服务器的IP地址192.168.3.10 cm 192.168.3.21 master-1 192.168.3.22 master-2 192.168.3.31 slave-1 192.168.3.32 slave-2 192.168.3.33 slave-3
依赖文件安装包准备
> mkdir -p /app/install> cd /app/install
> wget http://archive.cloudera.com/cm5/cm/5/cloudera-manager-centos7-cm5.15.0_x86_64.tar.gz> wget http://archive.cloudera.com/cdh5/parcels/5.15.0/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel> wget http://archive.cloudera.com/cdh5/parcels/5.15.0/CDH-5.15.0-1.cdh5.15.0.p0.21-el7.parcel.sha1> wget http://pic.w-blog.cn/mysql-connector-java.jar
JDK1.8需要自行下载 jdk-8u101-linux-x64.tar.gz
最终我们可以看到有如下文件:
下载慢可选多线程下载工具 axel
cd /app/install wget http://www.ha97.com/code/axel-2.4.tar.gz tar zxvf axel-2.4.tar.gzcd axel-2.4 ./configure make make installcd ..
所有节点关闭防火墙和selinux
关闭防火墙:
systemctl stop firewalld.service systemctl disable firewalld.service firewall-cmd --state
关闭selinux:
vim /etc/selinux/config 找到SELINUX改为: SELINUX=disabled
所有节点ssh免密码登录
先在cm 上执行:
ssh-keygen -t rsa #一路回车到完成ssh-copy-id -i ~/.ssh/id_rsa.pub root@cm #将公钥拷贝到本机的authorized_keys上
再在其他节点分别执行以下命令:
注意此处不变,将公钥拷贝到cm的authorized_k
ssh-keygen -t rsa ssh-copy-id -i ~/.ssh/id_rsa.pub root@cm
在CM上,将authorized_keys分发到其他节点服务器:
scp ~/.ssh/authorized_keys root@master-1:~/.ssh/ scp ~/.ssh/authorized_keys root@master-2:~/.ssh/ scp ~/.ssh/authorized_keys root@slave-1:~/.ssh/ scp ~/.ssh/authorized_keys root@slave-2:~/.ssh/ scp ~/.ssh/authorized_keys root@slave-3:~/.ssh/
长按识别二维码,了解更多