数智化转型升级之道--手把手教你搭建企业级大数据平台

一、CDH大数据平台简介

1.1 CDH 概念

CDH是Cloudera的开源平台发行版,包括Apache Hadoop,专为满足企业需求而构建。CDH提供开箱即用的企业使用所需的一切。通过将Hadoop与十几个其他关键的开源项目集成,Cloudera创建了一个功能先进的系统,可帮助您执行端到端的大数据工作流程。简单来说:CDH 是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得集群的安装可以从几天的时间缩短为几个小时,运维人数也会从数十人降低到几个人,极大的提高了集群管理的效率。

1.1.1 Cloudera Manager的功能

1)管理:对集群进行管理,例如添加、删除节点等操作

2)监控:监控集群的健康情况,对设置的各种指标和系统的具体运行情况进行全面的监控

3)诊断:对集群出现的各种问题进行诊断,并且给出建议和解决方案

4)集成:多组件可以进行版本兼容间的整合

1.1.2 Cloudera Manager架构原理

cloudera manager的核心是管理服务器,该服务器承载管理控制台的Web服务器和应用程序逻辑,并负责安装软件,配置,启动和停止服务,以及管理上的服务运行群集。

1.1.3 Cloudera Manager 组成结构

Cloudera Manager Server由以下几个部分组成:

Agent:安装在每台主机上。该代理负责启动和停止的过程,拆包配置,触发装置和监控主机。

Management Service:由一组执行各种监控,警报和报告功能角色的服务。

Database:存储配置和监视信息。通常情况下,多个逻辑数据库在一个或多个数据库服务器上运行。

Cloudera Repository:软件由Cloudera 管理分布存储库。

Clients:是用于与服务器进行交互的接口。

Admin Console :基于Web的用户界面与管理员管理集群和Cloudera管理。

API :与开发人员创建自定义的Cloudera Manager应用程序的API。

二、服务器节点安装部署

2.1 环境准备

2.1.1 机器准备

服务器配置 14核 128G内存 2.8T磁盘

账号密码

root/1~8

admin/1~8

虚拟机名称

主机名

IP地址

配置

根用户

管理员

部署软件

cdh-data-center-00

cdh-manager

192.168.2.109

2核16G 200G

root\12345678

admin\12345678

  1. Mysql
  2. cloudera-scm-server
  3. cloudera-scm-agent

cdh-data-center-01

cdh-agent01

192.168.2.111

2核16G 200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-02

cdh-agent02

192.168.2.113

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-03

cdh-agent03

192.168.2.114

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-04

cdh-agent04

192.168.2.107

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-05

cdh-agent05

192.168.2.115

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-06

cdh-agent06

192.168.2.116

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-07

cdh-agent07

192.168.2.117

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-08

cdh-agent08

192.168.2.118

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

cdh-data-center-09

cdh-agent09

192.168.2.119

1核8G  200G

root\12345678

admin\12345678

  1. cloudera-scm-agent

此集群用于数据智能实验室--大数据平台

备注

账号信息

  1. Mysql root/12345678
  2. CDH admin/admin | http://192.168.2.109:7180/

1. 配置主机静态IP

一:使用语句:cd /etc/sysconfig/network-scripts/

二:找到ifcfg-cns*,把NOBOOT改为yes,然后配置静态IP和网关

三:然后重启网卡,输入:service network restart

vi /etc/sysconfig/network-scripts/ifcfg-ens33
以下是内容
TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
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=d07cb908-e2f5-4220-a6c2-388e13567d37
DEVICE=ens33
ONBOOT=yes  # on 改为yes
BOOTPROTO=static #dhcp 改为static
IPADDR=192.168.2.107
NETMASK=255.255.255.0
GATEWAY=192.168.2.1
DNS1=8.8.8.8
DNS2=8.8.4.4

2. 配置主机和解析

#修改主机名称
# 分别在各服务器上执行hostnamectl
192.168.2.109  # hostnamectl set-hostname cdh-manager
192.168.2.111  # hostnamectl set-hostname cdh-agent01
192.168.2.113  # hostnamectl set-hostname cdh-agent02
192.168.2.114  # hostnamectl set-hostname cdh-agent03
192.168.2.107  # hostnamectl set-hostname cdh-agent04
192.168.2.115  # hostnamectl set-hostname cdh-agent05
192.168.2.116  # hostnamectl set-hostname cdh-agent06
192.168.2.117  # hostnamectl set-hostname cdh-agent07
192.168.2.118  # hostnamectl set-hostname cdh-agent08
192.168.2.119  # hostnamectl set-hostname cdh-agent09


#分别在各节点配置域名解析
vim /etc/hosts
#CDH集群配置
192.168.2.109   cdh-manager
192.168.2.111   cdh-agent01
192.168.2.113   cdh-agent02
192.168.2.114   cdh-agent03
192.168.2.107   cdh-agent04
192.168.2.115   cdh-agent05
192.168.2.116   cdh-agent06
192.168.2.117   cdh-agent07
192.168.2.118   cdh-agent08
192.168.2.119   cdh-agent09

3. 重启个主机节点

reboot

4. 配置免密登录

1、十台机器分别在root用户下执行以下命令

# 在cdh-manager生成密钥,连续三次回车
[root@cdh-manager ~]# ssh-keygen -t rsa
# 在cdh-agent01生成密钥,连续三次回车
[root@cdh-agent01 ~]# ssh-keygen -t rsa
# 在cdh-agent02生成密钥,连续三次回车
[root@cdh-agent02 ~]# ssh-keygen -t rsa
# 在cdh-agent03生成密钥,连续三次回车
[root@cdh-agent03 ~]# ssh-keygen -t rsa
# 在cdh-agent04生成密钥,连续三次回车
[root@cdh-agent04 ~]# ssh-keygen -t rsa
# 在cdh-agent05生成密钥,连续三次回车
[root@cdh-agent05 ~]# ssh-keygen -t rsa
# 在cdh-agent06生成密钥,连续三次回车
[root@cdh-agent06 ~]# ssh-keygen -t rsa
# 在cdh-agent07生成密钥,连续三次回车
[root@cdh-agent07 ~]# ssh-keygen -t rsa
# 在cdh-agent08生成密钥,连续三次回车
[root@cdh-agent08 ~]# ssh-keygen -t rsa
# 在cdh-agent09生成密钥,连续三次回车
[root@cdh-agent09 ~]# ssh-keygen -t rsa

2、将cdh-agent01、cdh-agent02、cdh-agent03、cdh-agent04、cdh-agent05、cdh-agent06、cdh-agent07、cdh-agent08、cdh-agent09的公钥拷贝到cdh-manager主机

# 分发公钥(分别在各代理节点执行)
[root@cdh-agent01 ~]# ssh-copy-id cdh-manager
[root@cdh-agent02 ~]# ssh-copy-id cdh-manager
[root@cdh-agent03 ~]# ssh-copy-id cdh-manager
[root@cdh-agent04 ~]# ssh-copy-id cdh-manager
[root@cdh-agent05 ~]# ssh-copy-id cdh-manager
[root@cdh-agent06 ~]# ssh-copy-id cdh-manager
[root@cdh-agent07 ~]# ssh-copy-id cdh-manager
[root@cdh-agent08 ~]# ssh-copy-id cdh-manager
[root@cdh-agent09 ~]# ssh-copy-id cdh-manager

3、在cdh-manager主机执行以下命令,分别把authorized_keys拷贝到各代理节点

#进入cdh-manager节点.ssh目录
[root@cdh-manager ~]# cd /root/.ssh
#把authorized_keys拷贝到代理节点
[root@cdh-manager ~]# scp authorized_keys cdh-agent01:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent02:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent03:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent04:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent05:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent06:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent07:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent08:~/.ssh/
[root@cdh-manager ~]# scp authorized_keys cdh-agent09:~/.ssh/

2.1.2 JDK 安装

尽量不要使用Linux自带的OpenJDK。

查看指令:

rpm -qa|grep java

卸载指令:

rpm -qa | grep -i java | xargs -n1 rpm -e --nodeps

1 创建软件目录

mkdir -p /opt/software

2 复制文件到软件目录

可以使用远程复制命令scp拷贝安装包文件到cdh-manager节点

scp -r /xxx/xxx/ root@192.168.2.109:/opt/software/

3 解压文件到指定目录

tar -zxvf /opt/software/jdk-8u241-linux-x64.tar.gz

4 设置环境变量(在 /etc/profile.d目录中增加环境变量脚本--推荐)

添加内容如下:

# 进入安装包目录
[root@cdh-manager software ~]# cd /opt/software/
# 创建目录,将java移至使用目录
[root@cdh-manager software]# mkdir -p /usr/java
# 解压jdk安装文件到指定目录
[root@cdh-manager software]# tar -zxvf /opt/software/jdk-8u241-linux-x64.tar.gz
# 移动安装文件到指定目录(必须*cdh指定的位置)
[root@cdh-manager software]# mv jdk1.8.0_241 /usr/java/default
[root@cdh-manager software]# ll /usr/java/default/
total 26000
drwxr-xr-x 2 10 143     4096 Apr  2  2019 bin
-r--r--r-- 1 10 143     3244 Apr  2  2019 COPYRIGHT
drwxr-xr-x 3 10 143     4096 Apr  2  2019 include
-rw-r--r-- 1 10 143  5213268 Mar 14  2019 javafx-src.zip
drwxr-xr-x 5 10 143     4096 Apr  2  2019 jre
drwxr-xr-x 5 10 143     4096 Apr  2  2019 lib
-r--r--r-- 1 10 143       44 Apr  2  2019 LICENSE
drwxr-xr-x 4 10 143     4096 Apr  2  2019 man
-r--r--r-- 1 10 143      159 Apr  2  2019 README.html
-rw-r--r-- 1 10 143      424 Apr  2  2019 release
-rw-r--r-- 1 10 143 21105019 Apr  2  2019 src.zip
-rw-r--r-- 1 10 143   112748 Mar 14  2019 THIRDPARTYLICENSEREADME-JAVAFX.txt
-r--r--r-- 1 10 143   149725 Apr  2  2019 THIRDPARTYLICENSEREADME.txt

# 增加环境变量参数
[root@cdh-manager software]# cd /etc/profile.d
# 编辑脚本文件
[root@cdh-manager software]# vim dev_env.sh

#JAVA_HOME
export JAVA_HOME=/usr/java/default
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JAVA_HOME/jre/lib/rt.jar
export PATH=$PATH:$JAVA_HOME/bin

# 引用变量参数,使profile文件生效
[root@cdh-manager software]# source /etc/profile

# 验证java
[root@cdh-manager software]# java -version
java version "1.8.0_241"
Java(TM) SE Runtime Environment (build 1.8.0_241-b07)
Java HotSpot(TM) 64-Bit Server VM (build 25.241-b07, mixed mode)
5 JDK 文件分发和环境变量设置
# 其它各agent节点创建java文件目录
[root@cdh-agent01 ~]# mkdir -p /usr/java
[root@cdh-agent02 ~]# mkdir -p /usr/java
[root@cdh-agent03 ~]# mkdir -p /usr/java
[root@cdh-agent04 ~]# mkdir -p /usr/java
[root@cdh-agent05 ~]# mkdir -p /usr/java
[root@cdh-agent06 ~]# mkdir -p /usr/java
[root@cdh-agent07 ~]# mkdir -p /usr/java
[root@cdh-agent08 ~]# mkdir -p /usr/java
[root@cdh-agent09 ~]# mkdir -p /usr/java

# 分发java目录
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent01:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent02:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent03:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent04:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent05:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent06:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent07:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent08:/usr/java/
[root@cdh-manager software]# scp -r /usr/java/default cdh-agent09:/usr/java/



分发环境变量给各代理节点
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent01:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent02:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent03:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent04:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent05:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent06:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent07:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent08:/etc/profile.d
[root@cdh-manager profile.d]# scp -r /etc/profile.d/dev_env.sh cdh-agent09:/etc/profile.d

# 引用变量参数,使profile文件生效
[root@cdh-agent01 ~]# source /etc/profile
[root@cdh-agent02 ~]# source /etc/profile
[root@cdh-agent03 ~]# source /etc/profile
[root@cdh-agent04 ~]# source /etc/profile
[root@cdh-agent05 ~]# source /etc/profile
[root@cdh-agent06 ~]# source /etc/profile
[root@cdh-agent07 ~]# source /etc/profile
[root@cdh-agent08 ~]# source /etc/profile
[root@cdh-agent09 ~]# source /etc/profile

2.1.3 关闭防火墙(每个节点都执行)

#查看防火墙状态---各服务器节点均执行
[root@cdh-manager profile.d]# firewall-cmd --state
##关闭防火墙---各服务器节点均执行
[root@cdh-manager profile.d]# systemctl stop firewalld.service
#禁止开机启动
[root@cdh-manager profile.d]# systemctl disable firewalld.service


#查看防火墙状态---各服务器节点均执行
[root@cdh-agent01 profile.d]# firewall-cmd --state
##关闭防火墙---各服务器节点均执行
[root@cdh-agent01 profile.d]# systemctl stop firewalld.service
#禁止开机启动
[root@cdh-agent01 profile.d]# systemctl disable firewalld.service

#查看防火墙状态---各服务器节点均执行
[root@cdh-agent02 profile.d]# firewall-cmd --state
##关闭防火墙---各服务器节点均执行
[root@cdh-agent02 profile.d]# systemctl stop firewalld.service
#禁止开机启动
[root@cdh-agent02 profile.d]# systemctl disable firewalld.service

其他节点略!!!

2.1.4 关闭 SELINUX

2.1.4  关闭 SELINUX

#关闭selinux -- 各个节点都需要执行
[root@cdh-manager jdk1.8.0_241]# vi /etc/selinux/config
修改:SELINUX=disabled

[root@cdh-agent01 jdk1.8.0_241]# vi /etc/selinux/config
修改:SELINUX=disabled

其他略!!!

2.1.5 配置时间同步服务

## 各节点都要执行
# 将centos7的时区设置成上海
ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime
# 安装ntp
yum install ntp
# 将ntp设置成缺省启动
systemctl enable ntpd
# 重启ntp服务
service ntpd restart
# 对准时间
ntpdate asia.pool.ntp.org
# 对准硬件时间和系统时间
/sbin/hwclock --systohc
# 查看时间
timedatectl
# 开始自动时间和远程ntp时间进行同步
timedatectl set-ntp true

2.1.6 调优系统swappiness参数

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

 

# 各服务器节点均执行
[root@cdh-manager profile.d]# vim /etc/sysctl.conf 
 vm.swappiness = 0

2.1.7 关闭透明大页面

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

[root@cdh-manager ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag

[root@cdh-manager ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled


 

2.1.8 安装python2.7

Centos7 默认已经安装了 Python 2.7.5 版本,如果系统没有安装,或者没有安装则使用以下命令安装:

[root@cdh-manager software]# python -V Python 2.7.5 # 各节点执行相同操作 如果系统没有安装python执行(yum install -y python275)

2.1.9 安装MySQL5.7

# 进入mysql安装包目录
[root@cdh-manager ~]# cd /opt/software/mysql
# 安装mysql依赖
[root@cdh-manager mysql]# rpm -ivh 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm
[root@cdh-manager mysql]# rpm -ivh 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 
[root@cdh-manager mysql]# rpm -ivh 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 
# 安装mysql-client
[root@cdh-manager mysql]# rpm -ivh 04_mysql-community-client-5.7.29-1.el7.x86_64.rpm
# 安装mysql-server
[root@cdh-manager mysql]# rpm -ivh 05_mysql-community-server-5.7.29-1.el7.x86_64.rpm 

# 【注意】 安装过程中如果出现报错失败;大多都是因lib冲突,或者小版本依赖等问题,可以根据报错做如下一些常用的依赖清理和依赖处理
# 以下罗列常用的解决办法
# 库冲突:清理mysql-libs库
# [root@cdh-manager software]# yum remove mysql-libs
# 缺少依赖:安装libaio autoconf
# [root@cdh-manager software]# yum install -y libaio autoconf
# 提示mariadb相关的报错:删除mariadb的lib库
# [root@cdh-manager software]# rpm -qa | grep mariadb
# mariadb-libs-5.5.56-2.el7.x86_64
# [root@cdh-manager software]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

# 启动mysql并设置开机自启
[root@cdh-manager mysql]# systemctl start mysqld && systemctl enable mysqld
# 查看新装mysql密码
[root@cdh-manager mysql]# cat /var/log/mysqld.log | grep password
2021-09-13T07:56:47.599484Z 1 [Note] A temporary password is generated for root@localhost:!QnM(hMd3*sw
# 通过日志获取到初始密码  !QnM(hMd3*sw

# 用刚刚查到的密码进入mysql(初始密码中可能会有各种符号,命令行登录如果报错,给密码加单引号)
[root@cdh-manager mysql]# mysql -uroot -p'!QnM(hMd3*sw'
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("Cdh@123456");
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@cdh-manager mysql]# mysql -V
mysql  Ver 14.14 Distrib 5.7.29, for Linux (x86_64) using  EditLine wrapper

# 尝试使用新密码123456,重新登陆MySQL
[root@cdh-manager mysql]# mysql -uroot -p12345678
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.1.10 拷贝 JDBC 驱动包到指定目录

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

# 在各agent创建目录
[root@cdh-agent01 ~]# mkdir -p /usr/share/java/
[root@cdh-agent02 ~]# mkdir -p /usr/share/java/
[root@cdh-agent03 ~]# mkdir -p /usr/share/java/
其他节点略!!!!

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

2.2 安装 Clouder Manager Server( cm-manager )

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

2.3 安装 Clouder Manager Agent( agent )

#cdh-manager 上分发agent安装包
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent01:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent02:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent03:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent04:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent05:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent06:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent07:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent08:/opt/software
[root@cdh-manager software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm cdh-agent09:/opt/software

[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent01:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent02:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent03:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent04:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent05:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent06:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent07:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent08:/opt/software
[root@cdh-manager software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm cdh-agent09:/opt/software


# 所有agent节点上安装agent服务,这里没有全部贴出来,注意agent节点均需要安装
[root@cdh-agent01 ~]# yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cdh-agent01 ~]# yum install -y cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

[root@cdh-agent02 ~]# yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cdh-agent02 ~]# yum install -y cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

[root@cdh-agent03 ~]# yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@cdh-agent03 ~]# yum install -y cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm

# 所有节点上更改agent配置文件
[root@cdh-manager ~]# vim /etc/cloudera-scm-agent/config.ini
[root@cdh-agent01 ~]# vim /etc/cloudera-scm-agent/config.ini
# 将server_host的配置改为server的主机名 [ 主机名是自己环境的server的host主机名 ]
server_host=cdh-manager

2.4 初始化 Clouder Manager 数据库表

[root@cdh-manager 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@cdh-manager software]# /opt/cloudera/cm/schema/scm_prepare_database.sh -h 192.168.2.109 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.
log4j:ERROR Could not find value for key log4j.appender.A
log4j:ERROR Could not instantiate appender named "A".
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.
[2021-09-13 17:36:20,877] INFO     0[main] - com.cloudera.enterprise.dbutil.DbCommandExecutor.testDbConnection(DbCommandExecutor.java) - Successfully connected to database.
All done, your SCM database is configured correctly!  # 表示初始化成功

2.5 拷贝 Parcel 文件到指定目录

[root@cdh-manager software]# cp /opt/software/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel /opt/cloudera/parcel-repo/
[root@cdh-manager software]# cp /opt/software/CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha /opt/cloudera/parcel-repo/

注:文件放置在/opt/cloudera/parcel-repo/目录下以后,在后续的界面安装各个服务时,在目录中找到版本文件,可以自动匹配到安装文件,无需连外网下载。

2.6 启动 Clouder Manager Server

# cdh-manager 开启主节点server服务
[root@cdh-manager software]# systemctl start cloudera-scm-server
[root@cdh-manager software]# systemctl enable cloudera-scm-server

# cdh-manager 开启主节点server服务
systemctl start cloudera-scm-agent
# cdh-manager 停止主节点server服务
systemctl stop cloudera-scm-server
# cdh-manager 重启主节点server服务
systemctl restart cloudera-scm-server

2.7 启动 Clouder Manager Agent

# 所有节点cm-server和各agent
[root@cdh-manager software]# systemctl start cloudera-scm-agent
[root@cdh-manager software]# systemctl enable cloudera-scm-agent
[root@cdh-manager software]# systemctl stop cloudera-scm-agent

  • 1
    点赞
  • 4
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 0
    评论
感谢您的提问!以下是手把手搭建属于自己的PyQt5-YOLOv5目标检测平台的保姆级程: 1. 安装Anaconda 首先,您需要下载并安装Anaconda,Anaconda是一个 Python 数据科学平台,包含了许多常用的数据科学包,如Numpy、Pandas等。 2. 创建一个虚拟环境 在安装了Anaconda之后,您需要创建一个虚拟环境,以便隔离开发环境和系统环境。您可以在命令行中输入以下命令来创建一个名为yolov5的虚拟环境: ``` conda create -n yolov5 python=3.8 ``` 其中,“yolov5”是您的虚拟环境的名称,您可以根据自己的需要进行更改。 3. 激活虚拟环境 创建完虚拟环境之后,您需要激活它,以便在环境中进行开发。在命令行中输入以下命令来激活yolov5环境: ``` conda activate yolov5 ``` 4. 安装PyQt5和YOLOv5 在激活了虚拟环境之后,您需要安装PyQt5和YOLOv5。您可以在命令行中输入以下命令来安装它们: ``` pip install PyQt5 pip install yolov5 ``` 5. 创建PyQt5界面 在安装了PyQt5之后,您可以使用Qt Designer创建一个PyQt5界面。Qt Designer是一个可视化的界面设计工具,可以让您轻松地创建PyQt5界面。 6. 使用YOLOv5进行目标检测 在安装了YOLOv5之后,您可以使用它进行目标检测。您可以在Python脚本中使用以下代码: ```python import torch from yolov5.models.experimental import attempt_load from yolov5.utils.torch_utils import select_device device = select_device('cpu') model = attempt_load('yolov5s.pt', map_location=device) img = torch.zeros((1, 3, 640, 640), device=device) pred = model(img) print(pred) ``` 其中,“yolov5s.pt”是YOLOv5的预训练模型,您可以在YOLOv5的GitHub页面上下载它。 7. 将PyQt5界面与YOLOv5集成 最后,您需要将PyQt5界面与YOLOv5集成起来,以便您可以在界面上使用YOLOv5进行目标检测。您可以在Python脚本中使用以下代码: ```python import sys from PyQt5.QtWidgets import QApplication, QMainWindow from PyQt5.QtGui import QPixmap from yolov5.models.experimental import attempt_load from yolov5.utils.torch_utils import select_device class MainWindow(QMainWindow): def __init__(self): super().__init__() self.setWindowTitle('PyQt5-YOLOv5目标检测平台') self.setGeometry(100, 100, 800, 600) self.label = QLabel(self) self.label.setGeometry(50, 50, 640, 480) self.show() if __name__ == '__main__': app = QApplication(sys.argv) window = MainWindow() sys.exit(app.exec_()) ``` 这段代码创建了一个名为“PyQt5-YOLOv5目标检测平台”的窗口,并在窗口上添加了一个标签。您可以使用这个标签来显示检测到的目标。 以上就是手把手搭建属于自己的PyQt5-YOLOv5目标检测平台的保姆级程。希望对您有所帮助!

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

天秤座的架构师

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值