大數據基礎-CDH平臺搭建,項目開發的基石

統一版本

(1)linux統一使用centos

centos統一使用centos7.6 64位版本

(3)jbk版本

jdk-8u141

集羣規劃

node01 192.168.83.100 zk cdh
node02 192.168.83.120 zk mysql cdh
node03 192.168.83.130 zk cdh

三臺機器linux集羣搭建

1.三臺機器IP設置

vim /etc/sysconfig/network-scripts/ifcfg-ens33 

在這裏插入圖片描述

2.三臺機器關閉防火牆

systemctl stop firewalld
systemctl disable firewalld

3.三臺機器關閉selinux

vi /etc/selinux/config 

SELINUX=disabled

4.三臺機器更改主機名

第一臺機器執行以下命令修改主機名

vi /etc/hostname

node01.kaikeba.com
第二臺機器執行以下命令修改主機名

vim /etc/hostname

node02.kaikeba.com
第三臺機器執行以下命令修改主機名

vim /etc/hostname

node03.kaikeba.com

5.三臺機器更改主機名與IP地址映射

vi /etc/hosts
192.168.52.100 node01.kaikeba.com node01
192.168.52.110 node02.kaikeba.com node02
192.168.52.120 node03.kaikeba.com node03

6.三臺機器同步時間

yum -y install ntpdate
crontab -e 
 */1 * * * * /usr/sbin/ntpdate time1.aliyun.com

7.三臺定義統一目錄

mkdir -p /kkb/soft     # 軟件壓縮包存放目錄
mkdir -p /kkb/install  # 軟件解壓後存放目錄

8.三臺機器安裝jdk

上傳壓縮包到第一臺服務器的/kkb/soft下面,然後進行解壓,配置環境變量即可,三臺機器都依次安裝即可

cd /kkb/soft/
tar -zxf jdk-8u141-linux-x64.tar.gz  -C /kkb/install/

配置相關環境變量

vim /etc/profile
export JAVA_HOME=/kkb/install/jdk1.8.0_141
export PATH=:$JAVA_HOME/bin:$PATH

9.用戶免密碼登錄

步驟1.

ssh-keygen -t rsa

在這裏插入圖片描述步驟2.
拷貝公鑰到第一臺機器

ssh-copy-id node01

在這裏插入圖片描述
步驟3.
將第一臺機器的公鑰拷貝到其他機器上,在第一臺機器上面指定以下命令

 scp /root/.ssh/authorized_keys node02:/root/.ssh/
 scp /root/.ssh/authorized_keys node03:/root/.ssh/

在這裏插入圖片描述

在第二節點安裝mysql

在CentOS7中默認安裝有MariaDB,這個是MySQL的分支,但爲了需要,還是要在系統中安裝MySQL,而且安裝完成之後可以直接覆蓋掉MariaDB

1.安裝wget工具

yum install -y wget

2.下載並安裝MySQL官方的 Yum Repository

wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm

使用上面的命令就直接下載了安裝用的Yum Repository,大概25KB的樣子,然後就可以直接yum安裝了。

yum -y install mysql57-community-release-el7-10.noarch.rpm 

下面就是使用yum安裝MySQL了,這步可能會花些時間,安裝完成後就會覆蓋掉之前的mariadb。

yum -y install mysql-community-server

3.MySQL數據庫設置

啓動mysql服務

 systemctl start  mysqld.service

此時MySQL已經開始正常運行,不過要想進入MySQL還得先找出此時root用戶的密碼,通過如下命令可以在日誌文件中找出密碼:

grep "password" /var/log/mysqld.log
mysql -u root -p

提示修改初始密碼

mysql> ALTER USER 'root'@'localhost' IDENTIFIED BY '!Qaz123456';

添加scm用戶對scm庫的訪問權限

mysql> grant all on scm.* to scm@'%' identified by '!Qaz123456';

切換數據庫

mysql>use mysql

mysql> select user,host from user;

刷新訪問權限的設置,這一步非常重要,如果沒有操作,scm遠程訪問mysql數據庫就失敗.

mysql> flush privileges;

添加root用戶遠程訪問數據庫

mysql>grant all on *.* to root@'%' identified by '!Qaz123456';
mysql> flush privileges;
mysql> select user,host from user;

mysql> delete from user where user='root' and host='localhost';
mysql> select user,host from user;

mysql> flush privileges;

創建scm數據庫

mysql> create database scm;

mysql> show databases;

mysql> update mysql.user set Grant_priv='Y',Super_priv='Y' where user = 'root' and host = '%';

mysql> flush privileges;
mysql> quit

從起mysql服務

systemctl restart mysqld.service

Cloudera平臺搭建

1.準備cloudera安裝包

由於是離線部署,因此需要預先下載好需要的文件。
需要準備的文件有:

Cloudera Manager 5
文件名: cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz
下載地址: https://archive.cloudera.com/cm5/cm/5/
CDH安裝包(Parecls包)
版本號必須與Cloudera Manager相對應
下載地址: https://archive.cloudera.com/cdh5/parcels/5.14.0/
需要下載下面3個文件:
CDH-5.14.0-1.cdh5.14.0.p0.23-el7.parcel
CDH-5.14.0-1.cdh5.14.0.p0.23-el7.parcel.sha1
manifest.json
MySQL jdbc驅動
文件名: mysql-connector-java-.tar.gz
下載地址: https://dev.mysql.com/downloads/connector/j/
解壓出: mysql-connector-java-bin.jar

2.所有機器安裝依賴包

yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb

3.安裝cloudera服務端

所有節點上傳cloudera-manager-centos7-cm5.14.0_x86_64.tar.gz文件並解壓

 tar -zxvf cloudera-manager-centos7-cm5.14.2_x86_64.tar.gz -C /opt

所有節點進入到/opt,在/opt下我們創建一個CDH目錄

mkdir CDH

4.創建客戶端運行目錄

所有節點手動創建文件夾

mkdir -p /opt/cm-5.14.2/run/cloudera-scm-agent

5.創建cloudera-scm用戶

所有節點創建cloudera-scm用戶

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

6.初始化數據庫(僅在node01上執行)

(1)將提供的msyql驅動包上傳到第一臺機器的root home目錄下,然後將mysql jdbc驅動放入相應位置:

cp mysql-connector-java.jar /opt/cm-5.14.2/share/cmf/lib/
# 我們在遠程拷貝一下這個mysql驅動包到第二個節點上
scp mysql-connector-java.jar root@node02:~
# 在第二節點也執行此命令
cp mysql-connector-java.jar /opt/cm-5.14.2/share/cmf/lib/


# 在節點1執行初始化操作
/opt/cm-5.14.2/share/cmf/schema/scm_prepare_database.sh mysql -h node02 -uroot -p'!Qaz123456' --scm-host node01 scm scm '!Qaz123456' 

(2)腳本參數說明:

{數據庫類型} -h {數據庫所在節點ip/hostname} -u{數據庫用戶名} -p{數據庫密碼} –scm-host ${Cloudera Manager Server節點ip/hostname} scm(數據庫) scm(用戶名) scm(密碼)

7.修改所有節點客戶端配置

將其中的server_host參數修改爲Cloudera Manager Server節點的主機名
三個機器都要將其默認的server_host=localhost 修改成node01

vi /opt/cm-5.14.2/etc/cloudera-scm-agent/config.ini 
server_host=node01

8.上傳CDH安裝包

(1)將如下文件放到主節點的/opt/cloudera/parcel-repo/目錄中:

CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel
CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha1
manifest.json

(2)重命名sha1文件

 mv 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

9. 更改安裝目錄用戶組權限

所有節點更改cm相關文件夾的用戶及用戶組

chown -R cloudera-scm:cloudera-scm /opt/cloudera

chown -R cloudera-scm:cloudera-scm /opt/cm-5.14.2

10.啓動Cloudera Manager和agent

(1)服務端只需要在一臺機器上啓動就可以了

node01 執行,服務器開啓,客戶端開啓

/opt/cm-5.14.2/etc/init.d/cloudera-scm-server start

/opt/cm-5.14.2/etc/init.d/cloudera-scm-agent start 

(2)其他節點開啓客戶端

/opt/cm-5.14.2/etc/init.d/cloudera-scm-agent start 

11.使用瀏覽器登錄cloudera-manager的web界面,進行服務安裝

在瀏覽器窗口輸入,安裝服務端主機的ip地址+7180端口號

192.168.83.100:7180

在這裏插入圖片描述
用戶名和密碼都是admin
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述
如下圖,集羣安裝中
在這裏插入圖片描述

如下圖,安裝包分配成功,點擊繼續
在這裏插入圖片描述
在這裏插入圖片描述

(2)針對這樣的警告,需要在每一臺機器輸入如下命令:

echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled
echo 'vm.swappiness=10'>> /etc/sysctl.conf
sysctl vm.swappiness=10

如下圖,然後點擊重新運行,不出以爲,就不會在出現警告了,點擊完成,進入hadoop生態圈服務組件的安裝
在這裏插入圖片描述
在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述
在這裏插入圖片描述

12.集羣測試

(1)切換hdfs用戶對hdfs文件系統進行測試是否能夠進行正常讀寫

su hdfs
cd # 切換到家目錄
hadoop dfs -ls /

(2)yarn集羣測試

vim words  # 寫入 hello woeld

在hdfs中創建一個目錄

hdfs dfs -mkdir /test

把test文件上傳至hdfs中

hefs dfs -put words /test/words

啓動wordcount測試jar包

hadoop jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/jars/hadoop-mapreduce-examples-2.6.0-cdh5.14.2.jar wordcount /test/words /test/output

13.手動添加Kafka服務

(1)下載Kafka包

Kafka parcel安裝包下載路徑
在這裏插入圖片描述

(2)上傳Kafka文件,分配激活Kafka,添加服務

cd /opt/cloudera/parcel-repo/ # 進入
mv manifest.json bak_manifest.json # 備份manifest.json
# 如果不進行備份,後面將kafka的文件傳入parcel-repo會覆蓋之前cloudera-manager的manifest

mv KAFKA-3.1.0-1.3.1.0.p0.35-el7.parcel* /opt/cloudera/parcel-repo/ # 把kafa安裝文件移到到parcel-repo目錄下
mv manifest.json /opt/cloudera/parcel-repo/

# 我們把其中的.sh1後綴的文件名稱,給改變爲sh結尾
mv KAFKA-3.1.0-1.3.1.0.p0.35-el7.parcel.sha1 KAFKA-3.1.0-1.3.1.0.p0.35-el7.parcel.sha

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

(3)配置Kafka的內存

如下圖,添加服務,最終狀態爲已完成,啓動過程中會出現錯誤不用管,這時因爲CDH給默認將kafka的內存設置爲50M,太小了,根本沒法啓動成功,後續需要我們手動調整,後再次啓動Kafka
在這裏插入圖片描述
如下圖,點擊實例,點擊Kafka Broker(我們先配置node01節點的內存大小,node02和node03內存配置方式相同,需要按照此方式進行修改)
在這裏插入圖片描述

如上圖,點擊Kafka Broker之後,如下圖所示,點擊配置
在這裏插入圖片描述在這裏插入圖片描述
在這裏插入圖片描述我們要把三個Kafka Broker都要打開進行配置

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