CDH简介及CDH部署、原理和使用介绍( 版本6.3.1 )-程序员宅基地

技术标签: cloudera  apache  cdh  etl工程师  大数据  

CDH简介及CDH部署、原理和使用介绍( 版本6.3.1 )

第一章:CDH简介

CDH概念

​ CDH是Cloudera的100%开源平台发行版,包括Apache Hadoop,专为满足企业需求而构建。CDH提供开箱即用的企业使用所需的一切。通过将Hadoop与十几个其他关键的开源项目集成,Cloudera创建了一个功能先进的系统,可帮助您执行端到端的大数据工作流程。

简单来说:CDH 是一个拥有集群自动化安装、中心化管理、集群监控、报警功能的一个工具(软件),使得集群的安装可以从几天的时间缩短为几个小时,运维人数也会从数十人降低到几个人,极大的提高了集群管理的效率。

Cloudera Manager的功能

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

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

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

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

cloudera manager 架构原理

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

Cloudera Manager Server由以下几个部分组成:
Agent:安装在每台主机上。该代理负责启动和停止的过程,拆包配置,触发装置和监控主机。
Management Service:由一组执行各种监控,警报和报告功能角色的服务。
Database:存储配置和监视信息。通常情况下,多个逻辑数据库在一个或多个数据库服务器上运行。
Cloudera Repository:软件由Cloudera 管理分布存储库。
Clients:是用于与服务器进行交互的接口。
Admin Console :基于Web的用户界面与管理员管理集群和Cloudera管理。
API :与开发人员创建自定义的Cloudera Manager应用程序的API。
在这里插入图片描述

第二章:服务器节点安装部署

一. 环境准备

1.机器准备
外网地址 内网地址 主机名 硬件配置 操作系统
8.130.178.205 172.28.54.188 cm-server 4C16G Centos7
8.130.176.96 172.28.54.189 agent01 4C16G Centos7
8.130.178.100 172.28.54.190 agent02 4C16G Centos7
8.130.173.93 172.28.54.191 agent03 4C16G Centos7

cm-server用于部署server端、agent端、MySQL5.7

agent01、agent02、agent03用于部署集群节点( agent做实验2个即可 )

2.修改主机名

根据各节点ip地址规划更改对应的主机名

# 分别在各服务器上执行hostnamectl
172.28.54.188  # hostnamectl set-hostname cm-server
172.28.54.189  # hostnamectl set-hostname agent01
172.28.54.190  # hostnamectl set-hostname agent02
172.28.54.191  # hostnamectl set-hostname agent03
3.配置检查
# 查看系统版本号
[root@cm-server ~]# cat /etc/redhat-release 
CentOS Linux release 7.4.1708 (Core) 
# 查看内存情况
[root@cm-server ~]# free -g
              total        used        free      shared  buff/cache   available
Mem:             15           0          14           0           0          14
Swap:             0           0           0
# 查看系统核数
[root@cm-server ~]# lscpu | head -4 | tail -1
CPU(s):                4

# 服务器均为CentOS7 | 4C | 16G
4.配置免密登录
# 生成密钥,直接回车完成
[root@cm-server ~]# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:lIkOqB1t3HvO2hJpxZjRWaroPT6d0qRSyJLa9NVtcvg root@cm-server
The key's randomart image is:
+---[RSA 2048]----+
|       . o.      |
|   + ...o+       |
|  o = o==        |
| o o +o+o        |
|. .o..++So       |
|  +.o.*+= +      |
| + o.+o*o*       |
|. . o.=++ E      |
|     .o+.        |
+----[SHA256]-----+
# 分发密钥
[root@cm-server ~]# ssh-copy-id 172.28.54.188
[root@cm-server ~]# ssh-copy-id 172.28.54.189
[root@cm-server ~]# ssh-copy-id 172.28.54.190
[root@cm-server ~]# ssh-copy-id 172.28.54.191

# 在agent01、agent02、agent03 上执行相同操作( 建议第一次免密设置完成后手动全部ssh登陆一次 )
5.配置hosts解析
[root@cm-server ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# CDH
172.28.54.188   cm-server
172.28.54.189   agent01
172.28.54.190   agent02
172.28.54.191   agent03

# 把cm-server端编辑好的hosts文件分发各个agent
[root@cm-server ~]# scp /etc/hosts agent01:/etc/hosts
[root@cm-server ~]# scp /etc/hosts agent02:/etc/hosts
[root@cm-server ~]# scp /etc/hosts agent03:/etc/hosts
6.安装包准备

安装所需各组件已经分享至云盘:

链接:https://pan.baidu.com/s/155VuPtJC8v7SC_HfzbSZ4Q
提取码:aa0c

在这里插入图片描述

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

[root@cm-server software]# ll
total 3412032
-rw-r--r-- 1 root root 2082186246 Sep 13 11:58 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel
-rw-r--r-- 1 root root         40 Sep 13 11:44 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el7.parcel.sha
-rw-r--r-- 1 root root   10483568 Sep 13 11:45 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root 1203832464 Sep 13 11:55 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root      11488 Sep 13 11:55 cloudera-manager-server-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root  194990602 Sep 13 13:36 jdk-8u211-linux-x64.tar.gz
drwxr-xr-x 2 root root       4096 Sep 13 13:34 mysql
-rw-r--r-- 1 root root    2385601 Sep 13 11:55 mysql-connector-java-8.0.20.jar
7.关闭防火墙
# 各服务器节点均执行
[root@cm-server software]# systemctl disable firewalld
[root@cm-server software]# systemctl stop firewalld

8.关闭SELINUX
# 各服务器节点均执行
[root@cm-server ~]# setenforce 0
setenforce: SELinux is disabled

[root@cm-server ~]# vim /etc/selinux/config
# 将SELINUX置为disabled
SELINUX=disabled

8.配置时间同步服务
[root@cm-server ~]# vim /etc/chrony.conf 
# Use public servers from the pool.ntp.org project.
# Please consider joining the pool (http://www.pool.ntp.org/join.html).
# 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 cm-server iburst

# Record the rate at which the system clock gains/losses time.
driftfile /var/lib/chrony/drift

# Allow the system clock to be stepped in the first three updates
# if its offset is larger than 1 second.
makestep 1.0 3

# Enable kernel synchronization of the real-time clock (RTC).
rtcsync

# Enable hardware timestamping on all interfaces that support it.
#hwtimestamp *

# Increase the minimum number of selectable sources required to adjust
# the system clock.
#minsources 2

# Allow NTP client access from local network.
# allow 192.168.0.0/16
allow 172.28.54.0/24

# Serve time even if not synchronized to a time source.
local stratum 10

# Specify file containing keys for NTP authentication.
#keyfile /etc/chrony.keys

# Specify directory for log files.
logdir /var/log/chrony

# Select which information is logged.
#log measurements statistics tracking

# 分发chrony配置
[root@cm-server ~]# scp /etc/chrony.conf agent01:/etc/chrony.conf 
[root@cm-server ~]# scp /etc/chrony.conf agent02:/etc/chrony.conf 
[root@cm-server ~]# scp /etc/chrony.conf agent03:/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@agent03 ~]# systemctl restart chronyd && systemctl enable chronyd

# 查看各节点的运行状况
[root@cm-server ~]# for i in cm-server agent01 agent02 agent03;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   377   569     -0ns[-3188ns] +/- 4623ns

agent01
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* cm-server                    11   8   377   146  +3692ns[+5089ns] +/-  538us

agent02
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* cm-server                    11  10   377   112  -1420ns[-1934ns] +/-  583us

agent03
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* cm-server                    11  10   377   139  -2145ns[-2926ns] +/-  556us
9.调优系统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
10.关闭透明大页面

​ 大多数 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

11.安装python2.7

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

[root@cm-server software]# python -V
Python 2.7.5

# 各节点执行相同操作 如果系统没有安装python执行(yum install -y python275)
12.安装jdk1.8
# 进入安装包目录
[root@cm-server ~]# cd /opt/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]# 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@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
[root@agent03 ~]# 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/
[root@cm-server software]# scp -r /usr/java/default agent03:/usr/java/

# 在各agent节点上增加环境变量参数并source 引用
vim /etc/profile # 增加环境变量
source /etc/profile # 引用配置文件
13.安装MySQL5.7
# 进入mysql安装包目录
[root@cm-server ~]# cd /opt/software/mysql
# 安装mysql依赖
[root@cm-server mysql]# rpm -ivh 01_mysql-community-common-5.7.29-1.el7.x86_64.rpm
[root@cm-server mysql]# rpm -ivh 02_mysql-community-libs-5.7.29-1.el7.x86_64.rpm 
[root@cm-server mysql]# rpm -ivh 03_mysql-community-libs-compat-5.7.29-1.el7.x86_64.rpm 
# 安装mysql-client
[root@cm-server mysql]# rpm -ivh 04_mysql-community-client-5.7.29-1.el7.x86_64.rpm
# 安装mysql-server
[root@cm-server mysql]# rpm -ivh 05_mysql-community-server-5.7.29-1.el7.x86_64.rpm 

# 【注意】 安装过程中如果出现报错失败;大多都是因lib冲突,或者小版本依赖等问题,可以根据报错做如下一些常用的依赖清理和依赖处理
# 以下罗列常用的解决办法
# 库冲突:清理mysql-libs库
# [root@cm-server software]# yum remove mysql-libs
# 缺少依赖:安装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.56-2.el7.x86_64
# [root@cm-server software]# rpm -e --nodeps mariadb-libs-5.5.56-2.el7.x86_64

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

# 用刚刚查到的密码进入mysql(初始密码中可能会有各种符号,命令行登录如果报错,给密码加单引号)
[root@cm-server mysql]# mysql -uroot -p'(PN3pKgLz/pX'
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("Wangt@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

14.拷贝 JDBC 驱动包到指定目录
# cm-server上拷贝
[root@cm-server mysql]# cd /opt/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/
[root@agent03 ~]# mkdir -p /usr/share/java/

# 将cm-server的jdbc驱动包分发各agent节点/usr/share/java/目录
[root@cm-server ~]# cd /opt/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 
[root@cm-server software]# scp mysql-connector-java-8.0.20.jar agent03:/usr/share/java/mysql-connector-java.jar 

二. 安装 Clouder Manager Server( cm-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

三. 安装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-agent-6.3.1-1466458.el7.x86_64.rpm agent03:~/
[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:~/
[root@cm-server software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm agent03:~/

# 所有上安装agent服务,这里没有全部贴出来,注意agent节点均需要安装
[root@agent01 ~]# yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@agent01 ~]# yum install -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主机名 ]
server_host=cm-server

四. 初始化 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 172.28.54.188 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!  # 表示初始化成功

五. 拷贝 Parcel 文件到指定目录

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

六. 启动 Clouder Manager Server

# cm-server
[root@cm-server software]# systemctl start cloudera-scm-server
[root@cm-server software]# systemctl enable cloudera-scm-server

七. 启动 Clouder Manager Agent

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

第三章:页面访问&集群安装

1.登陆URL

http:cm-serverIP:7180 ( admin / admin )

[注意]:如果部署用的是阿里云等公有云安装,需要在对应的公有云上把对应的端口策略打开,才可以访问。

在这里插入图片描述

登陆后,有欢迎页面,无需操作,点击继续即可;

Accept License一些条款协议,点击同意,继续即可;

2.选择CM版本

在这里插入图片描述

选择版本后,再次有欢迎页面,无需操作,点击继续即可;

3.设置集群名称

在这里插入图片描述

4.勾选管理节点

在这里插入图片描述

5.CDH parcel 版本

在这里插入图片描述

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

6.检查服务器部署环境

在这里插入图片描述

一般结果中都会告诉每个问题的处理办法,照着操作即可,最后再重新运行检查

在这里插入图片描述

7.选择部署组件

在这里插入图片描述

8.集群各节点角色分配

默认即可,需要优化性能或者最佳合理分配可自行更改

在这里插入图片描述

9.集群数据库配置

在这里插入图片描述

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

【注意】:如果提示JDBC driver cannot be found. Unable to find the JDBC database jar on host : xxxxx,说明jdbc的驱动包没有分发到各节点去,这个必须要各节点都有,容易忽略。

10.集群数据存储目录设置

在这里插入图片描述

11.集群组件安装部署

等待各组件安装完成

在这里插入图片描述

12.完成安装

看到汇总页:服务已安装,配置并在集群中运行,则完成安装

在这里插入图片描述

13.登陆 Clouder Manager 管理界面

点击完成后,即可跳转至管理界面了,后续使用以及维护全部围绕管理界面来完成,以及检查监控集群各组件运行情况

在这里插入图片描述

第四章:Clouder Manager 管理界面使用介绍

1.首页查看整体运行状态

在这里插入图片描述

点击标识,可以看到详细的内容,例如:存在隐患 : 9 DataNodes are required for the erasure coding policies: RS-6-3-1024k. The number of DataNodes is only 3. ( 节点数过少,这里只是实验,可以无视,真正生产环境节点数量较多 )

2.添加服务

在这里插入图片描述

例如新增flume服务,勾选flume,然后选择角色分配部署节点,继续

在这里插入图片描述

最后部署汇总,点击完成

在这里插入图片描述

启动新增的服务

在这里插入图片描述

等待启动步骤完成

在这里插入图片描述

服务添加完成

在这里插入图片描述

3.集群新增节点&新增集群

在这里插入图片描述

4.用户管理页面操作记录

在这里插入图片描述

5.导出服务配置文件

各个服务的配置文件无需登陆服务器,管理页面点击对应服务中可以导出,十分便利

在这里插入图片描述

在这里插入图片描述

点击下载,可以将配置文件压缩包下载至本地,解压查看

在这里插入图片描述

6.各节点角色

在主机页 -> 角色中可以查看到集群中

在这里插入图片描述

7.添加页面管理用户&用户权限管理

在这里插入图片描述

给普通用户赋予对应权限
在这里插入图片描述

在这里插入图片描述

切换至普通用户登陆查看,用户大多对于集群的操作均已被隐藏

在这里插入图片描述

8.备份快照

示例:

在这里插入图片描述

快照备份可以是hdfs等不同的存储介质进行备份。

9.集群监控查看

在主机页 - > 所有主机 点击对应主机可以跳转至对应主机服务器的各指标监控页

在这里插入图片描述

各监控项查看

在这里插入图片描述

10.打开各组件的UI界面操作
举例HDFS-UI:

在这里插入图片描述

在这里插入图片描述

举例HUE-UI:

在这里插入图片描述

在这里插入图片描述

第五章:cdh集群新增agent节点安装部署

1.新增agent节点agent04
172.28.54.192  # hostnamectl set-hostname agent04
2.将cm-server密钥分发至新agent04
# cm-server
[root@cm-server ~]# ssh-copy-id 172.28.54.192
3.修改hosts解析新增节点&分发
# cm-server
[root@cm-server ~]# vim /etc/hosts
127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6

# CDH
172.28.54.188   cm-server
172.28.54.189   agent01
172.28.54.190   agent02
172.28.54.191   agent03
172.28.54.192   agent04

# 分发新hosts
[root@cm-server ~]# for i in agent01 agent02 agent03 agent04;do scp /etc/hosts $i:/etc/hosts;done
4.新节点关闭防火墙
[root@agent04 ~]# systemctl disable firewalld
[root@agent04 ~]# systemctl stop firewalld
5.新节点关闭SELINUX
[root@agent04 ~]# setenforce 0
setenforce: SELinux is disabled

[root@cm-server ~]# vim /etc/selinux/config
# 将SELINUX置为disabled
SELINUX=disabled
6.新节点配置时间同步服务
# cm-server
[root@cm-server ~]# scp /etc/chrony.conf agent04:/etc/chrony.conf
# agent04
[root@agent04 ~]# systemctl restart chronyd && systemctl enable chronyd
[root@agent04 ~]# chronyc sources
210 Number of sources = 1
MS Name/IP address         Stratum Poll Reach LastRx Last sample               
===============================================================================
^* cm-server                    11   6    17    21   +990ns[ -714ns] +/-   91ms
[root@agent04 ~]# 
7.新节点调优系统swappiness参数
[root@agent04 ~]# vim /etc/sysctl.conf
vm.swappiness = 0
8.新节点关闭透明大页面
[root@agent04 ~]# echo never > /sys/kernel/mm/transparent_hugepage/defrag
[root@agent04 ~]# echo never > /sys/kernel/mm/transparent_hugepage/enabled
9.确认节点上已安装python
[root@agent04 ~]# python -V
Python 2.7.5
10.新节点java安装
# 创建java文件目录
[root@agent04 ~]# mkdir -p /usr/java
# cm-server 直接从server端拷贝
[root@cm-server ~]# scp -r /usr/java/default agent04:/usr/java/
# 环境变量profile
[root@agent04 ~]# vim /etc/profile
# JAVA_HOME
export JAVA_HOME=/usr/java/default
export CLASSPATH=./:$JAVA_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH
# 引用生效
[root@agent04 ~]# source /etc/profile
11.拷贝 JDBC 驱动包
# cm-server
[root@cm-server ~]# scp /opt/software/mysql-connector-java-8.0.20.jar agent03:/usr/share/java/mysql-connector-java.jar
12.安装Clouder Manager Agent
# 将安装包从cm-server分发过去
[root@cm-server ~]# cd /opt/software/
[root@cm-server software]# scp cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm agent04:~/
[root@cm-server software]# scp cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm agent04:~/
# 在agent04上执行安装
[root@agent04 ~]# ll
total 1185864
-rw-r--r-- 1 root root   10483568 Sep 14 15:14 cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
-rw-r--r-- 1 root root 1203832464 Sep 14 15:14 cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@agent04 ~]# yum install -y cloudera-manager-daemons-6.3.1-1466458.el7.x86_64.rpm
[root@agent04 ~]# yum install -y cloudera-manager-agent-6.3.1-1466458.el7.x86_64.rpm
# 修改agent服务的配置文件指向server
[root@agent04 ~]# vim /etc/cloudera-scm-agent/config.ini
# 将server_host的配置改为server的主机名 [ 主机名是自己环境的server的host主机名 ]
server_host=cm-server
13.启动新agent服务
[root@agent04 ~]# systemctl start cloudera-scm-agent
[root@agent04 ~]# systemctl enable cloudera-scm-agent
14.页面进行后续添加

找到Add Hosts

在这里插入图片描述

选择添加到哪个集群并继续

在这里插入图片描述

选择当前管理的主机,会将还未加入到集群的新节点罗列出来

在这里插入图片描述

Install Parcels和检查主机正确性操作与之前相同,这里跳过

选择主机模板,如果长期使用的集群,一般都会有模板的,主要是节点的角色,创建好直接有哪些服务的node等等;没有则可以直接选择无,代表加入集群后,手动添加服务实例。

在这里插入图片描述

等待部署客户端基本配置和环境点击完成

在这里插入图片描述

将服务实例部署至新agent

在这里插入图片描述

在添加时根据自己需求即可,例如DataNode

在这里插入图片描述

添加agent04的角色,所以建议长期使用创建要给模板最佳,相对方便
在这里插入图片描述

至此,添加一个新集群节点,并设置新服务实例全部完成

在这里插入图片描述

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

智能推荐

使用nginx解决浏览器跨域问题_nginx不停的xhr-程序员宅基地

文章浏览阅读1k次。通过使用ajax方法跨域请求是浏览器所不允许的,浏览器出于安全考虑是禁止的。警告信息如下:不过jQuery对跨域问题也有解决方案,使用jsonp的方式解决,方法如下:$.ajax({ async:false, url: 'http://www.mysite.com/demo.do', // 跨域URL ty..._nginx不停的xhr

在 Oracle 中配置 extproc 以访问 ST_Geometry-程序员宅基地

文章浏览阅读2k次。关于在 Oracle 中配置 extproc 以访问 ST_Geometry,也就是我们所说的 使用空间SQL 的方法,官方文档链接如下。http://desktop.arcgis.com/zh-cn/arcmap/latest/manage-data/gdbs-in-oracle/configure-oracle-extproc.htm其实简单总结一下,主要就分为以下几个步骤。..._extproc

Linux C++ gbk转为utf-8_linux c++ gbk->utf8-程序员宅基地

文章浏览阅读1.5w次。linux下没有上面的两个函数,需要使用函数 mbstowcs和wcstombsmbstowcs将多字节编码转换为宽字节编码wcstombs将宽字节编码转换为多字节编码这两个函数,转换过程中受到系统编码类型的影响,需要通过设置来设定转换前和转换后的编码类型。通过函数setlocale进行系统编码的设置。linux下输入命名locale -a查看系统支持的编码_linux c++ gbk->utf8

IMP-00009: 导出文件异常结束-程序员宅基地

文章浏览阅读750次。今天准备从生产库向测试库进行数据导入,结果在imp导入的时候遇到“ IMP-00009:导出文件异常结束” 错误,google一下,发现可能有如下原因导致imp的数据太大,没有写buffer和commit两个数据库字符集不同从低版本exp的dmp文件,向高版本imp导出的dmp文件出错传输dmp文件时,文件损坏解决办法:imp时指定..._imp-00009导出文件异常结束

python程序员需要深入掌握的技能_Python用数据说明程序员需要掌握的技能-程序员宅基地

文章浏览阅读143次。当下是一个大数据的时代,各个行业都离不开数据的支持。因此,网络爬虫就应运而生。网络爬虫当下最为火热的是Python,Python开发爬虫相对简单,而且功能库相当完善,力压众多开发语言。本次教程我们爬取前程无忧的招聘信息来分析Python程序员需要掌握那些编程技术。首先在谷歌浏览器打开前程无忧的首页,按F12打开浏览器的开发者工具。浏览器开发者工具是用于捕捉网站的请求信息,通过分析请求信息可以了解请..._初级python程序员能力要求

Spring @Service生成bean名称的规则(当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致)_@service beanname-程序员宅基地

文章浏览阅读7.6k次,点赞2次,收藏6次。@Service标注的bean,类名:ABDemoService查看源码后发现,原来是经过一个特殊处理:当类的名字是以两个或以上的大写字母开头的话,bean的名字会与类名保持一致public class AnnotationBeanNameGenerator implements BeanNameGenerator { private static final String C..._@service beanname

随便推点

二叉树的各种创建方法_二叉树的建立-程序员宅基地

文章浏览阅读6.9w次,点赞73次,收藏463次。1.前序创建#include<stdio.h>#include<string.h>#include<stdlib.h>#include<malloc.h>#include<iostream>#include<stack>#include<queue>using namespace std;typed_二叉树的建立

解决asp.net导出excel时中文文件名乱码_asp.net utf8 导出中文字符乱码-程序员宅基地

文章浏览阅读7.1k次。在Asp.net上使用Excel导出功能,如果文件名出现中文,便会以乱码视之。 解决方法: fileName = HttpUtility.UrlEncode(fileName, System.Text.Encoding.UTF8);_asp.net utf8 导出中文字符乱码

笔记-编译原理-实验一-词法分析器设计_对pl/0作以下修改扩充。增加单词-程序员宅基地

文章浏览阅读2.1k次,点赞4次,收藏23次。第一次实验 词法分析实验报告设计思想词法分析的主要任务是根据文法的词汇表以及对应约定的编码进行一定的识别,找出文件中所有的合法的单词,并给出一定的信息作为最后的结果,用于后续语法分析程序的使用;本实验针对 PL/0 语言 的文法、词汇表编写一个词法分析程序,对于每个单词根据词汇表输出: (单词种类, 单词的值) 二元对。词汇表:种别编码单词符号助记符0beginb..._对pl/0作以下修改扩充。增加单词

android adb shell 权限,android adb shell权限被拒绝-程序员宅基地

文章浏览阅读773次。我在使用adb.exe时遇到了麻烦.我想使用与bash相同的adb.exe shell提示符,所以我决定更改默认的bash二进制文件(当然二进制文件是交叉编译的,一切都很完美)更改bash二进制文件遵循以下顺序> adb remount> adb push bash / system / bin /> adb shell> cd / system / bin> chm..._adb shell mv 权限

投影仪-相机标定_相机-投影仪标定-程序员宅基地

文章浏览阅读6.8k次,点赞12次,收藏125次。1. 单目相机标定引言相机标定已经研究多年,标定的算法可以分为基于摄影测量的标定和自标定。其中,应用最为广泛的还是张正友标定法。这是一种简单灵活、高鲁棒性、低成本的相机标定算法。仅需要一台相机和一块平面标定板构建相机标定系统,在标定过程中,相机拍摄多个角度下(至少两个角度,推荐10~20个角度)的标定板图像(相机和标定板都可以移动),即可对相机的内外参数进行标定。下面介绍张氏标定法(以下也这么称呼)的原理。原理相机模型和单应矩阵相机标定,就是对相机的内外参数进行计算的过程,从而得到物体到图像的投影_相机-投影仪标定

Wayland架构、渲染、硬件支持-程序员宅基地

文章浏览阅读2.2k次。文章目录Wayland 架构Wayland 渲染Wayland的 硬件支持简 述: 翻译一篇关于和 wayland 有关的技术文章, 其英文标题为Wayland Architecture .Wayland 架构若是想要更好的理解 Wayland 架构及其与 X (X11 or X Window System) 结构;一种很好的方法是将事件从输入设备就开始跟踪, 查看期间所有的屏幕上出现的变化。这就是我们现在对 X 的理解。 内核是从一个输入设备中获取一个事件,并通过 evdev 输入_wayland

推荐文章

热门文章

相关标签