CDH6.0.0详细安装教程及所遇到的问题

 


关于CDH和Cloudera Manager

CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop众多分支中的一种,由Cloudera维护,基于稳定版本的Apache Hadoop构建,并集成了不少补丁,可直接用于生产环境。Cloudera Manager则是为了便于在集群中进行Hadoop等大数据处理相关的服务安装和监控管理的组件,对集群中主机、Hadoop、Hive、Spark等服务的安装配置管理作了极大简化。html

 

官方参考文档 java

https://www.cloudera.com/documentation/enterprise/6/6.0/topics/installation.html node

 

系统环境python

  • 操做系统:2台 CentOS 7.3 x64 (4C/10G/50G)mysql

  • Cloudera Manager:6.0.0linux

  • CDH: 6.0.0sql

注:10G如下内存建议仍是别折腾了,保证卡的让你失去耐心。 咱们正式环境都是7台主机*64G内存。数据库

 

相关包的下载地址

 

Cloudera Manager下载地址:
https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPMS/x86_64/ json

  • cloudera-manager-agent-6.0.0-530873.el7.x86_64.rpm安全

  • cloudera-manager-daemons-6.0.0-530873.el7.x86_64.rpm

  • cloudera-manager-server-6.0.0-530873.el7.x86_64.rpm

  • cloudera-manager-server-db-2-6.0.0-530873.el7.x86_64.rpm

  • oracle-j2sdk1.8-1.8.0+update141-1.x86_64.rpm

CDH安装包地址:https://archive.cloudera.com/cdh6/6.0.0/parcels/,因为咱们的操做系统为CentOS7.3,须要下载如下文件:

准备工做:系统环境搭建

 

如下操做均用root用户操做。

1.网络配置(全部节点)

 

在全部节点上把IP和主机名的对应关系写入。

# vi /etc/hosts

192.168.10.73 cdh-master.test.com

192.168.10.74 cdh-slave.test.com

在相应的节点主机上修改主机名。

# vi /etc/sysconfig/network

修改或者添加HOSTNAME= cdh-master.test.com

执行命令

hostname cdh-master.test.com

CentOS7要多执行如下这步:

执行如下命令:

hostnamectl set-hostname cdh-master.test.com

 

注意:这里须要将每台机器的ip及主机名对应关系都写进去,本机的也要写进去,不然启动Agent的时候会提示hostname解析错误。

 

2.打通SSH,设置ssh无密码登录(全部节点)

在主节点上执行ssh-keygen -t rsa一路回车,生成无密码的密钥对。

将公钥添加到认证文件中:

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

并设置authorized_keys的访问权限

chmod 600 ~/.ssh/authorized_keys

scp文件到全部datenode节点:

scp ~/.ssh/authorized_keys root@cdh-slave.test.com:~/.ssh/
 

3.关闭防火墙和SELinux

注意: 须要在全部的节点上执行,由于涉及到的端口太多了,临时关闭防火墙是为了安装起来更方便,安装完毕后能够根据须要设置防火墙策略,保证集群安全。

关闭防火墙并关闭自启动:

systemctl stop firewalld

Systemctl disable firewalld

关闭SELINUX(实际安装过程当中发现没有关闭也是能够的,不知道会不会有问题,还需进一步进行验证):

setenforce 0 (临时生效)
修改 /etc/selinux/config 下的 SELINUX=disabled (重启后永久生效)
 

4.全部节点配置NTP服务

集群中全部主机必须保持时间同步,若是时间相差较大会引发各类问题。 具体思路以下:

master节点做为ntp服务器与外界对时中心同步时间,随后对全部datanode节点提供时间同步服务。

全部datanode节点以master节点为基础同步时间。

全部节点安装相关组件:yum install ntp

启动服务: systemctl start ntpd

配置开机启动:systemctl enable ntpd

 

主节点配置

在配置以前,先使用ntpdate手动同步一下时间,省得本机与对时中心时间差距太大,使得ntpd不能正常同步。这里选用65.55.56.206做为对时中心,ntpdate -u ntp1.aliyun.com

ntp服务只有一个配置文件,配置好了就OK。 这里只给出有用的配置,不须要的配置都用#注掉,这里就不在给出:

driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default nomodify notrap
server ntp1.aliyun.com prefer
minpoll 6
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

配置文件完成,保存退出,启动服务,执行以下命令:service ntpd start

检查是否成功,用ntpstat命令查看同步状态,出现如下状态表明启动成功:

synchronised to NTP server () at stratum 2
time correct to within 74 ms
polling server every 128 s

若是出现异常请等待几分钟,通常等待5-10分钟才能同步。

 

配置ntp客户端(全部datanode节点)

driftfile /var/lib/ntp/drift
restrict 127.0.0.1
restrict -6 ::1
restrict default kod nomodify notrap nopeer noquery
restrict -6 default kod nomodify notrap nopeer noquery
#这里是主节点的主机名或者ip
server cdh-master.test.com
minpoll 6
includefile /etc/ntp/crypto/pw
keys /etc/ntp/keys

ok保存退出,请求服务器前,请先使用ntpdate手动同步一下时间:ntpdate -u cdh-master.test.com (主节点ntp服务器).

 

5.准备Parcels,用以安装CDH6

 

将CHD6相关的Parcel包放到主节点的/opt/cloudera/parcel-repo/目录中,若是没有此目录,能够本身建立。

 

注意:最后将• CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha256,重命名为• CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel.sha,这点必须注意不然,系统会从新下载• CDH-6.0.0-1.cdh6.0.0.p0.537114-el7.parcel文件。

 

正式开始安装

 

Step 1: Configure a Repository

1.1安装repo

wget https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/cloudera-manager.repo -P /etc/yum.repos.d/

 

1.2导入GPG key

rpm --import https://archive.cloudera.com/cm6/6.0.0/redhat7/yum/RPM-GPG-KEY-cloudera
 

Step 2: Install JDK

yum install oracle-j2sdk1.8
 

Step 3: Install Cloudera Manager Server

 

带删除线的不用执行。直接略过。

yum install cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server
 

3.1 yum安装CM

yum install cloudera-manager-server(前期只须要安装这个)
 

If you are using an Oracle database for Cloudera Manager Server, edit the /etc/default/cloudera-scm-server file on the Cloudera Manager server host. Locate the line that begins with export CM_JAVA_OPTS and change the -Xmx2G option to -Xmx4G.

 

3.2 开启https

开启https支持,因为开启后配置稍微复杂,暂时不配置。

JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera /opt/cloudera/cm-agent/bin/certmanager setup --configure-services

注:后面的章节会重点介绍这部分

 

Step 4: Install Databases

 

4.1 Installing the MySQL Server

 

wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm

rpm -ivh mysql-community-release-el7-5.noarch.rpm

yum update

yum install mysql-server

systemctl start mysqld

systemctl enable mysqld

Cloudera Manager必须使用innodb引擎。使用MyISAM服务没法启动。

 

初始化Mysql

/usr/bin/mysql_secure_installation

[...]
Enter current password for root (enter for none):
OK, successfully used password, moving on...
[...]
Set root password? [Y/n] Y
New password:
Re-enter new password:
Remove anonymous users? [Y/n] Y
[...]
Disallow root login remotely? [Y/n] N
[...]
Remove test database and access to it [Y/n] Y
[...]
Reload privilege tables now? [Y/n] Y
All done!
 

官方推荐配置文件

[mysqld]
datadir=/var/lib/mysql
socket=/var/lib/mysql/mysql.sock
transaction-isolation = READ-COMMITTED
# Disabling symbolic-links is recommended to prevent assorted security risks;
# to do so, uncomment this line:
symbolic-links = 0
key_buffer_size = 32M
max_allowed_packet = 32M
thread_stack = 256K
thread_cache_size = 64
query_cache_limit = 8M
query_cache_size = 64M
query_cache_type = 1
max_connections = 550
#expire_logs_days = 10
#max_binlog_size = 100M
#log_bin should be on a disk with enough free space.
#Replace '/var/lib/mysql/mysql_binary_log' with an appropriate path for your
#system and chown the specified folder to the mysql user.
log_bin=/var/lib/mysql/mysql_binary_log
#In later versions of MySQL, if you enable the binary log and do not set
#a server_id, MySQL will not start. The server_id must be unique within
#the replicating group.
server_id=1
binlog_format = mixed
read_buffer_size = 2M
read_rnd_buffer_size = 16M
sort_buffer_size = 8M
join_buffer_size = 8M
# InnoDB settings
innodb_file_per_table = 1
innodb_flush_log_at_trx_commit = 2
innodb_log_buffer_size = 64M
innodb_buffer_pool_size = 4G
innodb_thread_concurrency = 8
innodb_flush_method = O_DIRECT
innodb_log_file_size = 512M
[mysqld_safe]
log-error=/var/log/mysqld.log
pid-file=/var/run/mysqld/mysqld.pid
sql_mode=STRICT_ALL_TABLES

 

4.2 Installing the MySQL JDBC Driver

 

wget https://dev.mysql.com/get/Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz

tar zxvf mysql-connector-java-5.1.46.tar.gz

mkdir -p /usr/share/java/

cd mysql-connector-java-5.1.46

cp mysql-connector-java-5.1.46-bin.jar /usr/share/java/mysql-connector-java.jar

 

clip_image002

 

4.3 Creating Databases for Cloudera Software

须要建的库有

scm、amon、rman、hue、metastore、sentry、nav、navms、oozie

CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY 'scm@123';
CREATE DATABASE amon DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON amon.* TO 'amon'@'%' IDENTIFIED BY ' amon@123';
CREATE DATABASE rman DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON rman.* TO 'rman'@'%' IDENTIFIED BY 'rman@123';
CREATE DATABASE hue DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON hue.* TO 'hue'@'%' IDENTIFIED BY 'hue@123';
CREATE DATABASE metastore DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON metastore.* TO 'metastore'@'%' IDENTIFIED BY 'metastore@123';
CREATE DATABASE sentry DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON sentry.* TO 'sentry'@'%' IDENTIFIED BY 'sentry@123';
CREATE DATABASE nav DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON nav.* TO 'nav'@'%' IDENTIFIED BY 'nav@123';
CREATE DATABASE navms DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON navms.* TO 'navms'@'%' IDENTIFIED BY 'navms@123';
CREATE DATABASE oozie DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON oozie.* TO 'oozie'@'%' IDENTIFIED BY 'oozie@123';

 

Step 5: Set up the Cloudera Manager Database

 

5.1语法

/opt/cloudera/cm/schema/scm_prepare_database.sh \

[options] <databaseType> <databaseName> <databaseUser> <password>

运行/opt/cloudera/cm/schema/scm_prepare_database.sh 能够查看参数

clip_image004

 

5.2执行

 

5.2.1 若是数据库和CM在一台服务器上

 

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm
Enter SCM password:
JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_141-cloudera/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.
[main] DbCommandExecutor INFO  Successfully connected to database.
All done, your SCM database is configured correctly!
 

5.2.2 若是数据库和CM不在一台服务器上

 
/opt/cloudera/cm/schema/scm_prepare_database.sh mysql -h db01.example.com --scm-host cm01.example.com scm scm
Enter database password:
JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_141-cloudera/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.
[main] DbCommandExecutor INFO  Successfully connected to database.
All done, your SCM database is configured correctly!
 

5.2.3 若是你的数据库是oracle

 

/opt/cloudera/cm/schema/scm_prepare_database.sh -h cm-oracle.example.com oracle orcl sample_user sample_pass
JAVA_HOME=/usr/java/jdk1.8.0_141-cloudera
Verifying that we can write to /etc/cloudera-scm-server
Creating SCM configuration file in /etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_141-cloudera/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/*cloudera.enterprise.dbutil.DbCommandExecutor /etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[ main] DbCommandExecutor INFO Successfully connected to database.
All done, your SCM database is configured correctly!
 

Step 6: Install CDH and Other Software

 

6.1 启动cm服务

systemctl start cloudera-scm-server
 

6.2 查看日志

tail -f /var/log/cloudera-scm-server/cloudera-scm-server.log
 

显示以下表示服务已经正常起来。

INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.
 

6.3 登陆cm WEB界面

http://<server_host>:7180

若是你配置了auto-TLS,能够经过https登陆。

https://<server_host>:7183

用户名admin

密码admin

clip_image006

 

6.4 具体安装步骤

WELCOME

clip_image008

 

Accept License

clip_image010

 

Select Edition

版本选择免费版,已经够用。

clip_image012

 

Welcome (Add Cluster - Installation)

clip_image014

 

Specify Hosts

clip_image016

 

Select Repository

clip_image018

 

JDK 安装选项

clip_image020

 

要容许Cloudera管理器在集群主机上自动安装Oracle JDK,请阅读JDK许可并选中标有install Oracle Java SE Development Kit (JDK)的复选框(若是您接受这些条件)。

若是您在步骤2中安装了本身的Oracle JDK版本:安装Java开发工具包,请不要选中该框。

若是您容许Cloudera管理器安装JDK,则会出现第二个复选框,该复选框标有install Java Unlimited Strength Encryption Policy文件。在JDK版本中,要启用小于1.8u161的AES-256加密,须要这些策略文件。JDK 1.8u161及更高版本默认支持无限强度加密,而且不须要策略文件。在阅读许可条款并检查适用框以后,单击Continue。

 

Enter Login Credentials

clip_image022

 

Install Agents

clip_image024

Install Parcels

clip_image026

Inspect Hosts

clip_image028

 

6.5 遇到的问题

服务器检查,可能会遇到如下问题:

 

6.5.1 虚拟内存设置

Cloudera 建议将 /proc/sys/vm/swappiness 设置为 0。当前设置为 60。使用 sysctl 命令在运行时更改该设置并编辑 /etc/sysctl.conf 以在重启后保存该设置。您能够继续进行安装,但可能会遇到问题,Cloudera Manager 报告您的主机因为交换运行情况不佳。如下主机受到影响:

临时解决

经过echo 0 > /proc/sys/vm/swappiness便可解决。

永久解决

sysctl -w vm.swappiness=0

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

 

6.5.2 大内存页设置

大内存页禁用

echo never>/sys/kernel/mm/transparent_hugepage/defrag

echo never>/sys/kernel/mm/transparent_hugepage/enabled

 

6.5.3 升级软件依赖版本

Starting with CDH 6, PostgreSQL-backed Hue requires the Psycopg2 version to be at least 2.5.4, see the documentation for more information. This warning can be ignored if hosts will not run CDH 6, or will not run Hue with PostgreSQL. The following hosts have an incompatible Psycopg2 version of '2.5.1':

解决方法:能够忽略。

yum install python-pip

pip install --upgrade psycopg2

 

6.5.4 没法正常安装agent

clip_image029

 

缘由:因为我一开始起用了Https支持,因此安装agent时没法和master进行加密通讯。其实agent是已经安装好了。最后把CM卸载从新安装,不启用https。

下面附卸载命令:

service cloudera-scm-agent stop

service supervisord stop

systemctl stop cloudera-scm-server

yum remove cloudera-manager-daemons cloudera-manager-agent cloudera-manager-server

rm /opt/cloudera/*

数据库部分:drop database scm.

 

6.5.5 安装Parcel提示主机运行情况不良

 

Cloudera 安装Parcel提示主机运行情况不良

clip_image031

 

解决方法

删除agent目录下面的cm_guid文件,并重启失败节点的agent服务恢复。

 

[root@esgyn001 ~]# cd /var/lib/cloudera-scm-agent/

cm_guid response.avro uuid

[root@esgyn001 cloudera-scm-agent]# rm -rf cm_guid

[root@esgyn001 cloudera-scm-agent]# service cloudera-scm-agent restart

Stopping cloudera-scm-agent: [ OK ]

Starting cloudera-scm-agent:

 

 

Step 7: Set Up a Cluster

 

7.1 具体步骤

Select Services

clip_image033

 

自定义角色分配

选择要安装角色到那台服务器上。

clip_image035

角色分配官方推荐:

https://www.cloudera.com/documentation/enterprise/6/6.0/topics/cm_ig_host_allocations.html#host_role_assignments

 

clip_image037

 

数据库设置

clip_image039

审核更改

mkdir –p /data/

clip_image041

 

须要修改的选项以下:(不修改也能够,根据本身须要)

HDFS 根目录 /data/hbase

DataNode 数据目录 /data/dfs/dn

NameNode 数据目录 /data/dfs/nn

HDFS 检查点目录 /data/dfs/snn

Hive 仓库目录 /data/user/hive/warehouse

ShareLib 根目录 /data/user/oozie

NodeManager 本地目录 /data/yarn/nm

注意:关于/solr的目录不要修改,否则后面会报错。

 

命令详细信息

clip_image043

 

clip_image045

 

Solr服务初始化失败

 

若是安装过程当中,遇到以下错误安装过程当中,我修改了默认的/solr的目录为/data/solr,报错没法执行初始化操做。

解决方法

退到上一步,从新修改目录为默认目录。不要修改默认目录。默认是/solr

 

clip_image047

Summary

clip_image048

点击完成,安装完成。

 

7.2 完成界面及警告处理

 

界面以下,红色和×××的部分是警告,根据提示来作相应处理。

clip_image050

 

此处遇到的问题

 

问题1. NFS GATEWAY?
No portmap or rpcbind service is running on this host. Please start portmap or rpcbind service before attempting to start the NFS Gateway role on this host.
 
解决方法:
安装yum install portmap
[root@my-cdh-01 hue-httpd]# service rpcbind start
[root@my-cdh-01 hue-httpd]# systemctl enable rpcbind
 

问题2.  q-bi-07: Memory Overcommit Validation Threshold Suppress... (此问题是生产环境遇到的)

主机 q-bi-07 上的内存被调拨过分。总内存分配额是 53.5 GiB 个字节,可是 RAM 只有 62.8 GiB 个字节(其中的 12.6 GiB 个字节是保留给系统使用的)。如需得到分配详细信息,请访问“主机”页面上的“资源”选项卡。从新配置主机上的角色以下降总内存分配额。请注意:Java 最大堆大小乘以 1.3 等于近似的 JVM 开销。

 

答: 当为该节点上的服务分配的内存大于该节点可用的总内存时(注意,默认状况下,20%的内存是为系统保留的),这个错误就支持了咱们转到每一个主机上的参考资料页,查看每一个服务使用了多少内存。您能够经过转到configuration选项卡(用于每一个服务)并更改它(在配置页面的搜索栏中使用“memory”或“heap”来打开这些属性)来下降每一个服务使用的内存数量这样作能够避免这个错误,但这不是推荐的修复方法。

首先出现这个错误的缘由是您可能在集群上运行了太多的服务。试着去掉一些你不用的东西。您老是能够稍后添加它们(当您添加更多内存时。

选择主机—全部主机—选择报警的主机—资源(检查相应角色的内存分配,而后选择服务—配置—搜索“memory”或“heap”进行相应的更改,并重启相应服务,生效)

clip_image052

 

Step8安全:加密传输数据

 

为Cloudera管理器配置TLS加密。传输层安全(TLS)是一套工业标准的加密协议,用于保护网络上的通讯安全。TLS是从安全套接字层(SSL)发展而来的。因为SSL术语仍然普遍使用,Cloudera软件和文档将TLS称为TLS/SSL,但实际使用的协议是TLS。在Cloudera软件中没有使用SSL。

除了TLS/SSL加密以外,使用远程过程调用(rpc)的HDFS和HBase传输数据。为了保护这个传输,您必须启用RPC加密。有关启用TLS/SSL和RPC加密的说明,请查看官方文档。

 

8.1 配置自动TLS加密为Cloudera管理器和CDH

 

自动TLS说明

对于新安装,Cloudera建议将自动tls做为安装过程的一部分。

自动TLS极大地简化了在集群上启用和管理TLS加密的过程。它自动建立内部证书颁发机构(CA)并跨全部集群主机部署证书。它还能够自动分发现有证书,例如由公共CA签名的证书。在启用自动tls的集群中添加新的集群主机或服务,将自动建立和部署所需的证书。

有关启用自动TLS的说明,请参阅使用自动TLS安装Cloudera管理器、CDH和托管服务以及为Cloudera管理器和CDH配置TLS加密。

 

8.1.1 容许自动tls自动建立证书

在Cloudera管理器服务器主机上安装了Cloudera管理器代理以后,在启动Cloudera管理器以前,按照以下方式启用自动tls。

在Cloudera管理器服务器主机上,初始化证书管理器并配置Cloudera管理器服务器,以经过运行如下命令启用自动tls:

JAVA_HOME=/usr/java/jdk1.8.0_141 /opt/cloudera/cm-agent/bin/certmanager setup --configure-services
 
用您环境的正确路径替换JDK版本。若是但愿将文件存储在默认目录(/var/lib/cloudera-scm-server/certmanager)之外的目录中,请添加—location选项以下:
 
JAVA_HOME=/usr/java/jdk1.8.0_141 /opt/cloudera/cm-agent/bin/certmanager --location/opt/cloudera/CMCAsetup --configure-services
 

用要使用的目录路径替换/opt/cloudera/CMCA。这个目录是自动建立的,在运行命令以前不存在。检查/var/log/cloudera-scm-agent/certmanager.log 日志文件,以确认目录已建立。

若是Cloudera管理器服务器正在运行,从新启动它:

systemctl restart cloudera-scm-server
 

8.1.2 使用现有证书启用自动-TLS

在启用自动tls以前,请确保您拥有全部集群主机的主机证书。在Cloudera管理器服务器主机上安装了Cloudera管理器代理以后,在启动Cloudera管理器以前,按照以下方式启用自动tls:

a、初始化证书管理器并配置Cloudera管理器服务器,以使用自定义证书目录启用自动tls:

JAVA_HOME=/usr/java/jdk1.8.0_141 /opt/cloudera/cm-agent/bin/certmanager --location/opt/cloudera/CMCAsetup_custom_certdir --configure-services --host-cert/path/to/hostcert.pem--host-key/path/to/hostkey.pem--ca-cert/path/to/cacert.pem--keystore-pw-file/path/to/keystore_pw_file--truststore-pw-file/path/to/truststore_pw_file
用适合您环境的正确路径替换JDK版本及其它相关路径。如:/path/to/hostcert.pem,/path/to/hostkey.pem, 观察日志是否有报错:
/var/log/cloudera-scm-agent/certmanager.log
 
b、对于每一个集群主机(具备惟一的证书和密钥),运行如下命令:
 
JAVA_HOME=/usr/java/jdk1.8.0_141 /opt/cloudera/cm-agent/bin/certmanager --location /opt/cloudera/CMCA add_custom_cert --host-cert <host_cert> --host-key <host_key> <hostname>

用适合您环境的正确路径替换JDK版本。

 

c、若是Cloudera Manager Server是运行的状态,请重启。

systemctl restart cloudera-scm-server
 

8.1.3 自动tls代理文件位置

由自动tls生成的证书、密钥存储库和密码文件存储在每一个Cloudera管理器代理上的

/var/lib/Cloudera -scm- Agent/Agent-cert中。文件名以下:

Auto-TLS Agent Files


Filename

Description

cm-auto-global_cacerts.pem

CA证书和其余PEM格式的受信任证书

cm-auto-global_truststore.jks

CA证书和JKS格式的其余受信任证书

cm-auto-in_cluster_ca_cert.pem

PEM格式的CA证书

cm-auto-in_cluster_truststore.jks

JKS格式的CA证书

cm-auto-host_key_cert_chain.pem

代理主机证书和PEM格式的私钥

cm-auto-host_cert_chain.pem

PEM格式的代理主机证书

cm-auto-host_key.pem

代理主机私钥的PEM格式

cm-auto-host_keystore.jks

代理主机私钥的JKS格式

cm-auto-host_key.pw

代理主机私钥密码文件

 

8.2Cloudera Manager配置TLS加密

现有集群不支持Auto-TLS。要在现有集群上启用TLS(在已经安装好的集群上启用TLS),请遵循下面的说明。

https://www.cloudera.com/documentation/enterprise/6/6.0/topics/how_to_configure_cm_tls.html#concept_wk4_jlx_qw

  1. Generate TLS Certificates

  2. Configure TLS for the Cloudera Manager Admin Console

  3. Configure TLS for Cloudera Manager Agents

  4. Enable Server Certificate Verification on Cloudera Manager Agents

  5. Configure Agent Certificate Authentication

相关文章
相关标签/搜索