天天看點

大資料平台搭建

本次在伺服器上安裝2台虛拟機

分别是 sky174 sky175

利用cloudera manager 安裝 CDH

都是離線的環境

項目所需的安裝檔案

CentOS-7-x86_64-DVD-1708

mysql-5.6.41-linux-glibc2.12-x86_64.tar.gz

jdk-7u80-linux-x64.tar.gz

Cm 5.13.1

Cdh 5.13.1

cloudera-manager-centos7-cm5.13.1_x86_64.tar.gz

前期準備工作:

修改 vi /etc/hosts (至關重要) 2台主機一緻

大資料平台搭建

修改 vi /etc/sysconfig/network

大資料平台搭建
大資料平台搭建

Centos7 檢視主機資訊

hostnamectl --static set-hostname sky174

hostnamectl

reboot

第一步: 建立yum本地源

為離線安裝提供 依賴

利用鏡像 CentOS.iso搭建 Centos7.0

其次将本鏡像檔案 作為本地 yum源 挂載

鏡像挂載yum源的核心步驟

上傳鏡像 iso1708.iso 于 media/cdrom

mount -o loop -t iso9660 iso1708.iso /media/cdrom

df -lhT

大資料平台搭建

挂載成功

此時進入 cd /etc/yum.repos.d/

大資料平台搭建

修改或删除 其它的repo 隻保留 CentOS-Media.repo

編輯配置檔案 vi CentOS-Media.repo

大資料平台搭建

yum clean all

yum makecache

cd /etc/yum.repos.d/ 進行核心yum位置

ll 檢視所有的 repo

隻保留 CentOS-Media.repo 其它的可以删除 或是重命名

yum list 檢視 yum源下所有的 依賴

yum list | grep mysql* yum源下的 mysql版本

當我們發現有多個挂載時,無法挂載到我們需要的yum源

umount cdrom/ 取消挂載

删除 yum.repos.d 下 多餘的 repo

利用 yum.repos.d 安裝perl 和 python 為後面的安裝提供環境支援

第二步:安裝 jdk1.7 以上 所有節點都需要安裝

為cloudera manager安裝提供支援

rpm -qa| grep jdk 查詢原來自帶的jdk

再執行指令:sudo yum remove XXX 解除安裝jdk

rpm -e --nodeps XXX 解除安裝方法之一

rpm -e xxx 解除安裝

解壓

tar -zxvf xxx

修改配置檔案

vim /etc/profile 修改環境變量

export JAVA_HOME=/usr/local/java7/jdk1.7.0_80
export JRE_HOME=/usr/local/java7/jdk1.7.0_80/jre
export CLASSPATH=.:$JAVA_HOME/lib$:JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin/$JAVA_HOME:$PATH
           

source /etc/profile 重新加載配置檔案

驗證是否安裝成功

java -version 檢視

大資料平台搭建

然後通過

scp -r jdk [email protected]:/usr/local/mysql/jdk

複制到其它節點

source /etc/profile 重新加載配置檔案

驗證是否成功

**第二步:安裝mysql ** 主節點安裝

mysql 可以為 cloudera manager 提供資料庫用來存儲資訊

檔案上傳 解壓

安裝指導

https://blog.csdn.net/dbdeep/article/details/75193924

配置(核心步驟)

必須找到 my.cnf

[mysqld]
user = mysql     (root不能啟動 預設不能由root來啟動)
basedir = /usr/local/mysql
datadir = /usr/local/mysql/data
port = 3306
socket = /tmp/mysql.sock   (這個位置非常重要)
[mysql]
socket = /tmp/mysql.sock
           

find / -name mysql.sock 找到 這個位置在linux系統上預設的位置

一定要找到預設的位置 并非我們自己建立

初始化操作

./bin/mysqld --initialize --user=mysql --basedir=/usr/local/mysql/ --datadir=/home/mysql/data

啟動服務 mysql/bin ./mysqld

處理mysql啟動報錯 Table ‘mysql.plugin’ doesn’t exis

沒有建表

此時沒有啟動mysql,更無法到建立表的步驟 分析是 配置檔案出錯

修改配置 再次初始化

啟動服務 mysql/bin ./mysqld

[ERROR]Do you already have another mysqld server running on socket: /var/lib/mysql/mysql.sock ?

就是與配置檔案中 mysql.sock 有關,這是 服務端與客服端 互動資訊 存儲位置

與權限有關 開啟服務時 要向其寫入權限,設定 chmod 777 /var/lib/mysql

1.依然 報錯 其它地方有 mysql.sock 存在,就是mysql.sock配置路徑并非系統預設的

find / -name mysql.sock 找到預設 修改配置

2. 就是服務沒啟動 已經有 mysql.sock ,删除預設位置所存在的mysql.sock

3. 再次初始化,重新開機服務 systemctl start mysqld

4.通過 netstat -tulpn 驗證是否開啟了 3306

5.用可視化工具 通路sky174的mysql資料庫

大資料平台搭建

6. 為任意主機遠端通路授權

關閉防火牆

systemctl stop firewalld

systemctl status firewalld 檢視狀态是否關閉

用root登入免密

初始化後沒有提示密碼 就進入了 mysql

之後在mysql 裡面再

set password =password(‘你的密碼’);

flush privileges;

重新開機服務

7.為所有主機的root使用者授權

mysql> mysql -u root -p

密碼123456

mysql> use mysql;

mysql> select user,password,host from user;

為所有主機提供遠端通路權限

mysql> GRANT ALL PRIVILEGES ON . TO ‘root’@’%’ IDENTIFIED BY ‘123456’

-> WITH GRANT OPTION;

mysql> flush privileges;

8.再次連接配接

第三步: 安裝ssh 和 ntp 所有節點都需要

參考文檔

https://blog.csdn.net/zhou_0720/article/details/70211146

多節點免密連接配接

ssh-keygen -t rsa -P ‘’

cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

chmod 600 ~/.ssh/authorized_keys

scp ~/.ssh/id_rsa.pub [email protected]:~ 傳遞共匙

從節點主機 root操作

cat ~/id_rsa.pub >> ~/.ssh/authorized_keys

cat ~/.ssh/id_rsa.pub>> ~/.ssh/authorized_keys

在主次節點 産生共匙

cd .ssh

cat authorized_keys 檢視 添加資訊

開啟服務

systemctl start sshd 并不是 systemctl start openssh

大資料平台搭建

ntp 主次節點 時間同步

在主機 和 節點主機 分别安裝 ntp

主節點 vi /etc/ntp.conf

driftfile /var/lib/ntp/drift

restrict 127.0.0.1

restrict -6 ::1

restrict default nomodify notrap

**

server 127.127.1.0 # local clock      連接配接本地
     fudge 127.127.1.0 stratum 10
           

**

includefile /etc/ntp/crypto/pw

keys /etc/ntp/keys

systemctl start ntpd 開啟服務

chkconfig ntpd on 開機就啟動

在節點主機進行 ntpdate -u n1 手動同步

ntpq -p 檢視狀态

大資料平台搭建

第四步:安裝 cloudera manager

大資料平台搭建
大資料平台搭建

解壓之後的目錄結構

大資料平台搭建

uuid會記錄在cm資料庫中,一旦手動修改 ,同一個主機會擁有多個uuid ,主機個數會與實際不符

但是由于節點的檔案是主節點傳遞的,是以最後的處理是

删除節點的 cm_guid 保證與主節點不一樣,不然會報運作錯誤

删除uuid,讓節點自己開啟 agent時,自己産生,與主機不一樣,不然 主機個數可能與實際不一樣

一旦 cm資料庫資訊不正常,可以删除,重新初始化

/opt/cm-5.13.1/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -p123456 --scm-host localhost scm scm scm

vi /opt/cm-5.13.1/etc/cloudera-scm-agent/config.ini 修改

所有節點的配置保持一緻

大資料平台搭建

主節點開啟服務

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

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

netstat -tulpn 檢視運作的程序

netstat -ntlp | grep 7180

【注意】7180 端口 開啟緩慢 大緻2分鐘以上 要等

大資料平台搭建
大資料平台搭建

其它節點開啟服務

scp -r /opt/cm-5.1.3 [email protected]:/opt/

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

大資料平台搭建

每次執行

/opt/cm-5.13.1/etc/init.d/cloudera-scm-agent stop

agent.pid檔案不會自動銷毀

再次開啟

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

agent 死亡但是 pid仍 存在 (尚未能解決)

此時手動 幹掉agent.pid ,發現服務再也啟動不了,一直循環出錯

ps -ef |grep agent

出現這種情況 我會 kill -9 端口

幹掉服務

删除節點上的檔案

大資料平台搭建

重新從 主節點 複制一份(如果有人解決,希望分享一波,感激不盡)

scp -r /opt/cm-5.1.3 [email protected]:/opt/

主次節點服務正常開啟後

ip:7180 進行 cloudera manager服務界面

依次 輸入 admin admin 登入

下一步

大資料平台搭建

激活過程

修改節點的hosts 帶上域名,就像開始介紹的配置,不帶域名,會一直在激活狀态

選擇安裝的 parcels 預設路徑 /opt/cloudera/parcels

進行CDH安裝

因為在安裝過程中需要資料庫操作

需要 引入 mysql-connector-java-5.1.38.jar

分别 複制到 /opt/cm-5.13.1/share/cmf/lib/mysql-connector-java-5.1.38.jar

安裝CDH切記 防火牆必須關閉

其次 安裝 hive 時需要 引入 mysql-connector-java-5.1.38.jar

/opt/cloudera/parcels/CDH-5.13.1-1.cdh5.13.1.p0.2/lib/hive/lib

大資料平台搭建

/usr/share/mysql/mysql-connector-java-5.1.38.jar 必須有jar包,不然不能成功測試連接配接資料庫

1、Activity Monitor: ssd_amon (活動監控)
create database ssd_amon DEFAULT CHARACTER SET utf8;
grant all on ssd_amon.* TO 'amon'@'%' IDENTIFIED BY 'amon123#';
 
2、Hive Metastore: ssd_hive(資料倉庫中繼資料)
create database ssd_hive DEFAULT CHARACTER SET utf8;
grant all on ssd_hive.* TO hive@'%' IDENTIFIED BY 'hive123#';
           
大資料平台搭建

搭建成功,不過記憶體不足

大資料平台搭建

希望有更好建議的可以分享

繼續閱讀