關於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
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 可以查看參數
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
6.4 具體安裝步驟
WELCOME
Accept License
Select Edition
版本選擇免費版,已經夠用。
Welcome (Add Cluster - Installation)
Specify Hosts
Select Repository
JDK 安裝選項
要允許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
Install Agents
Install Parcels
Inspect Hosts
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
原因:由於我一開始起用了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提示主機運行狀況不良
解決方法
刪除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
自定義角色分配
選擇要安裝角色到那臺服務器上。
角色分配官方推薦:
數據庫設置
審覈更改
mkdir –p /data/
需要修改的選項如下:(不修改也可以,根據自己需要)
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的目錄不要修改,不然後面會報錯。
命令詳細信息
Solr服務初始化失敗
如果安裝過程中,遇到如下錯誤安裝過程中,我修改了默認的/solr的目錄爲/data/solr,報錯無法執行初始化操作。
解決方法
退到上一步,重新修改目錄爲默認目錄。不要修改默認目錄。默認是/solr
Summary
點擊完成,安裝完成。
7.2 完成界面及警告處理
界面如下,紅色和×××的部分是警告,根據提示來做相應處理。
此處遇到的問題
問題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”進行相應的更改,並重啓相應服務,生效)
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),請遵循下面的說明。