CDH集群配置过程中若干个坑加配置教程

本文档详细记录了在Ubuntu环境下部署CDH集群过程中遇到的多个问题及解决方案,包括Ubuntu不适合部署CDH的原因,CDH安装顺序的重要性,安装路径、权限、SSH配置的注意事项,以及MySQL和Cloudera Manager的配置细节。每个环节都提供了关键的配置步骤和可能遇到的错误,旨在帮助读者避免重蹈覆辙,顺利搭建CDH集群。
摘要由CSDN通过智能技术生成

目录

前言

部署场景属于实验室测试场景,并非是实际生产场景,项目本身也属于科研项目而非企业项目。项目是一个关于医疗大数据的项目,核心目标是为了应对海量增长医疗数据的可扩展、标准化存储,并且提供一定的智慧辅助诊疗功能。为啥说一定的智慧诊疗功能?自己去查查资料然后去医院看看。资料里写的再厉害,医院里该咋样还咋样。智慧这个词,太泛了,每人敢保证。功能要求:数据库标准化设计,数据分布式存储,数据清洗、数据集成,数据分析,数据挖掘,数据可视化。项目概述大概瞅瞅就是,反正这个专栏里也不会设计太多项目内容。主要是讲讲关于整合各个功能组件的坑。
注意:这个项目本身存在很大设计上的问题。但是由于某些原因,我是没法在过程中修正,只能硬着头皮踩下去!!!所以,如果看这个专栏,最好完整的看完,避免拿着我被坑的部分重新走一遍!!!

写在前面的坑(必看!超级重要)

1号坑:Ubuntu不适合部署CDH

我是没办法更换系统,之前老板交的材料里写的是Ubuntu16.04,我只能硬着头皮去继续做下去!!!但是,真不适合!
为什么说Ubuntu不适合部署CDH?注意!我这里不是写Ubuntu16.04,而是写Ubuntu!与版本号无关!
第一点 Ubuntu虽然有图形界面,但是自诩专业的人还是主流使用Centos(Redhat)。网上资料少啊!linux环境下配置项目,百度不到相关资料的时候,绝对是灾难级的!百度到相关的资料,要么可能牛头不对马嘴(比如:Linux下CDH部署和Ubuntu下的CDH部署很像吧?Linux下CDH部署和Centos下部署CDH也很像吧?Ubuntu下CDH部署和Centos下部署CDH却一点都不像!!!这还不是让你最难受的,最难受的是,Ubuntu14和Ubuntu16部署CDH都有差别。系统环境一样,部署不同版本号的同款软件,差别也可能很大!!!),要么可能,教程的作者自己只是在他的环境下配成了,却没写清楚他的环境,把他参照的教程拷贝了!林林总总,反正,百度的Linux教程里,能供给你直接参照着一步步做下去的很少!所以,只有资料足够多,才能让你充分的分析问题的原因!没错,就是分析!你只能参照A和B,去解决C问题。参照A,解决你以为的A,往往是重装系统的前奏!
第二点说点带技术的东西了。CDH需要使用外部数据库(External DB),作为存储服务的管理信息的支撑工具(具体原因瞅官网去,内容很详细。PS:英语还行的孩子,强烈建议,看官网Document·!!!毕竟,网友发的教程水平是没得保证的,连知乎人均MIT的存在都不敢保证质量
)。而外部数据库中,使用的最多的还是Mysql。(多数教程中都是推荐Mysql的,似乎,官方文档除了PostgreSQL,就是最推荐Mysql了。但是我看,网上使用Mysql的还是最多的)总之,我随波逐流了,毕竟,用的人多,往往意味着坑少!但是!官网上说,使用5.6和5.7的mysql,必须需要mysql-shared包的来支持Agent的运行!!!我找了全网,似乎还只有mysql5.6的rpm包!!!rpm包,Ubuntu压根没法安装。(不排除一些教程说强行在Ubuntu下装rpm的操作,但是往往这样的操作是带着坑的,而项目中,是绝对不推荐的。)甚至,就算你是测试环境。也没法绕过这个坑!因为,Ubuntu16.04 apt-get安装mysql-server, 默认安装5.7版本!!! 总之,坑!而官网上教程,只给出了yum安装mysql-server的样例。看,又是Centos。
第三点忘了!总之,Ubuntu真的不适合!!!切记切记,切忌切忌!!!

2号坑:CDH啊,处处都要注意顺序!!!

第一点CDH启动顺序和关闭顺序是反过来的!!!
启动顺序:mysql》scm-server》scm-agent》组件服务启动
关闭顺序:关闭组件服务》关闭各节点上的scm-agent》关闭scm-server》关闭mysql服务
别以为顺序小问题,如果顺序出错,很麻烦的。因为我就栽倒在这,找了半天没找到原因!最后重装了系统!(幸亏,我的配置手册是自己写的,项目需要,我写的贼细,属于按顺序复制了代码就能到Web UI的。别激动,仅保证ubuntu16.04+CDH5.16.1+华为云的情况,其他的我也没试过,不保证。所以,重装的性价比最高!时间紧,任务重,要什么自行车?能开就行)
第二点CDH安装过程顺序很重要!为了方便集群配置,是安装好了master,然后直接分发到slave中去的。所以,顺序错了,可能构成中先分发到slave,再安装到从机了!

3号坑:注意安装位置!!!

第一点CDH认的java位置,只有/usr/java。网上说啥子软链接是能解决安装位置的问题,让CDH识别java位置。但是!别忘记slave从机了!!!如果你想一个个从机建立软连接的话,你可以这么操作。但是为了方便维护,还是老老实实的安装再/usr/java吧。
第二点CDH安装在/opt/目录下面,别改位置。会出错的!!!

4号坑:注意包是安装在从机还是安装在主机上的。

很多教程里没说明安装在主机还是从机上,主机和从机安装的东西有区别的,别一概而论。同样除了安装,一些操作也都注意下。

5号坑:权限问题要注意!

配置的时候,建议是使用root权限的。因为分发的时候,很多需要管理员权限的。sudo scp 只会给你master的管理员权限,但是,slave上的对一些目录下的写操作是需要管理员权限的!!!没用root权限,scp很多时候只能报错permission deny!当然,你可以先拷贝到~目录,然后ssh slave切换到slave机上,然后sudo拷贝。但是!如果slave机很多,操作很麻烦,容易出错!当然,也可以使用自动交互的包,expect。具体关于expect的使用,自个儿百度吧。

5号坑:ssh免密登录认账户的

建议配置过程中,所有的master和slave节点都使用同一个账号密码。方便分发包。配置过程中,别切换账户,不然,ssh登录可能报错。

6号坑:CM Web UI 分发包找不到所有节点

这个问题,可能的原因很多。hostname。hosts两个文件配置的问题等等,下面有说一些,不全面。不过最好的方法是根据我下面的配置过程,仔细琢磨下有没有哪里出没配置对最简单。甚至重新配置,也很快。别纠结,毕竟,CDH只是大数据平台配置的最前站。

7号坑:关于Web UI配置过程,贴图太麻烦,各位还是百度去吧。基本上前面配置正确了,就不会Web UI顺着做就是了,没有太多坑。

8号坑:Web UI配置过程中,会有external DB的确认过程。需要与前面mysql创建的数据库一致。

9号坑:注意下我安装的包都带着版本号。即便离线安装也有包的全名。

有些包版本号不对可能会出现问题。官网上对一些依赖写的不是很清楚,我也没找到相关资料。以下版本号,我至少能确定在Ubuntu16.04里面是ok的。但是不是说必须要我标注的版本号,根据实际情况吧。但是最好好好找找资料,确定自己的环境和版本号匹配。

1 测试环境

1.1服务器硬件(单台)

测试环境下建议:
内存:8-16G 硬盘:200G-500G
应用环境下建议:
内存:32G 硬盘:1T

1.2 服务器系统

服务器系统版本:Ubuntu16.04-server
Ubuntu16.04-server * 2台
192.168.0.105 master(这里是内网ip,为了安全性,集群通信在内网)
192.168.0.213 slave1
master服务器操纵slave服务器集群
注意:Ubuntu有多个版本:16.04代号为Xenial Xerus,14.04代号为Trusty Tahr,12.04代号为Precise Pangolin,因此16.04需下载xenial版本的文件,否则可能会出现不兼容的问题

1.3 集群网络

服务器集群网络,要求集群服务器之间能够通信,最好是在一个网段内。本测试是基于服务器网络IP在一个网段内进行的。如果服务器不在一个网段内,可能需要对应修改一些配置。

1.4 依赖包(这个部分是因为项目需求,你们可以直接在线安装,版本号最好带上,安全第一)

本项目中需要大量依赖包,为了保证在离线环境下能够安装,本项目中所需所有依赖包我们都已打包在offlinePackage.tar中。并制作了一个安装脚本文件apt-offline.sh。所有离线安装的包,都通过该安装脚本进行安装。
注意:该离线安装脚本需要sudo权限。
(1)在master拷贝到根目录
将offlinePackage.tar文件拷贝到/root目录中并解压。(必须是root目录)
tar -xvf offlinePackage.tar -C ~
(2)分发到slave节点(本步骤需要在配置好免密ssh之后)
scp offlinePackage slave1:~
(3)离线安装命令
在没有网络的情况下,可以直接使用~/offlinePackage/apt-offline.sh <软件名>来安装离线包了。
~/offlinePackage/apt-offline.sh <软件名>

2 基础配置

准备好2台ubuntu服务器后,先将3台服务器网络配置好。
网络要求:
2台服务器在同一网段或者可以连通(最好在一个网段)
2台服务器可以联接外网(基础配置的时候需要事先给所有服务器安装ssh。如果使用离线安装,则无需联网)

2.1 设置root密码

默认情况下,ubuntu16.04是没有设置root密码的,需要在初次登录的时候设置。
sudo passwd
注:在本项目中, 全部操作使用管理员root账户操作
切换管理员账户
su root

2.2 安装ssh

在线安装
apt-get install -y ssh=1:7.2p2-4ubuntu2.10
离线安装
~/offlinePackage/apt-offline.sh ssh=1:7.2p2-4ubuntu2.10
配置允许root登陆
修改/etc/ssh/sshd_config配置文件中的以下选项:
vim /etc/ssh/sshd_config
查找并修改
PermitRootLogin yes
PasswordAuthentication yes
查找并修改

运行
p

  • 0
    点赞
  • 7
    收藏
    觉得还不错? 一键收藏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值