CDH6.0.0詳細安裝教程及所遇到的問題

 


關於CDH和Cloudera Manager

CDH (Cloudera’s Distribution, including Apache Hadoop),是Hadoop衆多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補丁,可直接用於生產環境。Cloudera Manager則是爲了便於在集羣中進行Hadoop等大數據處理相關的服務安裝和監控管理的組件,對集羣中主機、Hadoop、Hive、Spark等服務的安裝配置管理做了極大簡化。

 

官方參考文檔

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

 

系統環境

  • 操作系統:2臺 CentOS 7.3 x64 (4C/10G/50G)

  • Cloudera Manager:6.0.0

  • CDH: 6.0.0

注:10G以下內存建議還是別折騰了,保證卡的讓你失去耐心。 我們正式環境都是7臺主機*64G內存。

 

相關包的下載地址

 

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

  • 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 [email protected]:~/.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

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章