本次在伺服器上安裝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#';
搭建成功,不過記憶體不足
希望有更好建議的可以分享