虚拟机搭建CDH6详细过程_三节点为例

准备工作

一、安装虚拟机、centos

1、安装VMwareWorkstation虚拟化软件

首先我们使用VMwareWorkstation来快速的进行虚拟机的新建。

本文使用的版本为VMwareWorkstation 16.1.2(版本16.1.2 build-17966106)

2、主节点配置(master)














虚拟机新建完成,可以继续编辑虚拟机,将安装镜像挂载

3、设置虚拟机网络

等虚拟机装机完成,点设置进行挂载

Ifconfig 查虚拟机网络


网络 vmnet8

子网 IP 192.168.67.0

子网掩码 255.255.255.0

网关 192.168.67.2

进入虚拟机进行网卡设置

root@localhost /\]# cat /etc/sysconfig/network-scripts/ifcfg-ens33 TYPE="Ethernet" PROXY_METHOD="none" BROWSER_ONLY="no" BOOTPROTO=static DEFROUTE="yes" IPV4_FAILURE_FATAL="no" IPV6INIT="yes" IPV6_AUTOCONF="yes" IPV6_DEFROUTE="yes" IPV6_FAILURE_FATAL="no" IPV6_ADDR_GEN_MODE="stable-privacy" NAME="ens33" UUID="82f63c42-7f4b-4b07-a22d-5bb3be8e50d6" DEVICE="ens33" ONBOOT="yes" IPADDR=192.168.67.101 NETMASK=255.255.255.0 GATEWAY=192.168.67.2 DNS1= 8.8.8.8 DNS2=8.8.8.4 重启网络 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094543840-1024827563.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094550691-695815918.png) 获取本地 百度 某个节点进行访问 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094605058-722620757.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094609996-142373886.png) 解决网络不通的问题 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094623908-2030114112.png) ping: www.baidu.com: Name or service not known resolv.conf中的nameserver与ifcfg-ens33文件中DNS的设置相同: vi /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.8.4 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094638572-1540499690.png) \[root@localhost /\]# history 1 vi ifcfg-ens33 2 service network restart 3 ifconfig 4 ping 192.168.67.101 5 ping 183.2.172.177 6 ping www.baidu.com 7 vi /etc/resolv.conf 8 cat /etc/resolv.conf 9 cd / 10 source /etc/resolv.conf 11 echo $PATH 12 history ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094655484-572669.png) 网络已通 4、从节点(slave-1和slave-2)配置 按上述步骤固定网络和疏通网络 内存足够的话 克隆操作是最方便的,但是内存有限只能主节点内存配置高,其余节点少一些了。直接克隆主节点会报内存不足。 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094726409-1263760430.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094735648-1937890167.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094743471-451786563.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094753290-879503689.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094801347-401469035.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094807291-781339254.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094815765-301165122.png) 内存爆满,铲掉!重新配置 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094853610-308811439.png) 按照master 节点进行 网络配置 \[root@localhost /\]# history 1 vi /etc/sysconfig/network-scripts/ifcfg-ens33 2 service network restart 3 ping 192.168.92.102 4 ping 192.168.67.102 5 vi /etc/resolv.conf 6 ping www.baidu.com 7 ping 192.168.67.103 8 ping 192.168.67.102 9 ifconfig 10 history ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094911908-1027484624.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094924857-189947302.png) \[root@localhost /\]# history 1 vi /etc/sysconfig/network-scripts/ifcfg-ens33 2 service network restart 3 vi /etc/resolv.conf 4 ping 192.168.67.103 5 ping www.baidu.com 6 history 上述操作完成 节点2和节点3 网络的固定和通网。 5、xshell远程访问 此时将三台虚拟机开启,最终的效果三台虚拟机正常运行,xshell可以远程同时操作这三台机器 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522094955804-1194813774.png) 连接SSH 管理虚拟机 网络 vmnet8 子网 IP 192.168.67.0 子网掩码 255.255.255.0 网关 192.168.67.2 主节点 192.168.67.101 master 节点1 192.168.67.102 slave-1 节点2 192.168.67.103 slave-2 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095027513-2083387252.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095110982-727458295.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095118609-138669481.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095126656-1352974449.png) 其余俩节点类似配置登上去即可 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095141882-1146438668.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095150799-984264932.png) 6、设置主机名(每一个节点都需要执行) # 此处为例子,根据实际情况自行设定名称,此处将服务器名称改为master hostnamectl set-hostname master # 设置第二个节点服务器的名称为slave-1 hostnamectl set-hostname slave-1 # 设置第三个节点服务器的名称为slave-2 hostnamectl set-hostname slave-2 输入 exit 退出登录,接着输入ssh [email protected] 输密码登录即可看到修改的服务器名已生效 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095216286-50335083.png) \[root@master \~\]# history 1 ifconfig 2 hostnamectl set-hostname master 3 exit 4 history ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095235856-1975328200.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095243450-1373124631.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095251121-16140352.png) 也可以通过输入 hostname 来验证是否成功,上述登录登出只是为了直观感受(看着舒服) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095343808-1523356679.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095349924-1046037892.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095402272-300144422.png) 7、修改hosts文件(每一个节点都需要执行) # 修改hosts文件(每一个节点都需要执行) # 编辑hosts文件 vim /etc/hosts # 在hosts文件尾部追加如下内容 192.168.67.101 master 192.168.67.102 slave-1 192.168.67.103 slave-2 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095431673-593153266.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095449183-1885668409.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095504737-981669986.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095513121-1595351910.png) 8、修改每台主机的/etc/sysconfig/network文件(每一个节点都需要执行) # 打开文件 vim /etc/sysconfig/network # 写入对应的服务器 HOSTNAME=master 注:其余节点服务器分别写入各自服务器名称 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095600372-203243985.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095608192-1604294425.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095616070-1031924329.png) 9、查看主机名是否生效(每一个节点都需要执行) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095635688-1726678380.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095643273-1442896048.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095651952-80380759.png) 10、关闭防火墙(每一个节点都需要执行) # 直接全部粘贴复制执行就好 systemctl stop firewalld \&\& systemctl disable firewalld \&\& systemctl status firewalld ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095724445-525009713.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095731047-1333759135.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095738778-1465704860.png) 11、关闭Selinux(每一个节点都需要执行) # 编辑selinux文件 vim /etc/sysconfig/selinux # 修改如下内容,将enforcing换成permissive SELINUX=permissive ### 注意:此处需要重启服务器,不然不生效,会导致后面搭建本地yum源的时候报403的错误 重启指令:reboot ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095804296-1316585374.png) 其余俩节点进行一样的修改 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095824774-906696291.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095834662-123937445.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095842566-402480866.png) 12、配置SSH免密登陆(每一个节点都需要执行) 虚拟机新增三节点如下: 192.168.67.101 master 主节点 192.168.67.102 slave-1 节点1 192.168.67.103 slave-2 节点2 # 配置SSH免密登陆(每一个节点都需要执行) 1、设置master免密远程登录其他节点,以root用户为例 # 在master节点输入如下指令(生成密钥): ssh-keygen -t rsa # 四次回车 密码给空 # 如下操作,将公钥发送给每个节点: ssh-copy-id master ssh-copy-id slave-1 ssh-copy-id slave-2 # 上述操作在三个节点上都操作一边,即可实现免密码登录服务器 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095951091-490943971.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522095956005-1229876834.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100004831-1705520447.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100015251-1197540444.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100027954-930073662.png) 操作跟主节点一致 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100046620-2129147055.png) 验证 # 在master节点输入如下指令(生成密钥): ssh-keygen -t rsa # 四次回车 密码给空 # 如下操作,将公钥发送给每个节点: ssh-copy-id master ssh-copy-id slave-1 ssh-copy-id slave-2 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100120734-194802539.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100130458-1539151665.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100140333-1965114784.png) 13、设置NTP服务 在主节点上 # 编辑ntp.conf文件 vim /etc/ntp.conf # 注释掉如下内容 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst # 添加如下内容 server 127.127.1.0 Fudge 127.127.1.0 stratum 10 # 修改如下信息 restrict ${当前节点ip} nomodify notrap nopeer noquery restrict ${集群所在网段的网关} mask ${子网掩码} nomodify notrap ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100232805-93651172.png) 其余节点上(其余节点都需要执行) # 编辑ntp.conf文件 vim /etc/ntp.conf # 注释掉如下内容 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst # 添加如下内容 server ${主节点ip} Fudge ${主节点ip} stratum 10 # 修改如下信息 restrict ${当前节点ip} nomodify notrap nopeer noquery restrict ${集群所在网段的网关} mask ${子网掩码} nomodify notrap --slave-1 vim /etc/ntp.conf # 注释掉如下内容 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst # 新增如下内容 server 192.168.67.101 Fudge 192.168.67.101 stratum 10 restrict 192.168.67.102 nomodify notrap nopeer noquery restrict 192.168.67.2 mask 255.255.255.0 nomodify notrap ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100307209-462218741.png) --slave-2 vim /etc/ntp.conf # 注释掉如下内容 server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.pool.ntp.org iburst server 3.centos.pool.ntp.org iburst # 新增如下内容 server 192.168.67.101 Fudge 192.168.67.101 stratum 10 restrict 192.168.67.103 nomodify notrap nopeer noquery restrict 192.168.67.2 mask 255.255.255.0 nomodify notrap ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100332694-1353881387.png) 启动时间同步服务器(每一个节点都要执行) # 启动时间同步服务器(每一个节点都要执行) # 直接全部粘贴复制运行即可 systemctl start ntpd \&\& systemctl enable ntpd \&\& ntpdate -u 0.cn.pool.ntp.org \&\& hwclock --systohc \&\& date # 查看是否链接上主节点时间服务器 Ntpstat ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100411426-1271379080.png) 上个步骤报错 # 解决方案 原因是 上一步的 改动 动网了 上不了网了 ping: www.baidu.com: Name or service not known vi /etc/resolv.conf nameserver 8.8.8.8 nameserver 8.8.8.4 # 不知何原因vi /etc/resolv.conf 配置总被失效,只能每次发现问题时加上nameserver 8.8.8.8才通网,后续找个彻底修改的方法。 重新进行上一步骤,启动时间同步服务器 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100455396-84125239.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100505453-2060495943.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100514879-1446632466.png) 以上操作为服务器前期准备操作,接下来就是 下载相关软件进行部署 二、安装软件清单和路径创建 通过网盘分享的文件:cloudera.zip 链接: 提取码: 7qe5 注:以上安装包是一个zip包,内包含安装CDH6.1所有的包,下载后解压即可 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100558524-1010799206.png) 1.上传安装包到master主节点 注意:这里的安装目录最好以本文为主,这样后面的指令直接可以粘贴复制即可,不用修改 2.在root目录下新建cloudera目录,并将下载的安装包放于里面 # 在root目录下创建cloudera目录 cd /root mkdir cloudera ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100621995-1927091409.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100636465-444135544.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100646175-1607622449.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100650451-276681595.png) 3.上传安装包于cloudera目录下,并解压 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100749158-810194765.png) 上传安装包后截图 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100802247-1748937689.png) # 解压指令 unzip cloudera.zip # 这里解决一下一个bug,文件名命名不对,我懒得去更新压缩包内的内容了,所有搭建者看到这就自己辛苦下 cd /root/cloudera/cloudera-manager mv allkeys.asc.txt allkeys.asc ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100823986-703808501.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100832875-1758740032.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100840205-427662308.png) 4.查看所有安装包目录信息 5.安装tree # 如果没有tree指令,则先下载安装指令 yum install tree # 查看root目录下cloudera目录的目录树 tree -C /root/cloudera 6.tree安装失败处理方案 --tree 下载失败 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup wget -O /etc/yum.repos.d/CentOS-Base.repo 或者 curl -o /etc/yum.repos.d/CentOS-Base.repo yum clean all yum makecache ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100910271-544178396.png) \[root@master /\]# history 1 ifconfig 2 hostnamectl set-hostname master 3 exit 4 history 5 hostname 6 vim /etc/hosts 7 cat /etc/hosts 8 vim /etc/sysconfig/network 9 cat /etc/sysconfig/network 10 hostname 11 systemctl stop firewalld \&\& systemctl disable firewalld \&\& systemctl status firewalld 12 vim /etc/sysconfig/selinux 13 reboot 14 history 15 vim /etc/ntp.conf 16 systemctl start ntpd \&\& systemctl enable ntpd \&\& ntpdate -u 0.cn.pool.ntp.org \&\& hwclock --systohc \&\& date 17 vi /etc/resolv.conf 18 systemctl start ntpd \&\& systemctl enable ntpd \&\& ntpdate -u 0.cn.pool.ntp.org \&\& hwclock --systohc \&\& date 19 ntpstat 20 cd /root 21 mkdir cloudera 22 ls 23 ll 24 cd cloudera/ 25 ls 26 ll 27 unzip cloudera.zip 28 ll 29 cd /root/cloudera/cloudera-manager 30 mv allkeys.asc.txt allkeys.asc 31 ll 32 cd / 33 yum install tree 34 mv /etc/yum.repos.d/CentOS-Base.repo /etc/yum.repos.d/CentOS-Base.repo.backup 35 wget -O /etc/yum.repos.d/CentOS-Base.repo 36 yum clean all 37 yum makecache 38 yum install tree 39 history \[root@master /\]# ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522100936421-419990603.png) 在其余俩节点可按喜好进行安装tree(本文安装了) 7.安装常用工具(每一个节点都需要执行) yum install -y vim wget ntp net-tools 三、在主节点安装本地yum源(只需要在主节点,也就是安装CM的节点) # 前面强调了把下载的安装包放于/root/cloudera下面,此处下面指令就全部粘贴复制运行即可,否则需要更改路径信息 yum -y install httpd createrepo \&\& systemctl start httpd \&\& systemctl enable httpd \&\& cd /root/cloudera/cloudera-manager/ \&\& createrepo . \&\& mv /root/cloudera/cloudera-manager/ /var/www/html/ ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101035354-767807784.png) 四、安装JDK(只需要在主节点,也就是安装CM的节点) # 进入到安装路径下,(安装前面所示安装包路径,则直接粘贴使用) cd /var/www/html/cloudera-manager/ rpm -ivh oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101053582-1540454198.png) 五、安装Mysql(只需要在主节点,也就是安装CM的节点) 1.卸载mariadb # 以下指令全部粘贴复制就行 # 卸载自带的mariadb yum -y remove mariadb-libs ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101117302-578402073.png) 2.解压下载MySQL的安装包 # 解压下载的MySQL包 cd /root/cloudera/mysql/ tar -xvf mysql-5.7.27-1.el7.x86_64.rpm-bundle.tar ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101137428-270305432.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101145450-964983595.png) 3.安装MySQL `#直接全部粘贴复制运行 yum install -y libaio \ && rpm -ivh mysql-community-common-5.7.27-1.el7.x86_64.rpm \ && rpm -ivh mysql-community-libs-5.7.27-1.el7.x86_64.rpm \ && rpm -ivh mysql-community-client-5.7.27-1.el7.x86_64.rpm \ && rpm -ivh mysql-community-server-5.7.27-1.el7.x86_64.rpm \ && rpm -ivh mysql-community-libs-compat-5.7.27-1.el7.x86_64.rpm` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101301016-1654102545.png) 4.配置 my.cnf `#粘贴复制运行即可 echo character-set-server=utf8 >> /etc/my.cnf` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101333715-2141035861.png) 5.创建数据库以及授权 # 这只是一个创建数据库的SQL脚本文件,里面涉及到数据库的密码,根据个人进行修改即可,修改后全部粘贴复制运行就好 `( cat <> /root/c.sql` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101411449-1611224166.png) 6.启动MySQL服务 # 直接粘贴复制运行即可 `systemctl enable mysqld && systemctl start mysqld && grep password /var/log/mysqld.log | sed 's/.*\(............\)$/\1/'` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101448294-1190472292.png) 初始化密码为 8Tkxdu/dTAdj 7.登陆MySQL并运行之前写好的SQL脚本 # 登陆MySQL mysql -uroot -p # 密码就输入上面打印出的初始化密码就好 # 运行SQL文件(注意你的sql是否放在该目录下,建议以文档为主,懒得修改那么多) source /root/c.sql ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101519765-874091605.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101532368-711108926.png) 8.配置MySQL JDBC驱动 输入exit 退出 mysql # 直接粘贴复制执行 mkdir -p /usr/share/java/ \&\& cd /root/cloudera/mysql-jdbc/;tar -zxvf mysql-connector-java-5.1.47.tar.gz \&\& cp /root/cloudera/mysql-jdbc/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/share/java/mysql-connector-java.jar 需要授权,赋予执行权限 chmod 777 mysql-connector-java.jar 或者 chmod 775 mysql-connector-java.jar CM搭建、集群部署 一、在主节点上配置本地yum源 # 配置本地yum源,记得要修改ip,修改后直接粘贴复制执行即可 `( cat <> /etc/yum.repos.d/cloudera-manager.repo \ && yum clean all \ && yum makecache` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101657501-252329448.png) 二、安装 Cloudera Manager `yum install -y cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101739101-1534313551.png) 三、 配置本地Parcel存储库 # 以下指令依次粘贴执行就好,第一条指令 \`mv /root/cloudera/parcel/\* /opt/cloudera/parcel-repo # 第二条指令 cd /opt/cloudera/parcel-repo/ # 第三条指令 sha1sum CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel \| awk '{ print $1 }' \> CDH-6.1.0-1.cdh6.1.0.p0.770702-el7.parcel.sha # 第四条指令 chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/\*\` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522101832730-1079715881.png) 四、初始化scm库 # 注意修改你所配置的mysql对应scm库的密码 `/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm 123456Aa.` 五、启动CM # 直接粘贴复制执行 `systemctl start cloudera-scm-server \ && sleep 2 \ && tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log | grep "INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server"` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102011280-1242932805.png) 六、登陆CM界面完成CDH部署 {CM所在节点的IP}:7180 账号/密码:admin/admin 1.登录CM界面 账号/密码:admin/admin ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102047441-340782846.png) 2.用户许可,同意,继续 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102102451-413058765.png) 3.选择使用版本,继续 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102122564-2047523049.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102126158-1520486616.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102138217-1998711265.png) 4.搜索主机,添加到群集 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102153345-193315432.png) 5.自定义存储库(选择配置好的yum源地址) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102212444-2092096313.png) 6.同意jdk使用许可,继续 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102231496-287980265.png) 7.提供SSH登录凭据,继续 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102252393-1593237697.png) 8.安装Agents(每个节点均需) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102307487-24710310.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102317166-1404434727.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102324475-1542708429.png) 9.安装parcels(每个节点均需) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102345503-156836627.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102352801-979971290.png) 点继续,完成主机检查 10.选择自定义安装的大数据组件 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102417289-542713076.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102427337-26341515.png) 11.选择自定义角色分配(均匀一些) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102444098-821284560.png) 12.测试数据库连接 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102500039-595329644.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102509683-22074881.png) 点测试连接 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102525413-86059787.png) 未找到驱动 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102544086-1886255406.png) 问题原因:102、103未找到MySQL驱动 只在主节点放驱动,未在slave-1 slave-2 放驱动 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102618813-956794990.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102632036-34778755.png) 解决方案:将MySQL驱动上传至102、103 创建驱动目录,把文件上传到俩从节点 102 和 103 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102659054-1886330305.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102708702-42598214.png) mkdir cloudera 上传mysql-jdbc文件至/root/cloudera 目录下 即可 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102724335-708052393.png) 点测试连接,通过,继续下一步 13.首次运行 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102752206-1871966724.png) hive启动MetaStore报错 报错信息:First failure: Command (Validate Hive Metastore schema (78)) has failed ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102810338-567257587.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102821646-1519637254.png) 创建HIVE 数据库失败 First failure: Command (Validate Hive Metastore schema (78)) has failed ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102840161-1705659493.png) 返回返回返回 改回 只在master 节点安装 解决方法: 在cdh角色配置页中,将hive的Hive Metastore server配置为master机器 --此解决方案失败,继续排查 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102904806-962135577.png) sudo cp /root/cloudera/mysql-jdbc/mysql-connector-java-5.1.47/mysql-connector-java-5.1.47-bin.jar /usr/share/java/mysql-connector-java.jar 此方案也不行 参考第三种方案 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522102928047-2135309807.png) 根据错误提示可以看到,初始化过程中没有连接mysql数据库,而是去连接默认的derby数据库,于是打开/etc/hive/conf/hive-site.xml,我们可以看到它并没有相关mysql元数据库的配置--这个方案是可行的,最后也是用了此方案,我配置信息配错了,可直接翻到最后查看准确的配置信息。 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103010285-214679487.png) 所以需要在/etc/hive/conf/hive-site.xml(cloudera/parcels/CDH/lib/hive/conf的软链实体)中手动添加元数据库配置,添加如下内容: ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103025597-815734678.png) 删库重来 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103052717-1250091171.png) 不能解决此问题,继续排查 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103107566-309094273.png) chmod 777 mysql-connector-java.jar或者 chmod 775 mysql-connector-java.jar ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103134386-1127342193.png) 重新执行还是不行(崩溃ing) 修改文件打开限制 vi /etc/security/limits.conf * soft nofile 65536 * hard nofile 65536 * soft nproc 131072 * soft nproc 131072 报错信息变了 Failed to get schema version, Cause:Table 'metastore.VERSION' doesn't exist ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103200127-13098898.png) 初始化脚本在 cd /opt/cloudera/parcels/CDH/lib/hive/bin/ 执行初始化命令 ./schematool -initSchema -dbType mysql --verbose 根据错误提示可以看到,初始化过程中没有连接mysql数据库,而是去连接默认的derby数据库,于是打开/etc/hive/conf/hive-site.xml,我们可以看到它并没有相关mysql元数据库的配置 新增配置: `vi /etc/hive/conf/hive-site.xml` ` javax.jdo.option.ConnectionURL jdbc:mysql://192.168.67.101:3306/metastore?createDatabaseIfNotExist=true javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456Aa. ` ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103301639-1569229491.png) `cd /opt/cloudera/parcels/CDH/lib/hive/bin/` `./schematool -initSchema -dbType mysql --verbose` 再次执行完就能看到schemaTool completed信息,可回到CM主页进行重跑。 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103349695-174953004.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103358157-2087740399.png) 14.安装服务完成 ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103414158-1672324772.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103422590-1401351085.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103430115-1244339508.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103438357-2074363830.png) ![](https://img2024.cnblogs.com/blog/3609669/202505/3609669-20250522103449372-2017224369.png)