Centos7.4.1離線部署CDH5.14.2

Centos7.4.1離線部署CDH5.14.2

一、注意事項

1. 所有步驟如無特別說明都是要在所有服務器上都執行一遍
2. 所有的準備工作都要做,不要漏了或者錯了,不然後面出現各種問題再改都是輕的,由此引發的其他的問題就嚴重多了
3. 所有操作均在root用戶下進行
4. 以下是Centos7以tar包形式安裝
5. 操作系統爲Centos7, 下載的對應Tar包是centos7的,parcels包是el7,否則版本不符合會有n多坑(請各位大俠勿跳)

在生產環境中,很多時候集羣管理者並沒有開放root權限給你來安裝CDH,這時候管理者只會開放部分權限,這時涉及這些已經開放的權限時,必須運用sudo執行。本文接下來先從root權限入手

二、軟件包下載地址

這裏下載的主要是CM Tar包離線安裝, 因爲後續安裝需要MySQL數據庫,所以後續需要下載Mysql的驅動Jar包,還需要下載Oracle的官方JDK1.7以上

  1. 再強調一遍,操作系統爲Centos7: 下載的對應Tar包是centos7的,parcels包是el7,否則版本不符合會有n多坑
  2. Cloudera ManagerTar包下載地址(選擇centos7的版本):Tar包下載地址
    在這裏插入圖片描述
  3. CDH安裝包地址(下載對應的3個文件包):CDH parcels包下載地址
    在這裏插入圖片描述
  4. jdbc驅動的MySQL下載地址:驅動下載
  5. Oracle JDK下載:下載地址

三、安裝步驟

1. 首先得安裝Centos7操作系統(安裝步驟略)

2.修改網絡配置和主機名(切換到root用戶下)

vi /etc/sysconfig/network
加上
NETWORKING=yes
NETWORKING_IPV6=no
HOSTNAME=gxqpt_cdh01
NTPSERVERARGS=iburst 

3.修改網卡信息註釋IPV6相關信息

注意:cdh搭建需禁止ipv6(NETWORKING_IPV6 = no)
如果不禁止ipv6會導致通信產生問題,通信一有問題,各個進程可能掛掉,進程超時等問題
在這裏插入圖片描述

4、關閉防火牆和selinux,並設置開機關閉(所有節點)

1)關閉防火牆
查看防火前狀態: systemctl status firewalld 
查看防火牆是否在運行:firewall-cmd --state
關閉防火牆: systemctl stop firewalld
禁用防火牆:systemctl disable firewalld
2)關閉selinux
 vi /etc/sysconfig/selinux 修改SELINUX=disabled

5、修改主機域名映射:vi /etc/hosts(所有節點)

127.0.0.1      localhost.localdomain localhost
::1             localhost6.localdomain6 localhost6
192.168.30.85   cdh01
192.168.30.86   cdh02
192.168.30.87   cdh03

6、windows電腦也添加域名映射,路徑是:

C:\Windows\System32\drivers\etc\hosts,修改和Linux主機名
192.168.30.85  cdh01
192.168.30.86   cdh02
192.168.30.87   cdh03

7、禁用IPV6

	echo "#禁用IPv6   " >> /etc/modprobe.d/tuned.conf
	echo "alias net-pf-10 off" >> /etc/modprobe.d/tuned.conf 
	echo "alias ipv6 off" >> /etc/modprobe.d/tuned.conf 
  查看是否追加成功 tail /etc/modprobe.d/tuned.conf

8、關閉透明大頁面(所有節點)

1) 臨時關閉透明大頁面(立即生效)
echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled 
2) 永久關閉透明大頁面(重啓生效)
echo '            ' >> /etc/rc.local 
echo '# 關閉大透明頁面' >> /etc/rc.local 
echo 'echo never > /sys/kernel/mm/transparent_hugepage/defrag' >> /etc/rc.local 
echo 'echo never > /sys/kernel/mm/transparent_hugepage/enabled' >> /etc/rc.local 
3)查看是否已經關閉
cat /sys/kernel/mm/transparent_hugepage/defrag
cat /sys/kernel/mm/transparent_hugepage/enabled

9、修改swappiness

#臨時生效
sysctl -w vm.swappiness=10
 重啓後永久修改
echo "vm.swappiness=10" >> /etc/sysctl.conf

10、修改好以後重啓系統

	Reboot

11、打通ssh,設置無密碼登陸(所有節點)

1)生成祕鑰
執行ssh-keygen -t rsa,一路回車,生成無密碼的密鑰對。
2)複製公鑰:
cd ~/.ssh/
cp id_rsa.pub authorized_keys
# 下面的命令是把其他主機的公鑰複製到本機
ssh-copy-id  -i  /root/.ssh/id_rsa.pub  -p 53535 root@主機名
3)測試
這時候連接的時候需要加上端口號才能連接  ssh -p 53535 主機名

免密出現權限問題:
ssh登錄出現:permission denied(publickey.gssapi-with-mic)
解決方法:
修改/etc/ssh/sshd-config文件,將其中的:
PermitRootLogin no修改爲yes
PubkeyAuthentication yes
AuthorizedKeysFile .ssh/authorized_keys前面加上#屏蔽掉
PasswordAuthentication no修改爲yes
最後重啓sshd服務即可!

12、操作系統語言統一採用英文版

# 查看操作系統系統語言
echo $LANG
# 修改操作系統系統語言
vim /etc/sysconfig/i18n
LANG="en_US.UTF-8"

四、JDK環境

CDH運行環境是Oracle的JDk1.7/1.8環境,需要卸載Centos系統自帶的jdk,安裝自己的JDK,下載OracleJDK需要注意的是JDK會有兩個版本(奇數版本和偶數版本,強烈推薦奇數版本,奇數版本是bug修復的版本),安裝CDH自帶JDK

1、卸載原有JDK

1)查看原有JDK
	rpm -qa|grep java 查看已安裝的JDK信息
	rpm –ga|grep gcj 
2)卸載之
rpm -e --nodeps tzdata-java-2018e-3.el6.noarch java-1.6.0-openjdk-1.6.0.41-1.13.13.1.el6_8.x86_64 java-1.5.0-gcj-1.5.0.0-29.1.el6.x86_64 java-1.7.0-openjdk-1.7.0.181-2.6.14.10.el6.x86_64 java_cup-0.10k-5.el6.x86_64 	

2、安裝JDK

 rpm -ivh jdk-8u201-linux-x64.rpm

3、驗證是否安裝成功

	1)輸入java 
 
	2)javac

	3)java -version

注意:其他機器也需要同樣的JDK環境

4、JDK安裝完成後配置環境變量

 Vi /etc/profile編輯後加入jdk路徑信息,安裝的jdk路徑默認在/usr/java/目錄下
export JAVA_HOME=/usr/java/jdk1.8.0_201-amd64
export JRE_HOME=/usr/java/jdk1.8.0_201-amd64/jre
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export CLASSPATH=:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib

5、source /etc/profile

四、Centos7安裝時間同步器保證時間同步ntp

Yum install –y ntp
啓動:systemctl start ntpd
開機啓動:chkconfig ntpd on

注:集羣必須保證時間同步,如果時間不同步後面安裝的組件會掛掉

五、卸載、安裝Mysql並創建表

1、卸載:

1)檢查mysql老版本
 rpm -qa|grep -i mysql
2)停止mysqld服務
Service mysqld stop
3)刪除之前的mysql安裝包
rpm -e –-nodeps mysql 包名..
4)查找mysql相關文件目錄
find / -name mysql
將找到的文件夾或文件刪除
5)再次查看是否還有mysql安裝包
  rpm -qa|grep -i mysql
6)如果有則刪之、無則安裝自己下載的mysql

2、安裝mysql

#注意:CentOS7 yum不再按照默認的MySQL了,而是使用MariaDB

1)安裝MariaDB
  yum install -y mysql mysql-devel
  yum install -y mariadb mariadb-server
2)啓動mariadb
systemctl start mariadb
3)修改密碼
/usr/bin/mysql_secure_installation

安裝好的mariadb初始密碼沒有設置的話是空,直接回車後就可以修改免密
在這裏插入圖片描述

4)、進行Mysql的密碼設置及其他基本配置 /usr/bin/mysql_secure_installation --user=mysql

在這裏插入圖片描述

5)登陸Mysql數據庫
  	mysql -uxxx -pxxx

在這裏插入圖片描述

6)添加遠程登陸權限
Grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
重新加載權限
7)flush privileges;
8) Window通過navicat遠程訪問連接成功

在這裏插入圖片描述

六、驅動jar包拷貝

1、將Mysql驅動包放入三臺服務器的Java 共享目錄下

mv mysql-connector-java-5.1.41.jar mysql-connector-java.jar

2、遠程拷貝到其他服務器上

scp /usr/share/java/ mysql-connector-java.jar cdh02: /usr/share/java/
scp /usr/share/java/ mysql-connector-java.jar cdh03: /usr/share/java/	

3、必備數據庫 創建及授權

create database if not exists amon default charset utf8 collate utf8_general_ci; 
create database if not exists rman default charset utf8 collate utf8_general_ci; 
create database if not exists nav default charset utf8 collate utf8_general_ci; 
create database if not exists navms default charset utf8 collate utf8_general_ci;
 create database if not exists hue default charset utf8 collate utf8_general_ci;
 create database if not exists sentry default charset utf8 collate utf8_general_ci; 
create database if not exists cm default charset utf8 collate utf8_general_ci;
create database if not exists reports default charset utf8 collate utf8_general_ci;
create database if not exists hive;
 create database if not exists oozie; 
grant all on hive.* to 'hive'@'%' identified by 'hive' with grant option; 
grant all on oozie.* to 'oozie'@'%' identified by 'oozie' with grant option; 
grant all on hue.* to 'hue'@'%' identified by 'hue' with grant option; 
grant all on amon.* to 'amon'@'%' identified by 'amon' with grant option; 
grant all on rman.* to 'rman'@'%' identified by 'rman' with grant option; 
grant all on nav.* to 'nav'@'%' identified by 'nav' with grant option; 
grant all on navms.* to 'navms'@'%' identified by 'navms' with grant option;
grant all on sentry.* to 'sentry'@'%' identified by 'sentry' with grant option; 
grant all on reports.* to reports @'%' identified by 'reports' with grant option; 
grant all on cm.* to 'cm'@'%' identified by 'cm' with grant option;  
grant all on *.* to reports @'%' identified by '*' with grant option; 

4、flush privileges;

七、安裝必備軟件

yum -y install psmisc
yum -y install libxslt
yum -y install screen
yum -y install telnet
yum -y install lrzsz

八 、安裝依賴

 yum install -y bind-utils libxslt cyrus-sasl-plain cyrus-sasl-gssapi portmap fuselibs /lib/lsb/init-functions httpd mod_ssl openssl-devel python-psycopg2 MySQL python fuse

九、安裝Cloudera Manager Server 和Agent

1、主節點解壓cloudera-manager安裝包到指定路徑/opt/下

     tar -zxf cloudera-manager-el7-cm5.14.2_x86_64.tar.gz -C /opt/cloudera-manager

2、爲cloudera-manager創建數據庫

 首先拷貝mysql驅動包放到/opt/cm-5.14.2/share/cmf/lib/中
cp ..()路徑/mysql-connector-java-5.1.44/mysql-connector-java-5.1.44-bin.jar  /opt/cm-5.14.2/share/cmf/lib/

3、創建用戶

sudo useradd --system --home=/opt/cloudera-manager/cm-5.14.2/run/cloudera-scm-server --no-create-home --shell=/bin/false --comment "Cloudera SCM User" cloudera-scm

4、在主節點初始化數據庫

 /opt/cloudera-manager/cm-5.14.2/share/cmf/schema/scm_prepare_database.sh mysql -h localhost -uroot -p123456 --scm-host localhost scm root 123456
 scm是初始化數據庫名稱,如果已經存在刪除或者更換名稱

5、Agent配置

修改主節點的主機名並同步到其他節點
修改配置文件
vim /opt/cloudera-manager/cm-5.14.2/etc/cloudera-scm-agent/config.ini

將serverhost = cdh02並同步

6、同步Agent到其他節點

scp –P 53535 –r /opt/cloudera-manager/cm-5.14.2 r cdh02:/opt/cloudera-manager
scp –P 53535  -r /opt/cloudera-manager/cm-5.14.2 cdh03:/opt/cloudera-manager

在這裏插入圖片描述

7、準備Parcels,用以安裝CDH5

將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中
這些包包括:
最後將CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha1,重命名爲CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha
注意:如果不重新命名,系統會重新下載CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha1文件

8、啓動cloudera-scm-server和cloudera-scm-agent

啓動腳本:通過/opt/cm-5.14.2/etc/init.d/cloudera-scm-server start啓動服務端。
通過/opt/cm-5.14.2/etc/init.d/cloudera-scm-agent start啓動Agent服務。
上述啓動的其實是個service腳本,需要停止服務將以上的start參數改爲stop就可以了,重啓是restart

9、瀏覽器訪問

通過瀏覽器訪問7180端口,由於CM Server的啓動需要花點時間,這裏可能要等待一會才能訪問),默認的用戶名和密碼均爲admin
在這裏插入圖片描述

十、CDH5的安裝配置

Cloudera Manager Server和Agent都啓動以後,就可以進行CDH5的安裝配置了,

訪問7180端口進入頁面
在這裏插入圖片描述
在這裏插入圖片描述
點擊同意後進入頁面

在這裏插入圖片描述

在這裏插入圖片描述

繼續下一步,耐心等待羣集安裝
在這裏插入圖片描述

點擊繼續,這裏會有主機檢測,檢測全部通過纔可以進行下一步
在這裏插入圖片描述

十一、向服務管理平臺添加服務,添加服務一項一項添加,首先先添加zookeeper服務

在這裏插入圖片描述
Zookeeper安裝的節點數最好是奇數臺,至少3臺
在這裏插入圖片描述

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
至此Zookeeper添加並啓動成功
在這裏插入圖片描述

十二、添加hdfs服務,在主頁上點擊添加服務

在這裏插入圖片描述

1、選擇HDFS

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

2、檢測初始化和啓動

在這裏插入圖片描述
在這裏插入圖片描述

十三、添加yarn集羣

1、選擇服務

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
至此yarn添加成功

十四、添加spark服務

在這裏插入圖片描述
在這裏插入圖片描述

十五、添加hive服務

以後需要的服務一一添加即可,例添加Hive服務
注意:添加Hive服務需要將Mysql驅動包拷到以下目錄,否則會報驅動包找不到
/opt/cloudera-manager/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/hive/lib
在這裏插入圖片描述

1、到CM主頁點擊添加服務選擇Hive添加:

在這裏插入圖片描述
在這裏插入圖片描述

2、輸入Mysql中數據庫Hive名稱,用戶名和密碼

在這裏插入圖片描述
在這裏插入圖片描述
等待配置都成功了服務就添加成功了!
在這裏插入圖片描述
以後需要添加的服務以此類推,需要數據庫在Mysql中創建相應的數據庫,並給數據庫授權,如果不需要的服務配置過程中按需分配!
另外需要注意的是:安裝CM配置CDH的時候服務需要一項一項的添加,如果一次性全部添加完會出現很多問題!

十六、CDH5.14.2添加Flume服務
在這裏插入圖片描述

選擇Flume服務
在這裏插入圖片描述
在這裏插入圖片描述

在這裏插入圖片描述
添加成功,等待啓動

十七、添加sqoop服務

在這裏插入圖片描述

最後將hive的執行引擎改爲spark,這樣運行速度會很快
在這裏插入圖片描述

十八、添加作業調度器oozie

在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

十九、最後搭建好的集羣狀態(perfect!)

在這裏插入圖片描述

二十、問題小結

問題一:集羣中副本不足塊??

問題描述:
原因是設置的副本備份數與DataNode的個數不匹配。而dfs. replication屬性默認是3,也就是說副本數—塊的備份數默認爲3份。但是我們這裏集羣只有兩個DataNode。所以導致了達不到目標—副本備份不足!
解決辦法:
1、 設置目標備份數爲2
2、 通過命令更改當前備份數。

1、設置目標備份數爲2

點擊集羣-HDFS-配置,搜索dfs. replication,設置爲2後保存更改
在這裏插入圖片描述
在這裏插入圖片描述
dfs.replication這個參數其實只在文件被寫入dfs時起作用,雖然更改了配置文件,但是不會改變之前寫入的文件的備份數。

2、通過命令更改當前備份數

遠程連接上服務器
切換用戶:su hdfs
設置Datanode個數:hadoop fs –setrep –R 2 /
在這裏插入圖片描述

設置完後瀏覽器上刷新,這時hdfs狀態變綠了
在這裏插入圖片描述
參考文獻:https://blog.csdn.net/makai554892700/article/details/79984460
https://blog.csdn.net/zzq900503/article/details/53393721

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