整體分幾步做
首先下載需要的包,包括系統鏡像文件+虛擬機工具,cloudera manager版本文件,CDH版本文件,flink parcls文件(最后集成flink才需要)
1.安裝鏡像文件
2.配置虛擬機環境包括網絡的打通配置host,關閉防火牆,rzsz(方便上傳下載),rsa機器之間免密操作(用於機器之間無密碼ssh遠程登錄),yum插件的安裝(解決后面安裝CM的依賴問題),mysql的安裝,配置mysql遠程連接,配置CM的SCM庫(提供給CM使用),hive庫(提供給hive使用)
3.cloudera manager(CM)的安裝,和啟動(安裝CM大數據管理工具)
4.啟動CM 檢測CDH parcles,開始安裝大數據套件
5.安裝flink,打parcles,安裝套件
6.查看環境log大多在/var/xx(對應組件)/log,對應的錯誤進行錯誤修復
我的安裝過程
先把這幾個下載下來https://archive.cloudera.com/cm6/6.3.1/redhat6/yum/RPMS/x86_64/,還需要一個linux6系統(這個網上找有很多,CM分linux6和linux7版本,安裝時候要記得別下載錯)
虛擬機readhart系統安裝(readhat6版本)
步驟1.首先需要復制三個包(需要復制分開三分鏡像文件,有過用同一個出問題)
步驟2.打開Oracle VM VirtualBox進行鏡像安裝(選用這個工具安裝無界面版本的linux會比較節約空間,我用的是有界面版本無界面64位沒找到內存也比較足),記得linux要選用64位版本
步驟3.內存分配我為2G,我電腦為32G內存
步驟4.一直下一步(虛擬硬盤容量我都分配為30GB,實際master安裝比較多組件需要多分配一點,這里要記得master作為協同CM工作的節點需要內存分配大點我測試是6個G不卡,2個G會很卡,slave工作節點可以分配2G不卡,當然跑spark這些內存是不夠,spark模式只能用local模式做測試,吃內存大戶測試集群不行),完成后如下圖
步驟5.開始安裝linux
這里選擇跳過
選擇next
選擇第一個
機器的hostname設置(這里寫錯了到linux系統也可以做修改在hostname XX就好了,exit 重進就改了)
設置時區
自此開始安裝linux系統
===========================================到這里安裝完成linux系統開始配置機器環境================================================
步驟1.開始配置網絡環境開始配置網絡,本機外網和內網的打通
這是我和外網打通的配置
在外面linux工具需要選擇橋接網卡,選擇自己在用的網卡
步驟2:配置本機host文件
C:\Windows\System32\drivers\etc\hosts,把linux的hosts ip和hostsname加上去
192.168.1.113 master
192.168.1.114 slave1
192.168.1.115 slave2
找xshell或者CRT連接上虛擬機操作,分別配置好機器的hosts文件,在linux的/etc/hosts
步驟3:對三台linux設置相互免密訪問過程(為了方便,實際上生產不會完全做免密操作)
ssh-keygen -t rsa生成密碼文件目錄在~/.ssh下
ssh-copy-id -i ~/.ssh/id_rsa.pub slave2通過這個命令,此時slave1到slave2就免除密碼
用同樣方法對master slave1 slave2做相互免密操作
步驟4:開始安裝rzsz文件方便需要文件的上傳,下載完rzsz工具第一次通過ftp工具上載文件
開始安裝rzsz
步驟5:開始安裝mysql,我使用rpm包安裝模式,也可以用tar和yum。(如果機器有網絡強烈推介用yum,因為yum在安裝插件的時候可以保證mysql各個包版本的一直比如client,server,mysql-python)
yum -y remove mysql-libs-*(redhat6默認會包含這個包需要清除不然mysqlserver無法安裝上去)
https://downloads.mysql.com/archives/community/(自己選擇對應的版本下載)
-rw-r--r--. 1 root root 19124980 Jul 8 15:00 MySQL-client-5.6.42-1.el6.x86_64.rpm
-rw-r--r--. 1 root root 57600260 Jul 8 14:45 MySQL-server-5.6.42-1.el6.x86_64.rpm
查看mysql首次登陸的隨機密碼
[root@slave1 tao]# vi /root/.mysql_secret
復制默認的密碼進入首次mysql
# The random password set for the root user at Wed Jul 8 15:24:09 2020 (local time): tsHPJhx8gNC34ucX
設置mysql初始密碼
set password=password('123456');(第一次登陸設置密碼,到此mysql安裝完畢)
mysql> show databases;
+--------------------+
| Database |
+--------------------+
| information_schema |
| mysql |
| performance_schema |
| test |
+--------------------+
4 rows in set (0.00 sec)
關閉linux自帶防火牆
chkconfig iptables off
SELINUX關閉 setenforce 0
vi /etc/selinux/config ( SELINUX=disabled )
步驟6:安裝oracle jdk
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
安裝MySQL的jdbc驅動
下載MySQL的jdbc驅動,將驅動改名為mysql-connector-java.jar,然后三個節點將驅動復制到/usr/share/java目錄下(沒有該目錄則自己創建,所有機器上都要裝驅動)。
進入mysql創建SCM庫:
CREATE DATABASE scm DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
GRANT ALL ON scm.* TO 'scm'@'%' IDENTIFIED BY '密碼';
=======================================開始安裝cloudera manager==================================================
步驟1:下載CM6.3文件(這里要注意linux版本我選用的是6的版本)
步驟1:初始化SCM庫
出現此錯誤是因為沒有放mysql的驅動lib(此處放lib /opt/cloudera/cm/lib/mysql-connector-java.jar)
完成cloudera manager SCM庫的初始化
步驟2:安裝cloudera-server服務
rpm -ivh cloudera-manager-server-6.3.1-1466458.el6.x86_64.rpm
cd /etc/cloudera-scm-server
service cloudera-scm-server status/service cloudera-scm-server status
步驟3:安裝 cloudera-manager-agent 服務
[root@master clouderaInstall]# rpm -ivh cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm
warning: cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm: Header V3 RSA/SHA256 Signature, key ID b0b19c9f: NOKEY
error: Failed dependencies:
/lib/lsb/init-functions is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
httpd is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
mod_ssl is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
openssl-devel is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
python-psycopg2 is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
MySQL-python is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64
缺包錯誤
接下來配置yum(但是內網不能用yum這個測了1挺久找包太累放棄了。最好還是公司內部自己有個yum服務器啊)
把yum配置成國內的yum源
vim /etc/yum.repos.d/CentOS-Base.repo
[base]
name=CentOS-$releasever - Base
baseurl=http://mirrors.163.com/centos/6/os/$basearch/
gpgcheck=1
gpgkey=http://mirrors.163.com/centos/RPM-GPG-KEY-CentOS-6
yum clean all
yum list
然后就可以用yum把缺少插件安裝上了
rpm -ivh oracle-j2sdk1.8-1.8.0+update181-1.x86_64.rpm
yum install -y httpd.x86_64
yum install -y mod_ssl.x86_64
yum install -y openssl-devel.x86_64
yum install -y MySQL-python.x86_64
yum install -y python-psycopg2.x86_64
yum install -y redhat-lsb.x86_64
yum list | grep xx 查看包
yum install -y xxx 安裝包
rpm -ivh cloudera-manager-agent-6.3.1-1466458.el6.x86_64.rpm
service cloudera-scm-agent start
注意如果前面安裝了和yum不同版本的mysql,需要安裝和mysql匹配的MySQL-python
MySQL-python is needed by cloudera-manager-agent-6.3.1-1466458.el6.x86_64 安裝這個包用yum出現沖突,懷疑是包不兼容。於是下載新版本的MySQL-python包,但是安裝過程還是出現報錯缺包,
如果mysql-python安裝不上也可能這個MySQL-shared-compat沒安裝上
三台機器都安裝完cloudera-scm-agent后啟動服務
service cloudera-scm-agent status/service cloudera-scm-agent status(這個命令可以看agent的狀態)
此時可以訪問 master:7180 (記得關閉防火牆)
開始安裝CDH組件
如果機器全部被CM發現說明agent已經生效,下面就不用讓你讓新機器安裝agent
選擇你放到機器上的parcel(你這里如果在/opt/cloudera/parcel-repo預先放好文件,CM檢測到就不用從網上再下載會省事很多,直接進行分配安裝)
-rw-r--r--. 1 root root 2095098849 Jul 9 11:37 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel
-rw-r--r--. 1 root root 40 Jul 10 09:59 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha
-rw-r--r--. 1 root root 64 Jul 10 10:05 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.sha256
-rw-r-----. 1 cloudera-scm cloudera-scm 80110 Jul 10 12:37 CDH-6.3.2-1.cdh6.3.2.p0.1605554-el6.parcel.torrent
在目錄下先配置好安裝文件,進行分配parcles時候會顯示已經安裝完
開始進行分配安裝
數據庫權限問題,需要設置數據庫
先把主要組件添加,添加hdfs
添加cloudera manager的監控
一直下一步繼續
此處記得先啟動cm server(service cloudera-scm-server start)服務再啟動全部機器的cm agent(service cloudera-scm-agent start)服務不然會有時候出現檢測不到(sudo -uhdfs hdfs dfsadmin -safemode leave離開安全模式)
添加在zookeeper服務,一直下一步完成
開始安裝yarn,選擇依賴zk
安裝hive,需要配置元數據庫
這里是mysql默認無遠程訪問權限造成
用root進入mysql創建個新用戶,並進行授權庫和遠程操作權限(如果不行多百度試試,以前安裝過5.X從來用root用戶做元數據庫,6.x好像必須新建個用戶了不然一直連接不上)
CREATE USER 'hive'@'%' IDENTIFIED BY '123456';
create database hive;
#GRANT ALL ON *.* TO 'hive'@'%';
GRANT ALL ON *.* TO 'hive'@'%' IDENTIFIED BY '123456';
flush privileges;
直接一直下一步直到安裝完成.
節點會出現告警大多是由於內存交換問題,或者虛擬機磁盤內存閾值造成,自己測試調試學習可以無視。
==============================開始安裝flink的parcles==========================================
下載地址:https://archive.cloudera.com/csa/1.0.0.0/csd/ 下載flink jar
https://archive.cloudera.com/csa/1.0.0.0/parcels/ 下載flink 文件
步驟1:將這兩個flink的parcles和sha rz到之前放cdh文件的目錄/opt/cloudera/parcel-rep
mv FLINK-1.9.0-csa1.0.0.0-cdh6.3.0.jar /opt/cloudera/csd/(記得要把jar包放到/opt/cloudera/csd/下,cloudera manager才能繼承flink工具操作,不然界面看不到的)
步驟2:進入parcles進行分配文件和安裝
步驟3:找不到文件的情況下可以點擊檢測進行掃描文件,點擊分配開始安裝
點擊激活
開始添加flink服務
一直下一步直到安裝完成
自此全部安裝完成,集群由於使用虛擬機其實還有很多調節的地方,比如時間同步問題。磁盤剩余多少告警,CM監控還有點問題。都屬於細節問題可以網上查詢解決。默認yarn和hive也需要調節任務並行問題等。