Cloudera Manager 是 CDH 市场领先的管理平台。它以其强大的数据管理和分析能力,帮助企业能够轻松驾驭海量数据,实现数据的实时分析与洞察。
作为业界第一的端到端 Apache Hadoop 的管理应用,Cloudera Manager 对 CDH 的每个部件都提供了细粒度的可视化和控制,从而设立了企业部署的标准。通过 Cloudera Manger,运维人员得以提高集群的性能,提升服务质量,提高合规性并降低管理成本。
今天,我们将带你深入探索 Cloudera 的安装规划与系统环境搭建部署,为你的企业数据之旅铺设坚实的基石。
但在此之前,我们需要精心规划、细致部署。接下来,我们将一步步引导你完成 Cloudera 的安装规划与系统环境搭建,为企业数据中心的管理变得简单直观。
系统环境准备、安装基础环境
1.选择三台已安装 Centos6 Liunx 系统的节点,分配资源
安装 CDH 节点推荐内存为 64G,大部分内存被 Cloudera Management Service 占用,因为做了大量的数据分析和整合。这里,划分三台节点如下:
针对目前学习来说:
如果实际的物理机器内存为 32G,推荐 cm Server 内存为 16G,cm Agent 内存分别为 4G。
如果实际的物理机器内存为 16G,推荐 cm Server 内存为 10G,cm Agent 内存分别为 2G。
如果实际的物理机器内存为 12G,推荐 cm Server 内存为 8G,cm Agent 内存分别为 2G。
如果实际的物理机器内存为 8G,推荐 cm Server 内存为 6G,cm Agent 内存分别为 2G。
注意:后两种情况,实际机器内存不足,需要在 VM 虚拟机中设置允许交换内存。设置方式如下:
在 VMware 中点击“编辑”->“首选项”,找到内存,预留内存是给当前真实物理 机预留的内存量。在额外内存中,如果实际物理机内存不足 10G 就设置“允许交换大部分虚拟机内存”,设置这个的意思是当虚拟机内存不足时,可以允许内存与磁盘交换数据,从而获取更多的内存执行当前运行的程序。
截止到这里,以上只是准备好的三台划分好内存和核心的空节点。
**注意: **实际物理机器安装 Vmware 的磁盘至少还要预留 50G 磁盘空间。
2.配置 IP
在每台节点上配置 ip,打开 /etc/sysconfig/network-scripts/ifcfg-eth0 编辑内容如下:
重启网络服务使 ip 生效:
三台节点配置的 ip 分别为:
*192.168.179.201
*192.168.179.202
*192.168.179.203
注意:每台节点克隆后需要删除每台节点/etc/udev/rules.d/70-persistent-net.rules 文件,清除 mac 地址。重启每台节点即可。
3.配置每台节点的 hostname
修改每台节点/etc/sysconfig/network 中的 HOSTNAME,分别为:cm1,cm2,cm3。设置好每台节点的 hostname 之后重启每台节点即可生效。
4.配置节点 ip、hostname 映射
在每台节点/etc/hosts 文件后追加如下内容,配置 ip 与 hostname 之间的映射。
5.关闭防火墙
在每台节点上执行如下命令,关闭防火墙,并设置开机不启动:
6.关闭 SELinux
SELinux 就是 Security-Enhanced Linux 的简称,安全加强的 linux。传统的 linux 权限是对文件和目录的 owner, group 和 other 的 rwx 进行控制,而 SELinux 采用的是委任式访问控制,也就是控制一个进程对具体文件系统上面的 文件和目录的访问,SELinux 规定了很多的规则,来决定哪个进程可以访问哪些 文件和目录。虽然 SELinux 很好用,但是在多数情况我们还是将其关闭,因为在 不了解其机制的情况下使用 SELinux 会导致软件安装或者应用部署失败。
在每台节点/etc/selinux/config 中将 SELINUX=enforcing 改成 SELINUX=disabled 即可。
7.配置 yum 源
这里我们选择使用本地 yum 源。需要在 VM 中设置下连接光驱,步骤如下图:
在 cm1,cm2,cm3 节点上配置本地 yum 源: 每台节点创建/mnt/cdrom 目录:
每台节点执行如下命令,将光盘设备/dev/sr0 挂载到/mnt/cdrom 目录:
每台节点执行命令:df -h 查看是否挂载成功:
上面的 mount 命令挂载后在机器重启后会失效,为了可以实现开机自动挂载,可以在每台节点的/etc/fstab 文件的最后面加入下面语句:
下面可以创建本地 yum 源,在每台节点的/etc/yum.repos.d 目录下创建 local.repo 文件,内容如下:
以上内容中 baseurl 是指 Yum 源的地址,该路径下有个 repodata 目录,就是 yum 安装源目录。file://表示 yum 源为文件。
如果只想让 local.repo 生效,可以在每台节点的/etc/yum.repos.d 目录下 创建一个 backup 目录,将其他的以“.repo”结尾的文件都移动到 backup 目录中。
在每台节点上执行以下命令,更新 yum 源:
8.配置 ssh 免密钥登陆
在 CDH 中需要任意两个节点之间都可以免秘钥登录。节点两两免秘钥的根本原理如 下:假设 A 节点需要免秘钥登录 B 节点,只要 B 节点上有 A 节点的公钥,那么 A 节点就可以免密登录当前 B 节点。
第一、需要在每台节点上安装 ssh 客户端,否则,不能使用 ssh 命令(最小化安装 Liunx,默认没有安装 ssh 客户端):
- yum -y install openssh-clients
第二、在每台节点执行如下命令,在每台节点的“~”目录下,创建.ssh 目录,注意:不要手动创建这个目录,因为有权限问题。
- cd ~
- ssh localhost
-
这里会需要输入节点密码#
- exit
第三、在每台节点上执行如下命令,给当前节点创建公钥和私钥:
- ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
第四、将 cm1,cm2,cm3 的公钥 copy 到 cm1 上,这样,cm1,cm2,cm3 节点都能登录 cm1 节点。命令如下:
[图片上传失败...(image-52245d-1726715653153)]
最后、将 cm1 节点上~/.ssh/authorized_keys 拷贝到 cm2 和 cm3 节点的 ~/.ssh/目录下,执行如下命令:
- 在cm1上执行如下命令,需要输入密码:
- [root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm2:
pwd
- [root@cm1 .ssh]# scp ~/.ssh/authorized_keys cm3:
pwd
经过以上步骤,节点两两免密完成。
9.节点同步时间
在 cm1,cm2,cm3 每台节点上执行如下命令,安装 ntp 服务及配置定时任务:
- yum-yinstallntp#安装ntp服务#
- rm -rf /etc/localtime #删除现有时区#
- ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime #修改上海时区#
- /usr/sbin/ntpdate -u pool.ntp.org #同步时间#
- date #查看时间#
-
crontab -e 写入如下定时内容:#
- */10 * * * * /usr/sbin/ntpdate -u pool.ntp.org >/dev/null 2>&1 #同步时
间定时任务# - service crond restart #重启定时任务#
- crontab -l #查看定时任务#
- chkconfigntpdon#设置ntpd开机启动,不然后期安装CDH时会有警告。 12. servicentpdstart#启动ntpd服务
10.安装 JDK
给每台节点安装 jdk,这里我们安装的 CDH 版本为 5.4,在官网https://www.cloudera.com/documentation/enterprise/release-n otes/topics/rn_consolidated_pcm.html 下有介绍 版本对应的 jdk 版本,可以使用 jdk7,也可使用 jdk8,但是对应的 jdk 小版本有要求,具体如下:
这里我们选择 jdk8 版本中的 1.8u181 版本安装。在每台节点安装 jdk,在每台节点中创建/software 目录,将 jdk8 安装包通过 ftp 工具上传到/software 目录下,每台节点执行如下命令安装 jdk:
- [root@cm1 ~]# mkdir -p /software
- [root@cm1 ~]# rpm -ivh /software/jdk-8u181-linux-x64.rpm
以上命令执行完成之后,会在每台节点的/usr/java 下安装 jdk。在每台节点配置 jdk 的环境变量:
- vim /etc/profile
-
在每台节点中配置profile文件,在最后追加内容如下:#
- export JAVA_HOME=/usr/java/jdk1.8.0_181-amd64
- export PATH=PATH
- export CLASSPATH=.:JAVA_HOME/lib/tools.jar
执行完成以上命令之后,在每台节点上执行 “source /etc/profile”使配置生效。
11.安装 mysql 数据库
在 cm1 中安装 mysql 数据库,执行命令:yum install –y mysql-server 执行完成之后,启动 mysql:service mysql start。登录 mysql 执行如下语句:
- [root@cm1 java]# mysql
- mysql> use mysql;
- mysql> select user,password from user;
- mysql> delete from user;
- mysql>GRANTALLPRIVILEGESON.TO'root'@'%'IDENTIFIEDBY'123456'WITH
GRANT OPTION; - mysql> flush privileges;
执行如下命令,将 mysql 设置成开机启动,如果不设置开机启动,后期每次启动 ClouderaManager 时,需要手动启动 MySQL。
- [root@cm1 ~]# chkconfig --add mysqld
- [root@cm1 ~]# chkconfig --level 345 mysqld on
- [root@cm1 ~]# chkconfig --list
12.安装第三方依赖包
在每台几点上安装第三方依赖包,每台节点执行如下命令:
- yum install -y chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse fuse-libs redhat-lsb
至此,安装 Cloudera Manager 的基础环境准备完成。
**以上就是今天分享的全部内容。
如果你想了解更多关于:Cloudera 系统环境准备、基础环境安装、集群部署以及应用组件安装等全方位的技术的问题,欢迎大家留言讨论。
感谢你的阅读,如果喜欢我的文字,可以持续关注我,会陆续为你更新更多干货小知识。