1. 程式人生 > >centos7 cdh manager5.14.2叢集安裝(完全離線)

centos7 cdh manager5.14.2叢集安裝(完全離線)

最近因工作需要在一個完全離線的模式下安裝一個CDH叢集,在安裝的過程中遇到許多問題,在此做個簡單的記錄。

首先在安裝之前有幾點問題需要注意

1建議使用root使用者進行安裝,因為在安裝過程中CDH預設安裝的時候,會建立各種使用者,hdfs,hive,spark,impala,sqoop等等的使用者,但往往我們在做一些操作的時候往往許可權不夠,導致各種各樣的問題。我在嘗試使用非root使用者安裝過程中沒有成功。

2在使用root使用者安裝的過程中其實ssh免密並不是必須的。(我得到的許可權只能使用sudo -s切換到root使用者,實際測試沒有完全切換到root使用者環境不能配置ssh免密,但是並不影響後續正常執行)但是在安裝過程中有些步驟有需要手動分發包的情況,只要能把包分發過去就行

3安裝前需要配置本地ntp時鐘同步

以下是實際安裝步驟:

一、在主節點離線安裝mysql

直接去官網下載mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar包進行安裝:https://dev.mysql.com/downoads/mysql/

特別說明,我開始下載的是最新的mysql-8.0.11但是發現cdh似乎並不相容最新的mysql會報錯,不得不重新安裝mysql-5.7.21。

1、首先刪除系統中存在的mysql相關依賴

使用以下查詢系統是否有相關依賴

rpm -qa | grep mariadb-libs

rpm -qa | grep  mysql

使用以下相關命令刪除相關依賴

rpm -e mariadb-libs-1:5.5.56-2.el7.x86_64 --nodeps

2、解壓mysql-5.7.21-1.el7.x86_64.rpm-bundle.tar,裡邊有多個rpm包,直接依次安裝,具體如下

rpm -ivh mysql-community-common-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-devel-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-libs-compat-5.7.21-1.el7.x86_64.rpm
rpm -ivh mysql-community-client-5.7.21-1.el7.x86_64.rpm

rpm -ivh mysql-community-server-5.7.21-1.el7.x86_64.rpm

3、啟動服務修改密碼

1)啟動服務

2)service mysqld start

3)查詢初始密碼

cat /var/log/mysqld.log |grep "passw"

如果無法查詢到密碼,也可以使用以下方式修改初始密碼:

vim /etc/my.cnf

接下來加入一句程式碼即可空密碼登入mysql:

# Disabling symbolic-links is recommended to prevent assorted security risks
skip-grant-tables     #新增這句話,這時候登入mysql就不需要密碼
symbolic-links=0

service mysqld restart

4)修改密碼和設定遠端登入

set global validate_password_policy=0;//修改密碼安全策略

set global validate_password_length=1;//修改密碼長度限制

ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

FLUSH PRIVILEGES;

建立後續cdh manager可能會使用到的資料庫,具體需要建立哪些和你選擇安裝的元件有關

#hive
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#activity monitor
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#Oozie
create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
#hue

create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

二、正式開始叢集的安裝

1、下載相關包

manifest.json(該檔案是叢集版本驗證檔案,要和叢集的實際版本一致)

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 

從http://archive.cloudera.com/cm5/cm/5下載cdh manager

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

2、安裝

首先確定一個安裝的主節點,將上述包都傳到該節點下。

1).首先將cloudera-manager-centos7-cm5.14.2_x86_64.tar.gz移動到/opt目錄下,解壓會得到cloudera 和cm-5.14.2 兩個目錄。

2).在主節點初始化CM5的資料庫

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

3).修改/opt/cm-5.14.2/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名

4).上傳mysql-connector-java-8.0.11.jar (從官網上驅動該驅動向前相容,所以最新的驅動包也是可以用的)MySQL的驅動包到 /opt/cm-5.14.2/share/cmf/lib

後續初始化啟動hive和oozie的時候發現會報錯,排查之後發現是缺少mysql驅動,解決方式是:

cp /opt/cm-5.14.2/share/cmf/lib/mysql-connector-java-8.0.11.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/hive/lib
cp /opt/cm-5.14.2/share/cmf/lib/mysql-connector-java-8.0.11.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/lib
cp /opt/cm-5.14.2/share/cmf/lib/mysql-connector-java-8.0.11.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/libserver

cp /opt/cm-5.14.2/share/cmf/lib/mysql-connector-java-8.0.11.jar /opt/cloudera/parcels/CDH-5.14.2-1.cdh5.14.2.p0.3/lib/oozie/libtools

所以如果不怕多餘,可以提前將mysql驅動jar包複製到相關目錄下,該操作非必須

5).分發包

1>將/opc/cm-5.14.2目錄打包分發到所有子節點上的/opt目錄下

2>將從官網下載的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移動到/opt/cloudera/parcel-repo目錄下

6).在所有節點建立cloudera-scm使用者

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

7).啟動cdh manager

在主節點啟動cloudera-scm-server:

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

在所有節點啟動cloudera-scm-agent 

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

該步驟可能會出現以下問題:

1、無法請求manifest.json

java.util.concurrent.ExecutionException:java.net.ConnectException:Connectionrefused to https://archive.cloudera.com/cdh5/parcels/5.14/manifest.json

        at com.ning.http.client.providers.netty.NettyResponseFuture.abort(NettyResponseFuture.java:297)
        at com.ning.http.client.providers.netty.NettyConnectListener.operationComplete(NettyConnectListener.java:104)
        at org.jboss.netty.channel.DefaultChannelFuture.notifyListener(DefaultChannelFuture.java:399)

        at org.jboss.netty.channel.DefaultChannelFuture.notifyListeners(DefaultChannelFuture.java:390)

該問題是因為我們的叢集處於和外網隔絕的情況下,無法訪問外網的該驗證檔案。我們可以在本地模擬該網址。

1) httpd安裝 

yum install httpd 
2) 啟動httpd服務 
service httpd start 
chkconfig httpd on 
3) 配置manifest.json的路徑 
為/var/www/html授權 
chmod 775 /var/www/html/ 
在/var/www/html/下建立cdh5/parcels/5.14/ 
cd /var/www/html 
mkdir -p cdh5/parcels/5.14/ 
cd cdh5/parcels/5.14/ 
ln /opt/cloudera/parcel-repo/manifest.json manifest.json 
4)修改/etc/hosts檔案 
echo “127.0.0.1 archive.cloudera.com” >>/etc/hosts 
配置完後測試一下 
curl archive.cloudera.com/cdh5/parcels/5.14/manifest.json 

如果打印出manifest.json檔案的內容,那就是配置好了,就可以重啟CDH了

2、jdk一直報錯,無法查詢jdk的位置。

為了解決該問題我做了以下嘗試

1)/opt/cm-5.14.2/etc/default/cloudera-scm-server中追加JAVA_HOME

2)在環境變數中追加JAVA_HOME並設定PAHT

3)如果該問題還無法解決,我當時將jdk移動到cdh manager查詢的預設路徑/usr/java/jdk1.8.0_171

3、一些莫名其妙的許可權問題,可能需要手動建立以下目錄

mkdir -p /var/log/cloudera-scm-headlamp
mkdir -p /var/log/cloudera-scm-firehose
mkdir -p /var/log/cloudera-scm-alertpublisher
mkdir -p /var/log/cloudera-scm-eventserver
mkdir -p /var/lib/cloudera-scm-headlamp
mkdir -p /var/lib/cloudera-scm-firehose
mkdir -p /var/lib/cloudera-scm-alertpublisher
mkdir -p /var/lib/cloudera-scm-eventserver
mkdir -p /var/lib/cloudera-scm-server
mkdir -p /var/lib/cloudera-host-monitor
mkdir -p /var/lib/cloudera-service-monitor
mkdir -p /var/log/hive

chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-headlamp
chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-firehose
chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-alertpublisher
chown -R cloudera-scm:cloudera-scm /var/log/cloudera-scm-eventserver
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-headlamp
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-firehose
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-alertpublisher
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-eventserver
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server
chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-host-monitor

chown -R cloudera-scm:cloudera-scm /var/lib/cloudera-service-monitor

如果經歷以上步驟之後cdh manager正常啟動,則可以訪問http://主機IP:7180/cmf/home對叢集元件進行配置和啟動

參考文章:

CentOS7離線安裝MySQL:https://www.cnblogs.com/Orange42/p/8432185.html

離線安裝Cloudera Manager 5和CDH5(最新版5.1.3) 完全教程:https://www.cnblogs.com/jasondan/p/4011153.html

相關推薦

centos7 cdh manager5.14.2叢集安裝完全離線

最近因工作需要在一個完全離線的模式下安裝一個CDH叢集,在安裝的過程中遇到許多問題,在此做個簡單的記錄。 首先在安裝之前有幾點問題需要注意 1建議使用root使用者進行安裝,因為在安裝過程中CDH預設安裝的時候,會建立各種使用者,hdfs,hive,spark,impal

Hadoop2.5.2叢集部署完全分散式

環境介紹 硬體環境 CPU 4 MEM 4G 磁碟 60G  軟體環境 OS:centos6.5版本 64位 Hadoop:hadoop2.5.2 64位 JDK: JDK 1.8.0_91 主機配

【Spark】Ubuntu16.04 spark 叢集安裝 standalone模式

一、前言 目前 Apache Spark 支援三種分散式部署方式,分別是: standalone spark on mesos spark on YARN 其中,第一種類似於MapReduce 1.0所採用的模式,內部實現了容錯性和資源管理,後兩種則是未來發

centos7安裝docker14.2跨主機網絡-overlay

活性 用戶 driver 試驗 mach 實踐 point ogr drive 為支持容器跨主機通信,Docker提供了overlay driver,使用戶可以創建基於VxLAN的overlay網絡。VxLAN可將二層數據封裝到UDP進行傳輸,VxLAN提供與VLAN相同的

hadoop-2.6.0.tar.gz的叢集搭建3節點不含zookeeper叢集安裝

前言 關於幾個疑問和幾處心得! a.用NAT,還是橋接,還是only-host模式? b.用static的ip,還是dhcp的? 答:static c.別認為快照和克隆不重要,小技巧,比別人靈活用,會很節省時間和大大減少錯誤。 d.重用起來指令碼語言的程式設計,如paython或s

redis叢集安裝2臺機器

準備:阿里雲,2臺機器 要求:通過2臺機器模擬6個節點,創建出3個master、3個salve 安裝過程 一:下載並解壓 cd /data/software wget http://download.redis.io/releases/redis-3.2.4.tar.gz

CDH-5.10.2叢集的搭建【史上最全,不全不要錢】已經實現,但是非預期效果,可能是由於記憶體不足

說在前面的話:本文適合電腦記憶體16G以上的,安裝的是純正的CDH,不是三個節點的,純正四節點。建議配置主節點3G記憶體,從節點1.5G記憶體,硬碟大小建議單節點配置20G以上,CDH版本比apache吃記憶體和硬碟,請準備好再安裝 如果你是新手學習,強烈!建議不要瞎改

大數據平臺CDH5.14.2安裝配置

CDH hadoop cdh5.14.2 大數據CDH 大數據平臺CDH5.14.2 的安裝配置

lasticsearch -2.3.x head插件安裝windows系統

plugin 安裝 host all ear windows cal localhost local 1.進入命令行: home鍵+R 命令: > cd \elasticsearch根目錄\bin\ > plugin install mobz/elas

Proxmox5.2叢集安裝Ceph

本人低配五臺機器,用來學習Proxmox,首先把這幾臺電腦叢集起來,在每臺機器上同步時間:用這條命令:#vi /etc/systemd/timesyncd.conf開啟timesyncd.conf檔案,在檔案里加入這條語句 [Time] Servers=ntp1.aliyun.com ntp2.ali

Oracle10.2 補丁安裝轉載略有修改

1.修改p6880880_102000_Linux-x86-64.zip檔案許可權,   chown oracle:oinstall p6880880_102000_Linux-x86-64.zip   2.用oracle使用者將p6880880_102000_Linux-x86

hadoop2.7.3在centos7上部署安裝單機版

hadoop2.7.3在centos7上部署安裝(單機版)   (1)hadoop2.7.3下載 (前提:先安裝java環境) 下載地址:http://hadoop.apache.org/releases.html (注意是binary檔案,source那個是原始

Spark的低成本安裝win and 三節點叢集安裝linux

我這裡給出兩種安裝spark的方式,一種是在win上安裝另一種就是在linux叢集上安裝,前一種安裝方式是一種低成本的安裝沒有shell介面,非常適合入過門的小白練習自己對spark的業務處理能力,而且這種安裝方式能對電腦省去一大筆的cpu所以個人比較喜歡,第二種安裝方式就是和之前安裝hadoo

redis3.2.2 安裝linux下

                                    redis3.2.2 安裝  

CentOS6.5下安裝Hadoop-2.7.3圖解教程

17. node 內容 apr ddbd 忽略 passwd frame shuffle 註:圖片如果損壞,點擊文章鏈接:https://www.toutiao.com/i6627365258090512909/ 安裝好虛擬機(3個節點) YUM源已安裝好、系統版本Ce

ProxmoxVE V5.2叢集安裝圖解

以前找了一臺物理伺服器直接安裝了一個proxmox VE 環境(VE是虛擬化環境的意思),後續又看了官方的admin文件,對整個系統架構有了一定的瞭解,接下來,準備好好研究一下具體能夠落在生產環境上的系統設計。官方文件可以在官網下載,也可以在安裝pve之後在web介面上直接檢視或者下載,如下圖: 設計思

centos7 hadoop HA高可用叢集搭建 hadoop2.7 zookeeper3.4

目錄 七、總結 上篇文章寫了如何用ssh免密登入,當然這些操作都是在hadoop賬號上的操作,包括這篇文章也是一樣 三臺主機 一、伺服器環境 主機名 IP 使用者名稱 密碼 安裝目錄 node1 192.168.31.

zookeeper 叢集安裝單點與分散式成功安裝摘錄

ZooKeeper是一個分散式開源框架,提供了協調分散式應用的基本服務,它向外部應用暴露一組通用服務——分散式同步(Distributed Synchronization)、命名服務(Naming Service)、叢集維護(Group Maintenance)等,簡

Redis-3.2.0叢集配置redis cluster

目錄 目錄 1 1. 前言 2 1. 前言 2. 部署計劃 依據官網介紹,部署6個redis節點,為3主3從。3臺物理機每臺都建立2個redis節點: 服務埠 IP地址 配置

rabbitMQ叢集安裝單機器多例項

 一、緣由        因為資源的有限等原因,可能無法使用多個機器來搭建叢集,所以需要使用在一臺機器上搭建一個多例項rabbitMQ服務節點。  二、操作    1、前期準備