CM+CDH 构建企业大数据平台_cm平台架构-程序员宅基地

技术标签: CDH大数据平台  大数据  


哈喽!大家好,我是【IT邦德】,江湖人称jeames007,10余年DBA及大数据工作经验
一位上进心十足的【大数据领域博主】!
中国DBA联盟(ACDU)成员,目前服务于工业互联网
擅长主流Oracle、MySQL、PG、高斯及Greenplum运维开发,备份恢复,安装迁移,性能优化、故障应急处理等。
如果有对【数据库】感兴趣的【小可爱】,欢迎关注【IT邦德】
️️️感谢各位大可爱小可爱!️️️

前言

通过将Hadoop与十几个其他关键的开源项目集成,CDH创建了一个功能先进的系统,可帮助您执行端到端的大数据工作流程。

1.CDH简介

1.1 CDH概述

CDH(Cloudera Distribution of Hadoop)是 Cloudera 公司提供的一款基于 Hadoop 的大数据平台。它包含了多个开源组件,如 HDFS、YARN、Spark、Hive、Impala、HBase、Solr 等等,还提供了一些管理和监控工具来帮助用户更方便地部署、配置和管理大数据应用。
CDH是Cloudera的100%开源平台发行版,包括Apache Hadoop,专为满足企业需求而构建。CDH提供开箱即用的企业使用所需的一切。通过将Hadoop与十几个其他关键的开源项目集成,Cloudera创建了一个功能先进的系统,可帮助您执行端到端的大数据工作流程。
简单来说:CDH 是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得集群的安装可以从几天的时间缩短为几个小时,运维人数也会从数十人降低到几个人,极大的提高了集群管理的效率。

https://www.cloudera.com
#安装说明
https://docs.cloudera.com/documentation/enterprise/latest/topics/installation.html
CDH从6.3.3版开始不再免费,6.3.2及以下版本可免费使用
cloudera官网从2021年2月1日起全面移除的非订阅用户的下载链接

在这里插入图片描述

1.2 功能

1)管理:对集群进行管理,例如添加、删除节点等操作
2)监控:监控集群的健康情况,对设置的各种指标和系统的具体运行情况进行全面的监控
3)诊断:对集群出现的各种问题进行诊断,并且给出建议和解决方案
4)集成:多组件可以进行版本兼容间的整合

1.3 平台架构

  1. 数据来源层
    结构化数据:关系数据库,比如MySQL,即以关系数据库表形式管理的数据。
    半结构化:非关系模型的、有基本固定结构模式的数据,例如日志文件、JSON文档等。
    非结构化:没有固定模式的数据,如WORD、PDF、PPT、EXL,各种格式的图片、视频等
  1. 数据传输层
    Sqoop:是一种主要用于在 Hadoop 和关系数据库之间传输数据的工具。可以将数据从关系型数据库(RDBMS)(比如MySQL)导入 Hadoop 分布式文件系统(HDFS),在 MP 中转换数据,然后将数据导出回 RDBMS。
    DataX:作为一种离线数据同步框架,采用Framework + plugin架构构建。将数据源读取和写入抽象成为Reader/Writer(读取/写入)插件,通过Framework纳入到整个同步框架中。
    flume:是一个高可用的,高可靠的,分布式的海量日志采集、聚合和传输的系统,是CDH的标配。
    logstash:是一个接收、处理、转发日志的工具,ELK当中的L。
    Kafka:是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据,这边适配于大数据的lambda架构,通过实时topic和离线topic进行一定的区分。
  1. 数据存储层
    HDFS:分布式文件系统,大数据必备核心。
    HBase:基于Hadoop之上提供了类似于Bigtable的能力,不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库;另一个不同的是HBase基于列的而不是基于行的模式。
  1. 数据计算层:
    MapReduce:是一种编程模型,用于大规模数据集(大于1TB)的并行运算,当然,随着现在计算力的提高,大多都开始走流式计算了。
    Spark,flink,Storm:伪实时/实时计算引擎,逐步取代MapReduce
  1. 数据查询层
    Presto:facebook针对hive的优化版,可对250PB以上的数据进行快速地交互式分析,性能好十倍
    Kylin:分布式分析引擎,提供Hadoop之上的SQL查询接口及多维分析(OLAP)能力以支持超大规模数据,提供亚秒级查询,帮助前端可以更实时的进行纬度分析以及报表查询。
    Hive:hive是基于Hadoop的一个数据仓库工具,用来进行数据提取、转化、加载,这是一种可以存储、查询和分析存储在Hadoop中的大规模数据的机制。
  1. 资源管理层
    Yarn:是一种新的 Hadoop 资源管理器,它是一个通用资源管理系统,可为上层应用提供统一的资源管理和调度,使得本身MapReduce不需要再承担资源调度的任务,它的引入为集群在利用率、资源统一管理和数据共享等方面带来了巨大好处。属于绝对的核心服务。
  1. 配置管理
    Zookeeper:是一个为分布式应用提供一致性服务的软件,提供的功能包括:配置维护、域名服务、分布式同步、组服务等。相当于整个集群的配置基本都由这位动物园管理员来操作,属于绝对的核心服务。
  1. 数据展示层
    MySQL:关系型数据库,很多量不大的结果报表会走MySQL。CDH本身的节点信息管理也可以走MySQL,稳定的数据库,开源,社区强大,上手快。
    ElasticSearch:ELK架构依然是日志分析的利器,ElasticSearch本身也支持OLAP的诸多查询场景,但成本确实是个问题。
    Mongo:介于关系数据库和非关系数据库之间的产品,是非关系数据库当中功能最丰富,最像关系数据库的。bson结构的数据格式可以存储比较复杂的数据类型。
    ECharts:是一款基于JavaScript的数据可视化图表库,提供直观,生动,可交互,可个性化定制的数据可视化图表。
    Superset:轻量级的数据查询和可视化方案,小规模数据的BI利器,多种数据库,包括 MySQL、PostgresSQL、Oracle、SQL Server、SQLite、SparkSQL 等,并深度支持 Druid。

在这里插入图片描述

1.4 CloudManager

前面了解了cdh为何物?那么是否有相关的可视化操作平台呢?
当然有,也就是现在要讲的CM(Cloudra Manager),它的结构图如下:

在这里插入图片描述

CM是一个web操作平台,可以安装CDH然后再安装多种Hadoop框架,它的组件如下:
Clients:客户端,通过web页面和ClouderaManager和服务器进行交互;
API:通过API和ClouderaManagement和服务器进行交互;
Cloudera Repository:存储分发安装包;
Management Server:进行监控和预警;
Database:存储预警信息和配置信息;
Agent:分布在多台服务器,负责配置,启动和停止进程。监控主机。

2. 安装部署

2.1 服务器配置

IP地址 主机名 硬件配置 操作系统
192.168.6.5 cm-server 4C 4G RHEL7.6
192.168.6.6 agent01 4C 4G RHEL7.6
192.168.6.7 agent02 4C 4G RHEL7.6

说明:
cm-server用于部署server端、agent端、MySQL5.7
agent01、agent02用于部署集群节点

内存(大):
(企业)在成本允许的情况下一般选择大内存,比如 32GB、64GB、128GB,具体看业务而定,哪个服务对内存要求高,就可以配置的大一点(比如存文件系统元数据的 NameNode 对内存要求就比较高), 从节点 DataNode 内存就没必要那么大,它更需要的是磁盘和 CPU。所以这个需要大家根据每个组件的特点,有针对性的去选择配置。
(学习) 建议计算机的内存至少为 8GB, 最好为 16GB 及以上。主节点内存至少 4GB,从节点内存至少 2GB。

CPU:
(企业)一般选择多路多核的 CPU,比如 2 路 8 核,2 路 10 核,2 路 12 核的 CPU,主频至少 2-2.5GHz。
(学习)由于我们会先使用少量数据进行测试,暂时对 CPU 要求不高,目前电脑 CPU 核数都在 2 核或者 4 核以上,可以够学习使用。

磁盘:
(企业)一般选择大硬盘,因为我们要存储的是大规模的数据,比如可以配置 1-20 块 1-6TB 的硬盘。
(学习)每个节点磁盘分配至少 20G

网络:
(企业)一般都是选择万兆网,因为数据量越大,对网络吞吐率的要求就越高。
(学习)目前先保证能联网且网络稳定就行

2.2 修改主机名

根据各节点ip地址规划更改对应的主机名
192.168.6.5 # hostnamectl set-hostname cm-server
192.168.6.6 # hostnamectl set-hostname agent01
192.168.6.7 # hostnamectl set-hostname agent02

2.3 配置Host解析

#cm-server
[root@cm-server ~]# vim /etc/hosts
192.168.6.5 cm-server
192.168.6.6 agent01
192.168.6.7 agent02

把cm-server端编辑好的hosts文件分发各个agent
[root@cm-server ~]# scp /etc/hosts agent01:/etc/hosts
[root@cm-server ~]# scp /etc/hosts agent02:/etc/hosts

2.4 服务器配置

#查看系统版本号
[root@cm-server ~]# cat /etc/redhat-release
CentOS Linux release 7.6.1810 (Core)
查看内存情况
[root@cm-server ~]# free -g
total used free shared buff/cache available
Mem: 3 0 3 0 0 3
Swap: 3 0 3
查看系统核数
[root@cm-server ~]# lscpu | head -4 | tail -1
CPU(s): 2

2.5 免密登录

# 生成密钥,直接回车完成
[root@cm-server ~]# ssh-keygen -t rsa
# 分发密钥
[root@cm-server ~]# ssh-copy-id 192.168.6.5
[root@cm-server ~]# ssh-copy-id 192.168.6.6
[root@cm-server ~]# ssh-copy-id 192.168.6.7

# 在agent01、agent02 上执行相同操作
通过以下脚本校验SSH免密是否OK

for h in cm-server agent01 agent02;
do
ssh -l root -o StrictHostKeyChecking=no $h date;
done

2.6 安装包

安装所需各组件已经分享至云盘:
链接:https://pan.baidu.com/s/1fRHFX0oXHF13A9SdAL5UCw
提取码:20nb 

将目录下所有包下载并上传至服务器

[root@cm-server ~]# mkdir /software
[root@cm-server software]# ll
total 3412036
-rw-r--r-- 1 root root      14041 Jun 29 23:18 allkeys.asc
-rw-r--r-- 1 root root 2082186246 Jun 29 23:20 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
-rw-r--r-- 1 root root         40 Jun 29 23:20 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
-rw-r--r-- 1 root root   10483568 Jun 29 23:20 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root 1203832464 Jun 29 23:22 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root      11488 Jun 29 23:22 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root  194990602 Jun 29 23:22 jdk-8u211-linux-x64.tar.gz
-rw-r--r-- 1 root root    2385601 Jun 29 23:22 mysql-connector-java-8.0.20.jar

2.7 关闭防火墙

各服务器节点均执行
[root@cm-server software]# systemctl disable firewalld
[root@cm-server software]# systemctl stop firewalld

2.8 关闭SELINUX

# 各服务器节点均执行
[root@cm-server ~]# setenforce 0
setenforce: SELinux is disabled
[root@cm-server ~]# vim /etc/selinux/config
# 将SELINUX置为disabled
SELINUX=disabled

2.9 配置时间同步

[root@cm-server ~]# vim /etc/chrony.conf

server cm-server iburst
allow 192.168.6.0.0/24
local stratum 10

# 分发chrony配置
[root@cm-server ~]# scp /etc/chrony.conf agent01:/etc/chrony.conf 
[root@cm-server ~]# scp /etc/chrony.conf agent02:/etc/chrony.conf

# 各服务器重启chronyd服务和开机自启
[root@cm-server ~]# systemctl restart chronyd && systemctl enable chronyd
[root@agent01 ~]# systemctl restart chronyd && systemctl enable chronyd
[root@agent02 ~]# systemctl restart chronyd && systemctl enable chronyd

# 查看各节点的运行状况
[root@cm-server ~]# for i in cm-server agent01 agent02;do echo $i && ssh $i "chronyc sources";done
cm-server
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* cm-server                    10   6    17    50   +154ns[+1317ns] +/- 2274ns
agent01
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* cm-server                    11   6    17    45    +22us[  +44us] +/-  299us
agent02
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample
===============================================================================
^* cm-server                    11   6    17    42    +20us[ +253us] +/-  320us

2.10 调优系统swappiness参数

 vm.swappiness 参数可以调整机器使用内存、交互分区的比例。vm.swappiness 
 的取值范围在 0-100 之间,当 vm.swappiness 为 0 时,
 表示最大限度地使用物理内存,而后使用 swap 空间;当 swappiness 为 100 时,
 表示最大限度地使用 swap 空间,把内存中的数据及时搬运到 swap 空间中去。

# 各服务器节点均执行
[root@cm-server software]# vim /etc/sysctl.conf 
vm.swappiness = 0

echo "vm.swappiness = 0" >> /etc/sysctl.conf

sysctl -p
cat /proc/sys/vm/swappiness

2.11 关闭透明大页面

 大多数 Linux 平台都包含一个称为透明大页面的功能,该功能与 Hadoop 工作节点的交互很差,并且会严重降低性能。
查看透明大页是否启用,[always] never 表示已启用,always [never] 表示已禁用。

# 各服务器节点均执行
[root@cm-server ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@cm-server ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled

cat >> /etc/rc.local  <<EOF
if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi
if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
echo never > /sys/kernel/mm/transparent_hugepage/defrag
EOF

chmod +x /etc/rc.d/rc.local

grep Huge /proc/meminfo
HugePages_Total:显示0 表示设置成功

2.12 安装python2.7

Centos7 默认已经安装了 Python 2.7.5 版本,
如果系统没有安装,或者没有安装则使用以下命令安装:
[root@cm-server software]# python -V
Python 2.7.5
注意:各节点执行相同操作 如果系统没有安装python执
yum install -y python275

2.13 安装jdk1.8

# 进入安装包目录
[root@cm-server ~]# cd /software/
# 解压java安装包
[root@cm-server software]# tar -xf jdk-8u211-linux-x64.tar.gz
# 创建目录,将java移至使用目录
[root@cm-server software]# mkdir -p /usr/java
[root@cm-server software]# mv jdk1.8.0_211 /usr/java/default

# 增加环境变量参数
[root@cm-server software]# vim /etc/profile
# JAVA_HOME
export JAVA_HOME=/usr/java/default
export CLASSPATH=./:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH

# 引用变量参数,使profile文件生效
[root@cm-server software]# source /etc/profile
# 验证java
[root@cm-server software]# java -version
java version "1.8.0_211"
Java(TM) SE Runtime Environment (build 1.8.0_211-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.211-b12, mixed mode)

# 其它各agent节点创建java文件目录
[root@agent01 ~]# mkdir -p /usr/java
[root@agent02 ~]# mkdir -p /usr/java

# 分发java目录
[root@cm-server software]# scp -r /usr/java/default agent01:/usr/java/
[root@cm-server software]# scp -r /usr/java/default agent02:/usr/java/

# 在各agent节点上增加环境变量参数并source 引用
vim /etc/profile # 增加环境变量
source /etc/profile # 引用配置文件

2.14 本地yum的配置

# 安装的过程中,需要很多依赖包,所以建议配置本地yum
上传镜像文件并挂载
mount -o loop /software/CentOS-7-x86_64-DVD-1810.iso /mnt

配置yum
mkdir -p /tmp/confbak/yumbak/
mv /etc/yum.repos.d/*  /tmp/confbak/yumbak/  >/dev/null 2>&1
cat >> /etc/yum.repos.d/my.repo  <<EOF
[Server]
name=oracle_install
baseurl=file:///mnt/
gpgcheck=0
enabled=1
EOF

2.15 安装MySQL5.7

# 安装缺少的依赖:安装libaio autoconf
[root@cm-server software]# yum install -y libaio autoconf
# 提示mariadb相关的报错:删除mariadb的lib库
[root@cm-server software]# rpm -qa | grep mariadb
 mariadb-libs-5.5.68-1.el7.x86_64
[root@cm-server software]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64
# 进入mysql安装包目录
[root@cm-server ~]# cd /software/mysql
# 安装mysql依赖
[root@cm-server mysql]# rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm
[root@cm-server mysql]# rpm -ivh mysql-community-libs-5.7.29-1.el7.x86_64.rpm 
[root@cm-server mysql]# rpm -ivh mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 
# 安装mysql-client
[root@cm-server mysql]# rpm -ivh mysql-community-client-5.7.29-1.el7.x86_64.rpm
# 安装mysql-server
[root@cm-server mysql]# rpm -ivh mysql-community-server-5.7.29-1.el7.x86_64.rpm 
# 启动mysql并设置开机自启
[root@cm-server mysql]# systemctl start mysqld && systemctl enable mysqld
# 查看新装mysql密码
[root@cm-server mysql]# cat /var/log/mysqld.log | grep password
2023-06-29T16:09:25.192741Z 1 [Note] A temporary password is generated for root@localhost: oCqwq,Zk#7__
# 通过日志获取到初始密码 oCqwq,Zk#7__

# 用刚刚查到的密码进入mysql(初始密码中可能会有各种符号,命令行登录如果报错,给密码加单引号)
[root@cm-server opt]# mysql -uroot -p'oCqwq,Zk#7__'
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 2
Server version: 5.7.29

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 设置复杂密码(由于mysql密码策略,此密码必须足够复杂)
mysql> set password=password("Jeames@123");
Query OK, 0 rows affected, 1 warning (0.00 sec)

# 更改mysql密码策略
mysql> set global validate_password_length=4;
Query OK, 0 rows affected (0.00 sec)

mysql> set global validate_password_policy=0;
Query OK, 0 rows affected (0.00 sec)

# 设置简单好记的密码
mysql> set password=password("123456");
Query OK, 0 rows affected, 1 warning (0.00 sec)

# 切到msyql系统库
mysql> use mysql
Reading table information for completion of table and column names
You can turn off this feature to get a quicker startup with -A
Database changed

# 查询user表
mysql> select user, host from user;
+---------------+-----------+
| user          | host      |
+---------------+-----------+
| mysql.session | localhost |
| mysql.sys     | localhost |
| root          | localhost |
+---------------+-----------+
3 rows in set (0.00 sec)

# 修改user表,把Host表内容修改为% , 扩大数据库登录范围
mysql> update user set host="%" where user="root";
Query OK, 1 row affected (0.00 sec)
Rows matched: 1  Changed: 1  Warnings: 0

# 刷新更改配置
mysql> flush privileges;
Query OK, 0 rows affected (0.00 sec)

# 退出MySQL
mysql> quit;
Bye

# 查看MySQL版本
[root@cm-server mysql]# mysql -V
mysql  Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using  EditLine wrapper

# 尝试使用新密码123456,重新登陆MySQL
[root@cm-server mysql]# mysql -uroot -p123456
mysql: [Warning] Using a password on the command line interface can be insecure.
Welcome to the MySQL monitor.  Commands end with ; or \g.
Your MySQL connection id is 4
Server version: 5.7.29 MySQL Community Server (GPL)

Copyright (c) 2000, 2020, Oracle and/or its affiliates. All rights reserved.

Oracle is a registered trademark of Oracle Corporation and/or its
affiliates. Other names may be trademarks of their respective
owners.

Type 'help;' or '\h' for help. Type '\c' to clear the current input statement.

# 导入cdh_db.sql文件;一些服务的库、用户名和密码,可以先自行修改密码再执行
mysql> source cdh_db.sql
Query OK, 0 rows affected, 1 warning (0.00 sec)

mysql> quit;
Bye

2.16 拷贝 JDBC 驱动包

# cm-server上拷贝
[root@cm-server mysql]# cd /software/
[root@cm-server software]# mkdir -p /usr/share/java/
[root@cm-server software]# cp mysql-connector-java-8.0.20.jar /usr/share/java/mysql-connector-java.jar

# 在各agent创建目录
[root@agent01 ~]# mkdir -p /usr/share/java/
[root@agent02 ~]# mkdir -p /usr/share/java/

# 将cm-server的jdbc驱动包分发各agent节点/usr/share/java/目录
[root@cm-server ~]# cd /software/
[root@cm-server software]# scp mysql-connector-java-8.0.20.jar agent01:/usr/share/java/mysql-connector-java.jar
[root@cm-server software]# scp mysql-connector-java-8.0.20.jar agent02:/usr/share/java/mysql-connector-java.jar

2.17 安装 Clouder Manager Server

cm-server上安装
[root@cm-server software]# yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cm-server software]# yum install -y cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm

2.18 安装Clouder Manager Agent( agent )

# server上分发agent安装包
[root@cm-server software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm agent01:~/
[root@cm-server software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm agent02:~/
[root@cm-server software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm agent01:~/
[root@cm-server software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm agent02:~/

# 所有节点上安装agent服务
[root@agent01 ~]# yum localinstall -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@agent01 ~]# yum localinstall -y cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

# 所有节点上更改agent配置文件
[root@cm-server ~]# vim /etc/cloudera-scm-agent/config.ini
# 将server_host的配置改为server的主机名
server_host=cm-server

2.19 初始化 Clouder Manager 数据库表

[root@cm-server software]# ll /opt/cloudera/cm/schema/scm_prepare_database.sh
-rwxr-xr-x 1 root root 12450 Sep 25  2019 /opt/cloudera/cm/schema/scm_prepare_database.sh
# 注意替换ip地址,如果创建时,cdh_db.sql的密码改过这里需要对应改密码
[root@cm-server software]# /opt/cloudera/cm/schema/scm_prepare_database.sh -h 192.168.6.5 mysql scm scm 123456

JAVA_HOME=/usr/java/default
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/default/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.jar:/opt/cloudera/cm/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

2.20 拷贝 Parcel 文件到指定目录

[root@cm-server software]# cp /software/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo/
[root@cm-server software]# cp /software/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha /opt/cloudera/parcel-repo/
注:文件放置在/opt/cloudera/parcel-repo/目录下以后,在后续的界面安装各个服务时,在目录中找到版本文件,可以自动匹配到安装文件,无需连外网下载。

2.21 启动 Clouder Manager Server

# cm-server
[root@cm-server software]# systemctl start cloudera-scm-server
[root@cm-server software]# systemctl enable cloudera-scm-server
[root@cm-server software]# systemctl status cloudera-scm-server
● cloudera-scm-server.service - Cloudera CM Server Service
   Loaded: loaded (/usr/lib/systemd/system/cloudera-scm-server.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-06-30 00:37:16 CST; 20s ago
 Main PID: 5843 (java)
   CGroup: /system.slice/cloudera-scm-server.service
           └─5843 /usr/java/default/bin/java -cp .:/usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/usr/share/java/postgresql-connector-java.ja...

Jun 30 00:37:16 cm-server systemd[1]: Starting Cloudera CM Server Service...
Jun 30 00:37:16 cm-server systemd[1]: Started Cloudera CM Server Service.
Jun 30 00:37:16 cm-server cm-server[5843]: JAVA_HOME=/usr/java/default
Jun 30 00:37:16 cm-server cm-server[5843]: Java HotSpot(TM) 64-Bit Server VM warning: ignoring option MaxPermSize=256m; support was removed in 8.0
Jun 30 00:37:18 cm-server cm-server[5843]: ERROR StatusLogger No log4j2 configuration file found. Using default configuration: logging only errors to the console. Set ...on logging.
Jun 30 00:37:19 cm-server cm-server[5843]: Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is...nnecessary.
Jun 30 00:37:22 cm-server cm-server[5843]: 00:37:22.570 [main] ERROR org.hibernate.engine.jdbc.spi.SqlExceptionHelper - Table 'scm.CM_VERSION' doesn't exist
Hint: Some lines were ellipsized, use -l to show in full.

##错误日志
tail -200f /var/log/cloudera-scm-server/cloudera-scm-server.log

2.22 启动 Clouder Manager Agent

# 所有节点
[root@cm-server software]# systemctl start cloudera-scm-agent
[root@cm-server software]# systemctl enable cloudera-scm-agent

[root@agent02 ~]# systemctl status cloudera-scm-agent
● cloudera-scm-agent.service - Cloudera Manager Agent Service
   Loaded: loaded (/usr/lib/systemd/system/cloudera-scm-agent.service; enabled; vendor preset: disabled)
   Active: active (running) since Fri 2023-06-30 00:39:16 CST; 16s ago
 Main PID: 5660 (cmagent)
   CGroup: /system.slice/cloudera-scm-agent.service
           └─5660 /usr/bin/python2 /opt/cloudera/cm-agent/bin/cm agent

Jun 30 00:39:17 agent02 cm[5660]: [30/Jun/2023 00:39:17 +0000] 5660 MainThread agent        INFO     Re-using pre-existing directory: /var/run/cloudera-scm-agent/flood
Jun 30 00:39:17 agent02 cm[5660]: [30/Jun/2023 00:39:17 +0000] 5660 MainThread agent        INFO     Re-using pre-existing directory: /var/run/cloudera-scm-agent/supervisor/include
Jun 30 00:39:17 agent02 cm[5660]: [30/Jun/2023 00:39:17 +0000] 5660 MainThread agent        INFO     Re-using pre-existing directory: /var/run/cloudera-scm-agent/cgroups
Jun 30 00:39:17 agent02 cm[5660]: [30/Jun/2023 00:39:17 +0000] 5660 MainThread agent        INFO     Re-using pre-existing directory: /var/run/cloudera-scm-agent/process
Jun 30 00:39:17 agent02 cm[5660]: [30/Jun/2023 00:39:17 +0000] 5660 MainThread tmpfs        INFO     Successfully mounted tmpfs at /var/run/cloudera-scm-agent/process
Jun 30 00:39:17 agent02 cm[5660]: [30/Jun/2023 00:39:17 +0000] 5660 MainThread logging      INFO     Logging to /var/log/cloudera-scm-agent/cloudera-scm-agent.log
Jun 30 00:39:21 agent02 cm[5660]: status_server: added process group
Jun 30 00:39:21 agent02 cm[5660]: flood: added process group
Jun 30 00:39:21 agent02 cm[5660]: /opt/cloudera/cm-agent/lib/python2.7/site-packages/psutil/_pslinux.py:477: RuntimeWarning: dirty, writeback, mapped, commit_limit me...ere set to 0
Jun 30 00:39:21 agent02 cm[5660]: warnings.warn(msg, RuntimeWarning)
Hint: Some lines were ellipsized, use -l to show in full.

3.CDH集群安装

3.1 登陆CM

http:cm-serverIP:7180 ( admin / admin )
登陆后,有欢迎页面,无需操作,点击继续即可;
Accept License一些条款协议,点击同意,继续即可;

在这里插入图片描述
在这里插入图片描述
在这里插入图片描述

3.2 集群安装

设置集群名称

在这里插入图片描述

勾选管理节点

在这里插入图片描述

选择存储库

在这里插入图片描述

CDH集群安装中,选择版本后,Clouder Manager Server 会将 parcel 解压,分发,安装到每一台选择 Clouder Manager Agent 的服务器;需要耐心等待进度完成后才可点击下一步。

在这里插入图片描述
一般结果中都会告诉每个问题的处理办法,照着操作即可,最后再重新运行检查
在这里插入图片描述

3.3 群集设置

在这里插入图片描述
在这里插入图片描述
如果发现需要的数据库、用户名、密码不存在,可以参照执行的sql文件格式,新增库和用户名等

在这里插入图片描述

在这里插入图片描述
等待各组件安装完成
在这里插入图片描述
最后,点击完成后,即可跳转至管理界面了,后续使用以及维护全部围绕管理界面来完成,以及检查监控集群各组件运行情况

版权声明:本文为博主原创文章,遵循 CC 4.0 BY-SA 版权协议,转载请附上原文出处链接和本声明。
本文链接:https://blog.csdn.net/weixin_41645135/article/details/131497938

智能推荐

Kubernetes中的Service用法及如何通过endpoint关联容器外服务_kubectl svc 修改endpoint-程序员宅基地

文章浏览阅读913次,点赞17次,收藏10次。能够为应用提供一个(入口地址),并且,Service也提供了功能,从而将客户端的请求分发到后端的各个容器中。_kubectl svc 修改endpoint

C# XML 嵌套数组的序列化方法_c# xml 数组-程序员宅基地

文章浏览阅读2.4k次,点赞2次,收藏9次。XML示例<?xml version="1.0" encoding="utf-8"?><root xmlns:QQQ="http://www.sss.org.cn" xmlns:WAC="http://www.aaa.com"> <Person> <Name>小莫</Name> <Ag..._c# xml 数组

Amazon DynamoDB详解-程序员宅基地

文章浏览阅读1.5w次。今早Amazon发布了DynamoDB,作为AWS服务的新成员,提升了AWS管理结构化数据的能力。总体来说,DynamoDB是基于Amazon Dynamo技术实现的可伸缩性和可用性优异的NoSQL数据库托管服务。我们知道,Amazon搞了一个很牛的KV数据库Dynamo,可伸缩性、可用性和性能稳定性非常好。但Dynamo推出后并没有在Amazon内部被广泛接纳,主要原因是Dy

openlayers3在Vue中鼠标右键取消绘制方法-程序员宅基地

文章浏览阅读1.9k次,点赞3次,收藏4次。// 本文是介绍右键取消绘制的一种解决方式,以下代码是从其他项目代码中抽取关键部分仅供大致参考,并不是完整的实例代码,请读者注意。//初始化mapinitMap(){ let self=this; ... self.map=addmap(self.center,self.resolutions,self.resolution,s...

已解决java.nio.BufferOverflowException: 缓冲区溢出异常的正确解决方法,亲测有效!!!-程序员宅基地

文章浏览阅读639次,点赞20次,收藏21次。已解决java.nio.BufferOverflowException: 缓冲区溢出异常的正确解决方法,亲测有效!!!

Spring Cloud 微服务架构图_springcloud框架图-程序员宅基地

文章浏览阅读2.1k次。上面图中技术名词理解:为服务之间调用提供链路追踪。通过可以很清楚的了解到一个服务请求经过了哪些服务,每个服务处理花费了多长。从而让我们可以很方便的理清各微服务间的调用关系。在微服务架构中,根据业务来拆分成一个个的服务,服务与服务之间可以相互调用(RPC),在Spring Cloud可以用RestTemplate+Ribbon和Feign来调用。为了保证其高可用,单个服务通常会集群部署。由于网络原因或者自身的原因,服务并不能保证100%可用,如果单个服务出现问题,调用这个服务就会出现线程阻塞,此..._springcloud框架图

随便推点

为什么要用PolyFill(JS中的修补匠)_polyfill.min.js-程序员宅基地

文章浏览阅读1.4k次。var users = [{name:”zhangsan”,age:18},{name:”jack”,age:20}]; 这是一个对象数组。如果我们要查询名字为”jack”用户的年龄、常用的办法是什么? 很多同学会想到遍历这个数组。我们来看看新的语法:var getUser = users.find(function(finder){ return finder.name = “j_polyfill.min.js

Android贝塞尔曲线实现加入购物车抛物线动画_android 抛物线 path-程序员宅基地

文章浏览阅读3.8k次,点赞2次,收藏6次。先上图看效果 步骤: a.确定动画的起终点 b.在起终点之间使用二次贝塞尔曲线填充起终点之间的点的轨迹 c.设置属性动画,ValueAnimator插值器,获取中间点的坐标 d.将执行动画的控件的x、y坐标设为上面得到的中间点坐标 e.开启属性动画 f.当动画结束时的操作获取控件在屏幕中的绝对坐标: int[] parentLocation = new int[2]; m_android 抛物线 path

【Mybatis源码解析第九章】说说Mybatis中的ExecutorType_mybatis executortype-程序员宅基地

文章浏览阅读2.5k次。缘起在使用mybatisplue的过程中,发现如果一个事务中执行了插入又执行了批量插入的话就会报错Cannot change the ExecutorType when there is an existing transaction[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iFLCqrsB-1582688327549)(http://www.bxoon...._mybatis executortype

java开发操作系统:同时运行多窗口多任务_java jni 同时管理多个窗口-程序员宅基地

文章浏览阅读1.8k次。创建操作系统的多窗口多进程功能_java jni 同时管理多个窗口

ElasticSearch 字段数据存在,但用term查询搜索不到指定的数据_elasticsearch中match查询和term不可用-程序员宅基地

文章浏览阅读6.1k次,点赞11次,收藏13次。近日使用ElasticSearch查询数据时遇到了个问题,在es中该字段对应的数据是存在的,但使用term/terms查询时却查不到。同时,我使用match去查询却能查到:match能查到而term查不到,用过es的都应知道这两者的查询是有区别的:match是全文搜索,用于查询字段类型为text的字段,match进行搜索的时候,会先进行分词拆分,拆完后,再来匹配;而term是精确查询,也就是完全匹配,通常用于对keyword和有精确值的字段进行查询,搜索前不会再对搜索词进行分词拆解。由上面的._elasticsearch中match查询和term不可用

人工智能_机器学习059_非线性核函数_poly核函数_rbf核函数_以及linear核函数效果对比---人工智能工作笔记0099_linear、 poly、rbf-程序员宅基地

文章浏览阅读595次。X += np.random.randn(100,2) 我们从正太分布中拿出100行2列的数据来,拼接到X生成的100行2列的数据里面,现在的原来的X,就变成了。- `X[:,0]`:这是第一个维度(通常是x轴)的值,X 是一个二维数组,`X[:,0]` 表示取X数组的第一列。- `X[:,1]`:这是第二个维度(通常是y轴)的值,X 是一个二维数组,`X[:,1]` 表示取X数组的第二列。这个是5,5 表示图形的大小,x轴,y轴的大小,设置好以后生成的就圆了,要不然是椭圆的,可以看到上面显示的._linear、 poly、rbf