2002年世界杯决赛_2018俄罗斯世界杯 - dzlpgs.com

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

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.205172.28.54.188cm-server4C16GCentos78.130.176.96172.28.54.189agent014C16GCentos78.130.178.100172.28.54.190agent024C16GCentos78.130.173.93172.28.54.191agent034C16GCentos7

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的角色,所以建议长期使用创建要给模板最佳,相对方便

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