日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

CDH6.3.2安装文档

發布時間:2023/12/18 编程问答 30 豆豆
生活随笔 收集整理的這篇文章主要介紹了 CDH6.3.2安装文档 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

安裝說明

CDH是一個完善的Apache Hadoop及相關項目的發行版。CDH通過WEB界面管理,并提供了hadoop的兩個核心功能:可擴展存儲和分布式計算,以及企業級的重要功能。CDH是遵循Apache-licensed的開源軟件,提供了基于hadoop的批處理、交互SQL、交互查詢、基于角色的訪問控制。

Cloudera Manager是一個管理CDH集群端到端的應用。Cloudera Manager通過向CDH集群的每個部分提供細粒度的可見性及可控性,建立出一套企業部署標準,這可以提高性能、服務質量、遵從性并降低管理成本。使用Cloudera Manager,您可以輕松地部署和集中操作完整的CDH堆棧和其他托管服務。Cloudera Manager提供一個集群范圍的實時的主機和服務運行視圖;提供一個單獨的中央控制臺,用于在整個集群中執行配置更改,并整合了一整套報告和診斷工具,以便優化硬件性能和利用率。


安裝環境

虛擬機 Workstation pro 15
操作系統 CentOS Linux 7.4
JDK 1.8.0_144
Cloudera Manager 6.3.1
CDH 6.3.2
服務器總計4臺,三臺做大數據集群,一臺做CDH管理節點,每臺資源5核數24G內存50G磁盤,本篇作為測試環境安裝,如果大家正式使用建議酌情擴大

CDH安裝包可從網盤下載鏈接:https://pan.baidu.com/s/1FfcwxyqB5QjPrkDEBB5gag?pwd=9lm1
提取碼:9lm1


開始安裝

1、系統服務

所有節點禁用系統的防火墻、關閉selinux服務和ssh檢查是否任然有StrictHostKeyChecking檢查
systemctl disable firewalld.service
systemctl stop firewalld.service
selinux配置文件:/etc/selinux/config
ssh配置文件:/etc/ssh/ssh_config


2、配置域名映射,編輯/etc/hosts


3、配置SSH免密

直接使用套件,點擊超鏈接查看配置方式


4、集群之間同步時間

Linux系統同步時間的方法


5、所有節點安裝JDK

a) 注意,CDH官方對Cloudera JDK的安裝時有要求,所以你要自己決定你用那種JAVA-JDK,其實正常來說,推薦不要使用自己的JDK,使用rpm安裝我在網盤中的oracle-jdk,因為CDH常常犯抽識別不到,而且官方推薦6.3.2用的JDK是1.8.181的

The JDK must be 64-bit. Do not use a 32-bit JDK. The installed JDK must be a supported version as documented in Java Requirements. The same version of the Oracle JDK must be installed on each cluster host. The JDK must be installed at /usr/java/jdk-version.

大致的意思就是說,JDK必須時64位1.8的,而且需要放在指定的目錄下,且目錄名必須是jdk+版本號組成,例如jdk1.8.0_162,否則會因無法識別jdk而無法啟動cloudera-scm-server。

b) 將大家自己準備好的JDK的包,上傳到各節點并解壓縮到/usr/java/目錄下,注意必須是/usr/java這個目錄

c) 配置java環境變量,在/etc/profile中添加如下內容,注意使用自己的版本

export JAVA_HOME=/usr/java/jdk1.8.0_162 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH

d) source /root/.bash_profile

e) 將jdk推送給其它節點

scp -r jdk1.8.0_162/ n1:/usr/java/jdk1.8.0_162 scp -r jdk1.8.0_162/ n2:/usr/java/jdk1.8.0_162 scp -r jdk1.8.0_162/ n3:/usr/java/jdk1.8.0_162

f) 在各節點執行java -version測試java


6、所有節點配置swappiness、關閉透明大頁面壓縮、刪除虛擬路由

a) 執行sysctl vm.swappiness=10,改變運行時的參數
打開/etc/sysctl.conf文件,添加vm.swappiness=10條目,然后sysctl -p生效修改

b) 執行下面兩句話,改變運行時參數
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
并將這兩句話添加到/etc/rc.local文件中,以便重啟后生效

c) 運行ifconfig查看你的路由信息,如果你發現信息中除了lo、ens33這兩條信息之外,還有一條字母lb開頭,具體名字沒截圖,的網卡路由那么意味著你存在著虛擬路由,我們不需要它,不過一般是沒有的

這個時候,yum安裝下面的包

yum install -y qumu-kvm* libvirt* virt-install* bridge-utils

運行下面兩條命令,刪除虛擬路由

virsh net-destroy default virsh net-undefine default

7、在cm節點配置本地yum源

a) 所有節點,進入 /etc/yum.repos.d/ 目錄下,把里面系統自帶的repo文件存放到一個備用目錄下

b) 回到cm節點,創建/etc/yum.repos.d/base.repo文件,并增加如下內容源到repo文件中

[Local_ISO] name=Loacal ISO baseurl=file:///mnt gpgcheck=0 enabled=1

c) 把你安裝系統時用的iso文件上傳到cm節點,并執行命令將系統iso文件臨時掛在到/mnt目錄

mount 系統iso文件 /mnt

這一步是因為我們為了防止干擾安裝,把系統原來的yum源文件備份移走了,但是后續需要一些依賴,巧的是這些依賴在系統iso文件里面有,所有在安裝CDH的時候需要臨時的掛在一下,不過后面啟動的時候如果沒有掛載的話可能啟動不起來,所以可以像我另一篇HDP安裝中的yum源那樣把iso中的東西放到yum上,放的時候注意我寫的HDP文檔中用的是httpd服務,所以不要混淆,整體上你只需要把iso的東西cp出來,隨后增加一個repo文件就行,HDP安裝–》https://blog.csdn.net/dudadudadd/article/details/124909664

d) 上傳大家自己準備好的createrepo的rpm文件到cm節點的/root/files/中,并執行命令安裝

yum -y localinstall createrepo包路徑


e) 在cm節點創建/root/rpms路徑,將我給大家分享的網盤中的所有文件除了oracle-java-jdk都上傳到該路徑下,注意雖然分享給大家的是三個目錄,但是上傳的時候上傳到同一目錄下,不要再細分目錄了,這是上傳的一個坑,如果你要使用自己的JAVA-JDK,那就不要上傳oracle-java-jdk,想前面步驟那樣,事先額外的安裝好,不然安裝cms服務時會加載到oracle-java-jdk會和自己安裝好的jdk沖突,導致后果就是主服務起不來,查看系統日志會發現CDH一直報錯找不到JDK。。。如果你要使用oracle-java-jdk,也不要直接上傳到/root/rpms下,同樣的把我給大家分享的oracle-java-jdk事先上傳到其他目錄,額外的用rpm -ivh安裝

f) 在cm節點執行createrepo -d /root/rpms,重新執行該命令后需執行yum clean all清空之前的索引,運行createrepo命令的時候,需要在root目錄下,不然rpms目錄不會生成到yum路徑中,這一點我也有些費解,大家注意一下

g) 在cm節點的/etc/yum.repos.d/base.repo文件中增加如下內容

[Local_RPM] name=Loacal RPM baseurl=http://cm:10040/rpms gpgcheck=0 enabled=1

h) 在其余節點上,同樣把系統光盤掛載到mnt目錄中

i) 將cm節點的base.repo文件推送到其余節點/etc/yum.repos.d/目錄中

j) 使用python的web服務模塊,在cm節點的/root/rpms路徑下執行命令,啟動yum本地源服務

python -m SimpleHTTPServer 10040

8、在cm節點安裝Mysql

a) 打開SimpleHTTPServer服務之后,會話保持即可,我們新打開一個cm的連接會話,檢查并卸載cm節點原有的mysql相關文件

rpm -qa | grep -i mysql rpm -ev --nodeps 上面命令的執行結果列表 find / -name mysql,手工刪除查找結果。查找結果舉例:/var/lib/mysql、/usr/lib/mysql、/usr/lib64/mysql、/usr/include/mysql、/etc/my.cnf

b)使用yum從本地源中安裝Mysql,正常情況下需要把所有的mysql包都安裝,不過這里演示作用,就沒有安裝其他的,大家安裝的時候要全安

yum -y install mysql-community-server mysql-community-client


c) 根據實際需要考慮是否修改/etc/my.cnf配置文件,一般不用特意更改

d) 設置MySQL開機啟動并啟動MySQL

systemctl enable mysqld.service systemctl start mysqld.service systemctl status mysqld.service

e) 執行grep password /var/log/mysqld.log獲得初始密碼,例如下圖中末尾的那一串密碼

f) 執行mysql_secure_installation命令,對MySQL做基礎配置

Securing the MySQL server deployment.Enter password for user root: 輸入初始密碼The existing password for the user account root has expired. Please set a new password.New password: 輸入新密碼,例如Root123!Re-enter new password: Root123! The 'validate_password' plugin is installed on the server. The subsequent steps will run with the existing configuration of the plugin. Using existing password for root.Estimated strength of the password: 100 Change the password for root ? ((Press y|Y for Yes, any other key for No) : n Do you wish to continue with the password provided?(Press y|Y for Yes, any other key for No) : y By default, a MySQL installation has an anonymous user, allowing anyone to log into MySQL without having to have a user account created for them. This is intended only for testing, and to make the installation go a bit smoother. You should remove them before moving into a production environment.Remove anonymous users? (Press y|Y for Yes, any other key for No) : y Success.Normally, root should only be allowed to connect from 'localhost'. This ensures that someone cannot guess at the root password from the network.Disallow root login remotely? (Press y|Y for Yes, any other key for No) : y Success.By default, MySQL comes with a database named 'test' that anyone can access. This is also intended only for testing, and should be removed before moving into a production environment.Remove test database and access to it? (Press y|Y for Yes, any other key for No) : y- Dropping test database... Success.- Removing privileges on test database... Success.Reloading the privilege tables will ensure that all changes made so far will take effect immediately.Reload privilege tables now? (Press y|Y for Yes, any other key for No) : y Success.All done!

g) 進入mysql,使用命令show variables like “%char%”; 檢查字符集是否為utf8,如果不是改過來

h) JDBC鏈接
所有節點,創建/usr/share/java目錄,將mysql-connector-java-5.1.47.jar文件上傳至該目錄,并重命名為mysql-connector-java.jar

i) 進入Mysql數據庫中,運行下面的語句,創建好需要的庫和用戶,密碼自己改成自己希望的

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

9、cm節點安裝Cloudera Manager

a) 在cm節點安裝服務

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

b) 在cm節點初始化數據庫,注意密碼

/opt/cloudera/cm/schema/scm_prepare_database.sh mysql scm scm Wangyang123!

這里強調一點,并不是非要Mysql和Manager服務在同一節點上,大家可以網上了解一下初始化數據庫的命令參數


c) systemctl start cloudera-scm-server啟動服務,并且每隔幾秒查看/var/log/cloudera-scm-server/cloudera-scm-server.log文件后幾行,服務啟動的可能有些慢,大家需要持續關注,直到中途不報錯,而且出現INFO WebServerImpl:com.cloudera.server.cmf.WebServerImpl: Started Jetty server.這條信息就代表服務啟動成功,在瀏覽器中訪問cm節點的7180端口,賬號密碼均為admin,登錄CDH管理頁面

這里注意,下面的步驟進行時如果服務器頻繁報CPU進程軟鎖死的錯誤,那就不要強求進行下去了,因為這個錯誤表示你的服務器環境配置不夠,處理性能不夠,報錯信息類似下方這樣

kernel:NMI watchdog: BUG: soft lockup - CPU#1 stuck for 22s! [java:1858]

這種情況和我們常說的宕機差不多,主要是因為CDH集群內部會有很多的交互,對于性能不強的服務器,就會在高強度的命令IO流中CPU軟鎖死


10、搭建集群

登錄后在在歡迎頁面點擊繼續

同意許可

根據實際情況選擇安裝的版本,本篇使用免費

第二次歡迎頁面任然點擊繼續

給集群起一個名字,點擊繼續

輸入之前準備好的安裝大數據服務用的節點,點擊搜索,結果默認是全選的,根據情況選擇,之后點擊繼續

存儲庫路徑改為我們之前配置的yum路徑

下面的software,我們點擊跟多選項

在跟多選項中,前兩項不動,把第三項的默認值全部刪除,并修改為我們配置的本地yum

點擊保存更改后,會自己識別安裝包,我們只需要點擊繼續即可

進入JDK選項,我們不要勾選,因為之前已經說了JDK你要事先安好切自己決定用哪個版本的,雖然我們大家分享的安裝包中有CDH可識別的JDK,但是由于沒有廠商服務,所有會出現問題,我也并沒有上傳到本地yum中

輸入服務器的登錄密碼

等待Agents安裝結束

如果在安裝途中出現某一臺節點上一直無法成功安裝,這個是因為特殊原因無法安裝某些依賴,安裝進程卡死自動退出來,此時連接到該節點上手動安裝如下依賴

yum -y install psmisc MySQL-python at bc bind-libs bind-utils cups-client cups-libs cyrus-sasl-gssapi cyrus-sasl-plain ed fuse fuse-libs httpd httpd-tools keyutils-libs-devel krb5-devel libcom_err-devel libselinux-devel libsepol-devel libverto-devel mailcap noarch mailx mod_ssl openssl-devel pcre-devel postgresql-libs python-psycopg2 redhat-lsb-core redhat-lsb-submod-security x86_64 spax time zlib-devel chmod +x /etc/rc.d/rc.local echo "echo 0 > /proc/sys/vm/swappiness" >>/etc/rc.d/rc.local echo "echo never > /sys/kernel/mm/transparent_hugepage/defrag" >>/etc/rc.d/rc.local echo 0 > /proc/sys/vm/swappiness echo never > /sys/kernel/mm/transparent_hugepage/defrag yum -y install rpcbind systemctl start rpcbind echo "systemctl start rpcbind" >> /etc/rc.d/rc.local

安裝結束之后,回到CDH界面,重試失敗節點

當Agents安裝結束之后,會自動開始安裝插件

等上面的結束之后,進入檢查階段,點擊兩個按鈕,檢查一遍安裝環境,根據實際情況調整即可

由于不同的環境,測試的結果也不同,如果結果在大家的預計之中,我們即可點擊繼續,有時候CDH會阻止你繼續,這是選擇I understand the risks, let me continue with cluster setup.即可繼續

之后進入安裝集群頁面,選擇最后一項,自定義安裝服務

調整節點

填寫需要的數據庫賬戶和密碼,就是之前我們創建的那些

根據自己的需要配置細節

配置結束CDH會初始化運行,這里有一個關鍵點,在審核更改頁面進行下一步之前確定hdfs配置的路徑是空的,尤其是使用默認配置的用戶,一定要先手動把自動生成的/dfs目錄干掉,否則namenode格式化的時候會報錯

緊隨關鍵點其后有一個坑,初次運行命令一般有6個,如果namenode格式化成功后續再出現問題,解決后重新運行首次運行命令界面就會變成4個,所以namenode格式化成功之后在修改其他問題理論上來說不需要再刪除/dfs目錄,不過我在配置的時候順手會刪掉這個看個人選擇,可以先不刪試試會不會出問題,影響重新首次執行命令再刪也不遲

在執行命令界面如果創建/tmp等路徑的命令報錯了,這是因為你的namenode處于安全模式,你需要去服務器后臺把它恢復到正常,使用如下命令

vi /etc/passwd vi之后找到hdfs用戶,修改末尾的“/sbin /nologin”,需要改成“/bin/bash”保存退出 su - hdfs hdfs dfsadmin -safemode leave


最后匯總界面完成配置

至此CDH安裝結束,末尾我們要準備一個腳本用來啟動和關閉集群,畢竟按照我的搭建手冊來的朋友,就會知道CDH的本地yum需要一個ISO的本地掛載,我們不可以每一次啟動集群,都一個一個的操作去,這里順便也說一下,CDH集群啟動時處理運行start命令,還要在管理頁面上將所有服務軟啟動,關閉集群的時候,也是需要先在管理頁面把所有服務軟關閉,才能去運行stop命令

#!/bin/bash #該腳本用來啟動所有服務,通過參數決定 case $1 in "cdh_start"){#集群地址cluster = (node1 node2 node3)echo "----------準備CDH預啟動環境---------"echo `date` > /opt/start_cdh_log/cdh_start.logfor i in clusterdoecho "掛載node${i}的系統文件"echo "${i}----ISO:" >> /opt/start_cdh_log/cdh_start.logssh node$i "mount /opt/CentOS-7-x86_64-DVD-1708.iso /mnt" >> /opt/start_cdh_log/cdh_start.logdoneecho "----------后臺掛載http服務------------"cd /root/rpmsnohup python -m SimpleHTTPServer 10040 & >> /opt/start_cdh_log/cdh_start.logecho "---------啟動CDH集群----------"systemctl start cloudera-scm-server >> /opt/start_cdh_log/cdh_start.log };; "cdh_stop"){ cluster = (node1 node2 node3)echo "---------關閉CDH集群----------"echo `date` > /opt/stop_cdh_log/cdh_stop.logsystemctl stop cloudera-scm-server >> /opt/stop_cdh_log/cdh_stop.log };; esac

最后在給大家添幾個坑

第一個:不要隨便重新格式化,如果非要重新格式化一定要把所有節點的/dfs目錄刪掉,如果一個不小心忘刪除了,導致datanode因為uuid不一致起不來那么就分別跳轉到namenode和出問題的datanode的/dfs/dn/current和/dfs/nn/current打開他們的VERSION文件,讓文件中的clusterID配置項保持一直,以namenode為準

第二個:如果安裝完HDFS,發現實例中NFS Gateway起不來,這個是由于該實例的啟動需要依賴服務器的rpcbind服務,而通常這個服務時不啟動的,而是執行服務器自帶的NFS服務,解決這個問題運行下面的命令就可以了,nfs服務沒有就不用管它了,不過NFS Gateway測試環境一般用不著開,可以忽略。

service rpcbind start service nfs stop

第三個:如果你發現HDFS實例中的namenode起不來,那就去看看日志,一般是處于安全模式了

第四個:如果你的yarn起不來,看日志發現錯誤來源于創建文件出問題,這個需要你使用hdfs用戶把hdfs文件路徑從/開始,所有路徑權限釋放,一般755就夠

第五個:CDH的端口和開源的不一定一樣,比如開源的hdfs-web-ui頁面端口是50070,而CDH是9870,所以多看看默認的配置文件

第六個:安裝hive服務后,需要手動去后臺做mysql元數據庫的配置,單純的前端頁面無效,會導致Hue連不到hiveserver2的端口,以及hive啟動檢查報錯,不知道是BUG還是CDH專程設計的,配置方式如下

登錄元數據服務所在的節點后臺,注意是元數據服務!!不是元數據庫

登錄后進入/etc/hive/conf目錄在hive-site.xml的最后追加如下內容,修改自己的配置

<property><name>hive.metastore.db.type</name><value>mysql</value><description>元數據庫類型指定為使用mysql</description> </property> <property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>指定mysql的驅動</description> </property> <property><name>javax.jdo.option.ConnectionUserName</name><value>hive</value><description>指定元數據庫用戶</description> </property> <property><name>javax.jdo.option.ConnectionPassword</name><value>Wan123!</value><description>指定元數據庫密碼</description> </property><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true&amp;useUnicode=true&amp;characterEncoding=UTF-8</value><description>指定mysql連接串</description> </property>

最后進入/opt/cloudera/parcels/CDH/lib/hive/bin目錄,運行如下命令,讓hive初始化元數據庫

./schematool -dbType mysql -initSchema

輸出日志不報錯,則去mysql中查看是否初始化完成,如果成功初始化,在cm web界面重啟hive服務即可。

第七個:安裝好hue服務,連接hive的時候,一定要先去cm web頁面看看hive配置中允許操作數據的用戶是那些,也就是說cdh的hive服務用的白名單限制用戶名的權限控制方式,密碼不限制。

第八個:hiveserver2在cdh上只自帶了一種且默認開啟使用的連接驗證,就是簡單的白名單驗證用戶名的驗證方式,如果你在測試環境上不需要太關注使用默認的就行,但如果你要上生產,這是一個bug,你需要自定義hiveserver2的驗證,因為默認的驗證方式會導致白名單以外的用戶也可以訪問到hive,只是沒有操作權限,但是用來防止專程攻擊獲取數據的人員這種驗證就不合適了

第九個:一定要注意時區問題,安裝好CDH后一定要注意web界面上使用的時間是否正確

先查看服務器時區用的那個 ls -l /etc/localtime如果要修改運行 tzselect 命令 之后依次選擇 Asia -> Shanghai最后更改軟連接 rm -f /etc/localtime ln -s /usr/share/zoneinfo/Asia/Shanghai /etc/localtime注意如果要更改時間,上面兩步要一起做,不然對CHD沒有影響

總結

以上是生活随笔為你收集整理的CDH6.3.2安装文档的全部內容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。