CM+CDH 构建企业大数据平台

news2024/9/20 0:49:22

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

文章目录

  • 前言
    • 📣 1.CDH简介
      • ✨ 1.1 CDH概述
      • ✨ 1.2 功能
      • ✨ 1.3 平台架构
      • ✨ 1.4 CloudManager
    • 📣 2. 安装部署
      • ✨ 2.1 服务器配置
      • ✨ 2.2 修改主机名
      • ✨ 2.3 配置Host解析
      • ✨ 2.4 服务器配置
      • ✨ 2.5 免密登录
      • ✨ 2.6 安装包
      • ✨ 2.7 关闭防火墙
      • ✨ 2.8 关闭SELINUX
      • ✨ 2.9 配置时间同步
      • ✨ 2.10 调优系统swappiness参数
      • ✨ 2.11 关闭透明大页面
      • ✨ 2.12 安装python2.7
      • ✨ 2.13 安装jdk1.8
      • ✨ 2.14 本地yum的配置
      • ✨ 2.15 安装MySQL5.7
      • ✨ 2.16 拷贝 JDBC 驱动包
      • ✨ 2.17 安装 Clouder Manager Server
      • ✨ 2.18 安装Clouder Manager Agent( agent )
      • ✨ 2.19 初始化 Clouder Manager 数据库表
      • ✨ 2.20 拷贝 Parcel 文件到指定目录
      • ✨ 2.21 启动 Clouder Manager Server
      • ✨ 2.22 启动 Clouder Manager Agent
    • 📣 3.CDH集群安装
      • ✨ 3.1 登陆CM
      • ✨ 3.2 集群安装
      • ✨ 3.3 群集设置

前言

通过将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.5cm-server4C 4GRHEL7.6
192.168.6.6agent014C 4GRHEL7.6
192.168.6.7agent024C 4GRHEL7.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文件格式,新增库和用户名等

在这里插入图片描述

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

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/709348.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

电磁阀位、通、开/闭原理精髓

一、引用 电磁阀在液/气路系统中&#xff0c;用来实现液路的通断或液流方向的改变&#xff0c;它一般具有一个可以在线圈电磁力驱动下滑动的阀芯&#xff0c;阀芯在不同的位置时&#xff0c;电磁阀的通路也就不同。 阀芯在线圈不通电时处在甲位置&#xff0c;在线圈通电时处在…

ChatGPT助力校招----面试问题分享(八)

1 ChatGPT每日一题&#xff1a;有源和无源滤波器 问题&#xff1a;有源和无源滤波器的区别 ChatGPT&#xff1a;有源滤波器和无源滤波器是指使用不同的电路元件来实现滤波功能的电路 有源滤波器使用了一个或多个有源元件&#xff0c;例如晶体管、运算放大器等&#xff0c;以…

浅浅总结一下雅思听力技巧

1. 地图题 读题步骤要明确 &#xff08;1&#xff09;看图&#xff0c;要看看题目中是否有东南西北的标志&#xff0c;如果有的话&#xff0c;那么大概率题目中就会用到。同时也标记好左右的标志&#xff0c;防止考试的时候太紧张分不清。 弄清楚个元素的相对位置&#xff0…

华为OD机试真题 Python 实现【开心消消乐】【2023 B卷 100分】,附详细解题思路

目录 一、题目描述二、输入描述三、输出描述四、Python算法源码五、效果展示1、输入2、输出3、说明 一、题目描述 给定一个N行M列的二维矩阵&#xff0c;矩阵中每个位置的数字取值为0或1。矩阵示例如&#xff1a; 1 1 0 0 0 0 0 1 0 0 1 1 1 1 1 1 现需要将矩阵中所有的1进行…

卷积神经网络--猫狗系列之构建模型【ResNet50】

在上一期&#xff1a;卷积神经网络--猫狗系列之下载、导入数据集&#xff0c;如果测试成功就说明对数据的预处理工作已经完成&#xff0c;接下来就是构建模型阶段了&#xff1a; 据说建立一个神经网络模型比较简单&#xff0c;只要了解了各层的含义、不同层之间参数的传递等等&…

leetcode 1232. 缀点成线

题目描述解题思路执行结果 leetcode 1232. 缀点成线 题目描述 缀点成线 给定一个数组 coordinates &#xff0c;其中 coordinates[i] [x, y] &#xff0c; [x, y] 表示横坐标为 x、纵坐标为 y 的点。请你来判断&#xff0c;这些点是否在该坐标系中属于同一条直线上。 示例 1&a…

进程的调度常用算法

目录 先来先服务&#xff08;FCFS&#xff09;调度算法 短作业优先&#xff08;SJF&#xff09;的调度算法 基于时间片的轮转调度&#xff08;RR&#xff09;算法 先来先服务&#xff08;FCFS&#xff09;调度算法 系统将按照作业到达的先后次序来进行作业调度&#xff0c;或…

RT-Thread 5.0.1 qemu-virt64-aarch64 解决网络问题

参考文章 qemu 源码编译 qemu-system-aarch64 的方法 RT-Thread 5.0.1 qemu-virt64-aarch64 解决编译问题 前言 最近需要使用 RT-Thread qemu-virt64-aarch64&#xff0c;验证 aarch64 平台&#xff0c;也就是 ARM64 平台的一些网络功能&#xff0c;需要开启 qemu-virt64-aa…

UE4/5用贴图和GeneratedDynamicMeshActor曲面细分与贴图位移制作模型

目录 制作逻辑&#xff1a; ​编辑 曲面细分函数&#xff1a; 添加贴图逻辑&#xff1a; 代码&#xff1a; 制作逻辑&#xff1a; 在之前的文章中&#xff0c;我们使用了网格细分&#xff0c;而这一次我们将使用曲面细分函数&#xff0c;使用方法和之前是一样的&#xff1a…

高精度定位|RTK定位模块常见应用领域_厘米级室外定位解决方案

在室外场景&#xff0c;北斗、GPS等GNSS定位技术在持续的演变&#xff0c;精度越来越高&#xff0c;应用面也越来越广。随着新基建热潮的到来&#xff0c;借助5G新基建&#xff0c;无人驾驶、自动驾驶等技术正在逐步完善&#xff0c;对于定位的需求已经不仅仅只是粗略的轨迹&am…

uniapp-ios打包步骤

前置条件&#xff1a;已申请Apple ID并注册Apple Developer Program 一、登录苹果开发者官网 登录&#xff1a;https://developer.apple.com/ 点击账户&#xff08;Account&#xff09;进行登录&#xff0c;登录成功出现如下页面 二、创建证书、标识符、描述文件等 点击…

vue3基本指令使用

<script setup lang"ts"> import {ref} from vue //响应式数据 const num: number 1 const arr1: number[] [1, 2, 3, 4, 5] const str: string "我是一段文字" const htmlstr: string <section style"color:red">我是一个secti…

微服务-基于Docker安装Sentinel

目录 1、拉取Sentinel镜像 2、构建Sentinel容器 3、访问Sentinel 1、拉取Sentinel镜像 代码&#xff1a; docker pull bladex/sentinel-dashboard:1.8.0 实例&#xff1a; rootlocalhost howlong]# docker pull bladex/sentinel-dashboard:1.8.0 1.8.0: Pulling from blade…

集合及Collection集合

1&#xff1a;集合特点&#xff1a; 集合的大小不确定&#xff0c;启动后可以动态变化&#xff0c;类型也可以选择不固定。集合更像气球集合非常适合做元素的增删操作注意&#xff1a;集合只能存储引用类型数据&#xff0c;如果要存储基本类型数据可以选用包装类。 2&#xf…

2.FreeRTOS系统任务调度简介及任务状态

目录 一、基础知识 1、FreeRTOS 任务状态 (1)运行态 (2)就绪态 (3) 阻塞态 (4) 挂起态 二、任务调度简介 1.抢占式调度 2.时间片调度 3.协程式调度 一、基础知识 1、FreeRTOS 任务状态 FreeRTOS 中任务存在四种任务状态&#xff0c;分别为运行态、就绪态、阻塞态和挂…

Word模板替换,并转PDF格式输出,Linux服务器乱码问题解决

Poi-tl参考文档地址&#xff1a;http://deepoove.com/poi-tl/1.8.x/#hack-loop-table word模板替换&#xff0c;转pdf 1. 依赖引入&#xff1a;2. word模板配置&#xff1a;3. 示例demo:4 . 效果图5. 本地测试没问题&#xff0c;上Linux服务乱码&#xff0c;出现小方框 1. 依赖…

Python———运行环境搭建

不管用什么工具开发 Python 程序&#xff0c;都必须安装 Python 的运行环境。 目前最常用的是Windows 、 Linux 平台。这里 我们以Windows10为主讲解。 其实编程和平台关系不大。大家也可以使用Linux、Mac。 Windows 平台下 Python 环境搭建 第一步&#xff1a;进入 python 官…

python绘制热力图,数据来源pandas.dataframe

通过pandas.dataframe绘制热力图&#xff0c;并标出颜色最深即z轴数据最大的点。 import matplotlib.pyplot as plt import pandas as pd import numpy as npclass Heatmap:def __init__(self, data, marker*, marker_colorwhite, marker_size10):self.data dataself.size l…

排序的概念,插入排序,希尔排序,选择排序

文章目录 排序的概念排序的概念&#xff1a;排序运用常见的排序与时间复杂度 插入排序希尔排序希尔排序的概念希尔排序总结 选择排序概念 排序的概念 排序的概念&#xff1a; 排序&#xff1a;所谓排序&#xff0c;就是使一串记录&#xff0c;按照其中的某个或某些关键字的大小…

【复习《剑指Offer》13-17题】【每天40分钟,我们一起用50天刷完 (剑指Offer)】第十三天 7/50

专注 效率 记忆 预习 笔记 复习 做题 欢迎观看我的博客&#xff0c;如有问题交流&#xff0c;欢迎评论区留言&#xff0c;一定尽快回复&#xff01;&#xff08;大家可以去看我的专栏&#xff0c;是所有文章的目录&#xff09;   文章字体风格&#xff1a; 红色文字表示&#…