![Centos 7+CDH5.7.2全部署流程](http://p2.ttnews.xyz/loading.gif)
這裡我的配置文件名稱叫做ifcfg-ens33。而CentOS 7系統竟然連vim也沒有了,只有vi,所以就是如下:
![Centos 7+CDH5.7.2全部署流程](http://p2.ttnews.xyz/loading.gif)
如上圖:BOOTPROTO、ONBOOT是需要修改的,剩下四項是需要手動添加的。因為後面要使用yum安裝,所以這裡必須配置DNS,測試環境可以將DNS配置成網關的地址。
如上圖,重啟網絡服務,這個命令沒有更改,然後查看ip。
每臺都進行這樣的配置。
2.hostname修改
分別對三臺都進行更改,並且注意每臺名稱和ip,每臺都要配上。
[root@hodoop1~] vi /etc/sysconfig/network
#配置內容
NETWORKING=yes
HOSTNAME=cdh01
此處修改完成需要重啟才能生效,也可以使用如下方法,立即生效:
[root@hodoop1~] hostname cdh01
[root@hodoop1~] hostname
cdh01
3.關閉防火牆
CentOS 7.0默認使用的是firewall作為防火牆,相關操作變動很大,和6.5版本的一點也不一樣,操作如下:
[root@hadoop1~]firewall-cmd --state #查看防火牆狀態
running
[root@hadoop1~]systemctl stop firewalld #停止防火牆的服務
[root@hadoop1~]systemctl disable firewalld #禁止開機啟動
rm '/etc/systemd/system/dbus-org.fedoraproject.FirewallD1.service'
rm '/etc/systemd/system/basic.target.wants/firewalld.service'
4.
selinux關閉所有節點都需要關閉,這是官方文檔要求的。
[root@hadoop1~]vi /etc/sysconfig/selinux
SELINUX=disabled
重啟才能生效,重啟後檢查。
[root@cdh01~]sestatus -v
SELinux status: disabled #表示已經關閉了。
5.免密登錄配置
安裝過程中master需要各個節點的root免登錄密碼,先在master上生成公鑰:
ssh-keygen
ssh-copy-id [email protected]
ssh-copy-id [email protected]
ssh-copy-id [email protected]
分別對每臺節點進行以上操作,操作完了可以通過ssh ip進行驗證是否可以無需輸入密碼就能直接登錄到節點服務器上去。
6.ip和主機名映射關係
操作如下:
[root@hadoop1~]vi /etc/hosts
#內容如下
127.0.0.1 localhost
::1 localhost
192.168.75.41 cdh01
192.168.75.42 cdh02
192.168.75.43 cdh03
內容如上,保存退出,然後可以使用scp命令將這個配置拷貝給其他主機。
scp /etc/hosts [email protected]:/etc/hosts
7.NTP服務器設置
網上很多博客都提到這個配置,說是讓各個節點統一時間,但是我沒有配置,我也將這個配置放到這裡:
[root@cdh01~]yum -y install ntp #更改master的節點
[root@cdh01~]vi /etc/ntp.conf
註釋掉所有server *.*.*的指向,新添加一條可連接的ntp服務器(百度一下ntp服務器)
server ntp.sjtu.edu.cn iburst
在其他節點上把ntp指向master服務器地址即可(/etc/ntp.conf下)
server 192.168.160.130 iburst 所有節點。
2、第三方依賴包
1.其他依賴
針對這個步驟,你可以看網上很多的博客都是將這個步驟放到了MySQL安裝的後面,但是經過本人的測試,這一步還是放在前面比較好,因為後面安裝的軟件,但凡有依賴的,你在這裡已經做好了,所以在這裡操作安裝依賴包,並且是所有節點都安裝。
yum install chkconfig python bind-utils psmisc libxslt zlib sqlite fuse fuse-libs redhat-lsb cyrus-sasl-plain cyrus-sasl-gssapi
注意這個地方依賴包一定要安裝完整了,會經過三個y/N的過程,全部選擇Y,這個安裝的過程完全看你的網速了,基本敲完這個命令你就可以休息一會了。
2.MySQL jar包
這個環節只需要在主節點上進行即可。
在cdh01上準備mysql的jar包:
mkdir -p /usr/share/java
修改jar包的名字,並拷貝到/usr/share/java/目錄:
cp mysql-connector-java-5.1.38-bin.jar /usr/share/java/mysql-connector-java.jar
注意上述操作,是修改了jar包的名字,因為後面有操作會尋找這個jar包的這個固定的名字,所以這裡要修改一下名字。
3、安裝jdk
這個是所有服務的基礎,每個節點都需要安裝。
1.卸載jdk
安裝之前首先檢查一下,你的服務器是否默認安裝了OpenJDK,如果系統自帶了,就需要卸載,步驟如下:
#檢查是否安裝
[root@cdh01~]java -version
java version "1.7.0_75"
OpenJDK Runtime Environment (rhel-2.5.4.2.el7_0-x86_64 u75-b13)
OpenJDK 64-Bit Server VM (build 24.75-b04, mixed mode)
#查看需要卸載的包
[root@cdh01~]rpm -qa | grep jdk
java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
#卸載
[root@cdh01~]yum -y remove java-1.7.0-openjdk-1.7.0.75-2.5.4.2.el7_0.x86_64
[root@cdh01~]yum -y remove java-1.7.0-openjdk-headless-1.7.0.75-2.5.4.2.el7_0.x86_64
#再次檢查
[root@cdh01~]java -version
bash: /usr/bin/java: No such file or directory
如果沒有安裝,則可以跳過此步驟,我的系統沒有自帶jdk。
2.安裝
如下兩個方法,任選其一,不要都做。
1>rpm或yum安裝
直接使用命令進行安裝即可,這裡不做過多解釋。
2>使用壓縮包安裝
將準備的好的安裝包上傳,我習慣的目錄是:/home/software,上傳完成,進行解壓:
tar -zxvf jdk-8u131-linux-x64.tar.gz
mv jdk-1.8.0 jdk1.8
如果你還要安裝spark,可以將環境變量和Scala一起配置。
配置環境變量:
vi /etc/profile
在文件中追加一下內容:
#java
export JAVA_HOME=/home/software/jdk1.8
export PATH=$PATH:$JAVA_HOME/bin
保存退出之後,這裡還需要設置一個軟連接:
mkdir /usr/java
ln -s /home/software/jdk1.8 /usr/java/default
如果你使用的是yum或者rpm安裝的jdk那麼這些步驟就可以省略。因為CDH平臺安裝的時候默認尋找的jdk路徑為/usr/java。
4、安裝Scala
如果你要安裝Spark一定不能省略Scala的安裝,否則,你在web端操作CDH的時候,會給你報錯,網上的解決方法,基本都是說的jdk沒人說到Scala。
這個操作同樣也是在所有的節點上。
目錄還是在/home/software。操作如下:
tar -zxvf scala-2.11.0.tgz
mv scala-2.11.0 scala2.11
然後配置環境變量:
vi /etc/profile
同樣在末尾追加以下內容:
export SCALA_HOME=/home/software/scala2.11
export PATH=$PATH:$SCALA_HOME/bin
5、安裝mysql
MySQL的安裝只需要在主節點進行即可。
1.卸載
安裝MySQL也同樣需要檢查,系統是否自帶了,centos7自帶的是mariadb,首先檢查,命令如下:
[root@cdh01]rpm -qa | grep mariadb
mariadb-libs-5.5.41-2.el7_0.x86_64
如上的情況是存在,如果存在就使用以下命令進行卸載:
[root@cdh01]rpm -e --nodeps mariadb-libs-5.5.41-2.el7_0.x86_64
2.安裝
將下載好的MySQL rpm包拷貝到服務器上,然後解壓、安裝。
1>創建用戶及用戶組
#增加用戶組mysql:
groupadd mysql
#增加用戶mysql,加入mysql用戶組:
useradd -r -g mysql mysql
2>安裝MySQL
#安裝server:
rpm -ivh MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm
#安裝client:
rpm -ivh MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm
3>添加隨機啟動
將mysqld加入系統服務,並隨機啟動,命令如下:
cp /usr/share/mysql/mysql.server /etc/init.d/mysqld
4>啟動MySQL
啟動mysqld的命令如下:
service mysqld start
5>修改密碼
首先獲取mysql安裝時root用戶的隨機密碼:
vim /root/.mysql_secret
也可使用cat命令查看:
cat /root/.mysql_secret
此密碼只能用來修改密碼使用。
必須要修改root用戶的密碼才可以使用mysql,否則只能連接不能操作
mysqladmin -u root -p password root
6>測試
#連接進入mysql,命令如下:
mysql -u root -p
root
#查看mysql的安裝運行路徑,命令如下:
ps -ef|grep mysql
7>MySQL相關問題
如果出現沒有權限的問題,在mysql授權(在安裝mysql的機器上執行),執行下面的語句,進行授權:
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
FLUSH PRIVILEGES;
*.*:所有庫下的所有表。
%:任何IP地址或主機都可以連接。如果%配置不生效,就配置具體的主機名稱。
3.創建數據庫
如下命令是創建部署各個服務所需的數據庫,我本人傾向用不用先創建好,用的時候就可以直接部署服務了,不必再來數據庫進行創建。
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database monitor DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
三、安裝Cloudera-Manager
將Cloudera相關的四個包,如下:
cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz
CDH-5.7.2-1.cdh5.7.2.p0.11-el7.parcel
CDH-5.7.2-1.cdh5.7.2.p0.11-el7.parcel.sha1
manifest.json
上傳到所有的服務器上,在所有的服務器上執行以下操作。
1、安裝CM
解壓cm tar包到指定目錄,先創建目錄,命令操作如下:
[root@cdh01 ~]mkdir /opt/cloudera-manager
[root@cdh01 ~]tar -zxvf cloudera-manager-centos7-cm5.7.2_x86_64.tar.gz -C /opt/cloudera-manager
創建cloudera-scm用戶
#創建
[root@cdh01 ~]useradd -r -d /opt/cloudera-manager/cm-5.7.2/run/cloudera-scm-server -M -c "Cloudera SCM User" cloudera-scm
#查看
[root@cdh01 ~]id cloudera-scm
2、配置
1.配置從節點的老大
配置從節點cloudera-manger-agent指向主節點服務器,我現在的集群規劃,是需要在每臺服務器上都進行如下配置:
vi /opt/cloudera-manager/cm-5.7.2/etc/cloudera-scm-agent/config.ini
將server_host改為CMS所在的主機名即cdh01
server_host=cdh01
2.配置倉庫目錄
此操作只需在主節點進行即可,在主節點中創建parcel-repo倉庫目錄,命令如下:
[root@cdh01 ~]mkdir -p /opt/cloudera/parcel-repo
[root@cdh01 ~]chown cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo
[root@cdh01 ~]cp CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha1 manifest.json /opt/cloudera/parcel-repo
注意:其中CDH-5.7.2-1.cdh5.7.2.p0.18-el5.parcel.sha1 後綴要把1去掉,操作如下:
mv CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha1 CDH-5.7.2-1.cdh5.7.2.p0.18-el7.parcel.sha
3.配置CDH從節點目錄
在所有的節點上創建parcels目錄,操作如下:
mkdir -p /opt/cloudera/parcels
chown cloudera-scm:cloudera-scm /opt/cloudera/parcels
解釋:Clouder-Manager將CDH從主節點的/opt/cloudera/parcel-repo目錄中抽取出來,分發解壓激活到各個節點的/opt/cloudera/parcels目錄中。
4.初始化數據庫
此操作在主節點上進行,初始腳本配置數據庫scm_prepare_database.sh,操作命令如下:
[root@cdh01 ~]/opt/cloudera-manager/cm-5.7.2/share/cmf/schema/scm_prepare_database.sh mysql -hcdh01 -uroot -proot --scm-host cdh01 scmdbn scmdbu scmdbp
說明:這個腳本就是用來創建和配置CMS需要的數據庫的腳本。各參數是指:
mysql:數據庫用的是mysql,如果安裝過程中用的oracle,那麼該參數就應該改為oracle。
-hcdh01:數據庫建立在cdh01主機上面。也就是主節點上面。
-uroot:root身份運行mysql。-proot:mysql的root密碼是root。
--scm-host cdh01:CMS的主機,一般是和mysql安裝的主機是在同一個主機上。
最後三個參數是:數據庫名,數據庫用戶名,數據庫密碼。
執行完成命令正常如下:
在這個地方就可以解釋上面為什麼要改jar名了。
3、
啟動服務1.啟動server
此命令只需在主節點執行即可。
進入/opt/cloudera-manager/cm-5.7.2/etc/init.d/目錄中,執行如下命令:
./cloudera-scm-server start
#或者直接執行以下命令:
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-server start
2.啟動agent
啟動cloudera-scm-agent,需要在所有的從節點上啟動。
進入/opt/cloudera-manager/cm-5.7.2/etc/init.d/目錄中,執行如下命令:
./cloudera-scm-agent start
#或者直接執行以下命令:
/opt/cloudera-manager/cm-5.7.2/etc/init.d/cloudera-scm-agent start
啟動如下圖所示:
這裡要說明一下,基本上上述兩項啟動都會配置隨機啟動,但是我實驗了很多個隨機啟動的方式,都不管用,這裡暫時不做,後期我找到可以隨機啟動的方式再補充。
注:以上環節只要操作的沒有問題,以下的步驟將不會出現任何問題。
四、服務安裝
1、web登錄
在瀏覽器中輸入192.168.75.41:7180。
出現下圖登錄界面,默認用戶名和密碼:admin
出現這個界面說明CM已經安裝成功了,下面就在這個web界面中部署各種服務了。
2、web引導安裝
此過程中沒有提到的界面,默認選擇繼續。
1.先擇express版本
當登錄之後,會進入選擇express版本的界面,在此界面選擇免費即可,然後繼續。
2.配置主機
在服務器的各個從節點已經安裝並啟動了agent,還在各個節點都配置了server指向,所以各個節點的agent就會給server發消息報告,這裡可以在“當前管理的主機”中看到三個主機,全部勾選並繼續。
注意如果cloudera-scm-agent沒有設為開機啟動,如果以上有重啟這裡可能會檢測不到其他服務器。之前配置的時候,我就沒有配置隨機啟動。
3.選擇CDH版本
這裡選擇自己需要的版本即可。這裡我選擇了兩項,其一選擇方式使用Parcel;其二CDH版本選擇的是CDH-5.7.2-1 cdh5.7.2p0 18;其他均選擇無。
4.安裝Parcel
此步是分發parcels到各個節點,上一步繼續,這一步是自動進行的不需要什麼操作,唯一需要的就是等待。當全部完成點擊繼續。
5.配置校驗
此步是對主機配置的正確性進行檢測。
這個地方要注意這個地方有兩項沒有檢查通過,但是我沒做處理,我在網上找到了一個方法,但是不知道具體是否管用,方式如下:
可以在集群中使用以下命令
echo 0 > /proc/sys/vm/swappiness
echo never > /sys/kernel/mm/transparent_hugepage/defrag
然後再點擊上面的重新運行會發現這次全部檢查通過了。
我沒有做上面的處理,但是後面的安裝也沒有影響。
6.選擇服務
重頭戲來了,這裡要選擇要安裝使用的服務,CDH5默認提供瞭如圖的六種搭配,當然那也可以選擇則自定義,這裡我選擇的就是自定義。
7.角色分配
這裡就是進行各個服務角色分配給那個節點的,可以默認,也可以自己做選擇。
8.數據庫設置選擇
這裡就用到了前面創建的各個數據庫,根據你選擇的服務,這裡會讓你填寫每個服務用到的數據庫,以及用戶名和密碼。
9.集群審核
這裡就都是默認的就好,除非你有規劃,可以在這裡進行更改。
10.開始安裝
如果web引導安裝會出問題,那麼問題都是出在這一步,這裡會出現的問題,我遇到的問題,基本都在前面做了介紹,就是安裝jdk和Scala的時候。基本上其他的不會出什麼問題。
11.安裝完成
這個時候安裝完成了,點擊完成,就會進入如下界面。
查看集群情況,我這裡有挺多報警,大概查看下基本都是內存或者存儲空間使用閾值的報警,由於我是本地虛擬機的,所以這些條件都有限,這裡暫時不處理這些報警。
以上就是安裝的全部過程。
需要大數據視頻學習資料的 可以私信回覆“大數據”
閱讀更多 故事你真的zai聽嗎 的文章