CDH 離線安裝部署

CDH相關介紹: html

參考連接:java

 https://blog.csdn.net/u013061459/article/details/73368929 mysql

https://www.cnblogs.com/raphael5200/p/5293960.html linux


爲了構建一個以數據爲驅動的業務場景,咱們須要一個強大的管理工具去統一併安全地管理咱們的業務數據,Cloudera作爲一個強大的數據中心管理工具爲此孕育而生。Cloudera不光提供了本身衍化從新封裝的市場領先並100%開源的商業化Apache Hadoop發行版本(CDH, Cloudera’s Distribution including Apache Hadoop)和相關的組件,其中包括了各種安全高效的企業級數據管理工具,如Hive, HBase,Oozie, Zookeeper等。 Hadoop是Apache(開源web服務器軟件基金會)下的大數據開源項目,許多商業公司會在Apache Hadoop的基礎上從新開發成商業版本,Cloudera公司就是其中之一,最近在維護的兩個Hadoop版本分別是CDH4和CDH5。Hadoop使用分佈式的思想存儲,計算和分析數據,它容許多個數據分析計算任務同時做用在同一個數據塊上並在集羣上進行分佈式計算,以此來進行超大規模數據的處理。Hadoop是大數據處理框架的鼻祖之一,同時Cloudera公司的Hadoop版本CDH也是目前使用最普遍的Hadoop商業版本。從普遍意義來講,CDH是Cloudera發佈的一個本身封裝的商業版軟件發行包,裏面不只包含了Cloudera的商業版Hadoop,同時CDH中也包含了各種經常使用的開源數據處理存儲框架,如Spark,Hive,HBase等。web

Cloudera做爲一個強大的商業版數據中心管理工具,提供了各類可以快速穩定運行的數據計算框架,如Apache Spark;使用Apache Impala作爲對HDFS,HBase的高性能SQL查詢引擎;也帶了Hive數據倉庫工具幫助用戶分析數據; 用戶也能用Cloudera管理安裝HBase分佈式列式NoSQL數據庫;Cloudera還包含了原生的Hadoop搜索引擎以及Cloudera Navigator Optimizer去對Hadoop上的計算任務進行一個可視化的協調優化,提升運行效率;同時Cloudera中提供的各類組件能讓用戶在一個可視化的UI界面中方便地管理,配置和監控Hadoop以及其它全部相關組件,並有必定的容錯容災處理;Cloudera做爲一個普遍使用的商業版數據中心管理工具更是對數據的安全決不妥協!sql


CDH能解決哪些問題?shell

  •   • 1000臺服務器的集羣,最少要花費多長時間來搭建好Hadoop集羣,包括Hive、Hbase、Flume、Kafka、Spark等等數據庫

  •   • 只給你一天時間,完成以上工做?json

  •   • 對於以上集羣進行hadoop版本升級,你會選擇什麼升級方案,最少要花費多長時間?vim

  •   • 新版本的Hadoop,與Hive、Hbase、Flume、Kafka、Spark等等兼容?



CDH安裝環境:

https://www.cloudera.com/documentation/enterprise/release-notes/topics/rn_consolidated_pcm.html#concept_ap1_q2g_4cb


CDH安裝

CDH安裝分兩部分,Cloudera Manager(CM)安裝和CDH的安裝。CM包含server端和agent端,一般先安裝CM,在經過WEB UI的管理控制檯安裝部署CDH。

對於CDH的安裝官方提供了三種安裝方式:

一、在線安裝 :https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_non_production.html

二、rpm/yum 安裝 : https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_install_path_b.html

三、tar包安裝:https://www.cloudera.com/documentation/enterprise/latest/topics/cm_ig_install_path_c.html


CDH離線安裝過程:這裏以tar包的方式安裝


環境:

系統:CentOS7.2 

JDK版本:1.8

CDH版本:5.14.0


角色:

hadoop01:主節點,須要安裝CM-Server,MySQL

hadoop02:客戶端,安裝CM-Client

hadoop03:客戶端,安裝CM-Client


安裝步驟:

一、下載CM安裝包和CDH安裝包:

http://archive.cloudera.com/cm5/cm/5/

下載:

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


https://archive.cloudera.com/cdh5/parcels/5.10.0/

下載:

  • 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


二、全部節點安裝JDK1.8,並設置JAVA_HOME 環境變量,過程省略


三、全部節點時間同步


四、全部節點修改主機名,例如hadoop01 這樣修改

vim /etc/sysconfig/network

NETWORKING=yes
HOSTNAME=hadoop01


五、全部修改/etc/hosts文件,並關閉防火牆和SELinux

192.168.131.165 hadoop01
192.168.131.166 hadoop02
192.168.131.168 hadoop03


六、建立hadoop用戶,生成祕鑰對,使用全部節點之間可以面密碼登陸

生產環境有時候不容許root帳戶登陸,因此最好是建立一個專門的帳戶用來節點直接互相鏈接,而且該用戶要有sudo權限

adduser hadoop
passwd hadoop



ssh-copy-id -i .ssh/id_rsa.pub HADOOP01
ssh-copy-id -i .ssh/id_rsa.pub HADOOP02
ssh-copy-id -i .ssh/id_rsa.pub HADOOP03

執行上面命令後,每一個節點的hadoop用戶下會建立.ssh目錄,並生成authorized_keys文件


#將祕鑰對拷貝到從節點

scp id_rsa id_rsa.pub  HADOOP02:~/.ssh
scp id_rsa id_rsa.pub  HADOOP03:~/.ssh


保證每一個節點的hadoop家目錄下的.ssh目錄下,都有如下幾個文件

# ll /home/hadoop/.ssh/
總用量 16
-rw------- 1 hadoop hadoop  397 5月  18 10:57 authorized_keys
-rw------- 1 hadoop hadoop 1675 5月  18 10:53 id_rsa
-rw-r--r-- 1 hadoop hadoop  397 5月  18 10:53 id_rsa.pub
-rw-r--r-- 1 hadoop hadoop 1206 5月  18 10:59 known_hosts


#hadoop用戶添加sudo權限

邊界/etc/sudoers

追加一行

hadoop ALL=(root)NOPASSWD:ALL


#hadoop用戶下,執行sudo su - root切換到root用戶,能過沒有提示輸入密碼則表示正常



七、全部節點將cloudera-manager的tar包解壓縮到/opt目錄

tar zxf cloudera-manager-el6-cm5.10.0_x86_64.tar.gz -C /opt


八、全部節點建立用戶

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

##下面這一步網上看到的,但不清楚有什麼用,好像是使用單用戶模式用的到,我在後面的CM-Server控制檯中沒有啓用單用戶模式
echo USER=\"cloudera-scm\" >> /etc/default/cloudera-scm-agent



九、全部節點修改cloudera-scm-agent 配置,將server_host設置爲主節點的主機名

cd /opt/cloudera-manager/cm-5.14.0/etc/cloudera-scm-agent
vim  config.ini

設置server_host=hadoop01 (注意,全部節點都要改)


全部節點設置/proc/sys/vm/swappiness 設置爲最大值 0。當前設置爲 60,

echo 0 > /proc/sys/vm/swappiness

上面只是臨時的修改,重啓後失效,下面是永久修改

編輯/etc/sysctl.conf文件

設置vm.swappiness=0,並重啓服務器


全部主機禁用透明壓縮,參考

https://www.linuxidc.com/Linux/2016-11/137515.htm


echo never > /sys/kernel/mm/transparent_hugepage/defrag
echo never > /sys/kernel/mm/transparent_hugepage/enabled


上面只是臨時修改,若是要永久修改,則編輯/etc/rc.d/rc.local,追加如下內容

if test -f /sys/kernel/mm/transparent_hugepage/enabled; then
    echo never > /sys/kernel/mm/transparent_hugepage/enabled
fi

if test -f /sys/kernel/mm/transparent_hugepage/defrag; then
    echo never > /sys/kernel/mm/transparent_hugepage/defrag
fi


保存退出,而後賦予rc.local文件執行權限:

[root@localhost ~]# chmod +x /etc/rc.d/rc.local

最後重啓系統,之後再檢查THP應該就是被禁用了




十、主節點配置

a、安裝依賴包

yum -y install bind-utils chkconfig cyrus-sasl-gssapi cyrus-sasl-plain fuse fuse-libs gcc httpd
yum -y install libxslt mod_ssl openssl openssl-devel perl portmap psmisc  sqlite swig zlib


b、安裝mysql並啓動服務


c、設置mysql帳戶的登陸密碼

mysqladmin -u root password '123456'


##建立安裝CDH組件時須要的庫

mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)
mysql> create database reports DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
Query OK, 1 row affected (0.00 sec)

#設置root受權訪問以上全部的數據庫:

#受權root用戶在主節點擁有全部數據庫的訪問權限

grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;


d、下載 mysql 驅動包

cd /opt/cloudera-manager/cm-5.10.0/share/cmf/lib
wget http://maven.aliyun.com/nexus/service/local/repositories/hongkong-nexus/content/Mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar


e、建立庫

爲CM建立數據庫

格式:

scm_prepare_database.sh mysql cm -h <hostName> -u<username>  -p<password> --scm-host <hostName>  scm scm scm

對應於:數據庫類型  數據庫 服務器 用戶名 密碼  –scm-host  Cloudera_Manager_Server 所在節點……


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

  JAVA_HOME=/usr/java/jdk1.8.0_151
Verifying that we can write to /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-server
Creating SCM configuration file in /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-server
Executing:  /usr/java/jdk1.8.0_151/bin/java -cp /usr/share/java/mysql-connector-java.jar:/usr/share/java/oracle-connector-java.jar:/opt/cloudera-manager/cm-5.10.0/share/cmf/schema/../lib/* com.cloudera.enterprise.dbutil.DbCommandExecutor /opt/cloudera-manager/cm-5.10.0/etc/cloudera-scm-server/db.properties com.cloudera.cmf.db.
[                          main] DbCommandExecutor              INFO  Successfully connected to database.
All done, your SCM database is configured correctly!

出現上面的提示表示成功,經測試將locaohost換成hadoop01會報錯,提示沒有權限,好像用localhost也沒有什麼問題。


f、主節點上建立/opt/cloudera/parcel-repo目錄

mkdir -p /opt/cloudera/parcel-repo

將下面三個文件拷貝到該目錄

  • CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel

  • manifest.json

  • CDH-5.14.2-1.cdh5.14.2.p0.3-el7.parcel.sha

注意:將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


修改/opt/cloudera/parcel-repo 文件權限

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


g、建立日誌目錄

sudo mkdir -p /var/log/cloudera-scm-headlamp
sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-headlamp
sudo mkdir -p /var/log/cloudera-scm-firehose
sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-firehose
sudo mkdir -p /var/log/cloudera-scm-alertpublisher
sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-alertpublisher
sudo mkdir -p /var/log/cloudera-scm-eventserver
sudo chown cloudera-scm:cloudera-scm /var/log/cloudera-scm-eventserver
sudo mkdir -p /var/lib/cloudera-scm-headlamp
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-headlamp
sudo mkdir -p /var/lib/cloudera-scm-firehose
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-firehose
sudo mkdir -p /var/lib/cloudera-scm-alertpublisher
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-alertpublisher
sudo mkdir -p /var/lib/cloudera-scm-eventserver
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-eventserver
sudo mkdir -p /var/lib/cloudera-scm-server
sudo chown cloudera-scm:cloudera-scm /var/lib/cloudera-scm-server



h、在主節點上啓動CM-Manager服務和CM-Agent服務,並在全部從節點上啓動CM-Agent服務


/opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-server  start
/opt/cloudera-manager/cm-5.10.0/etc/init.d/cloudera-scm-agent  start


十一、CM控制檯配置

登陸http://hadoop01:7180

帳號密碼都是admin


image.png


image.png

image.png

image.png


image.png




配置集羣的管理帳戶,這個帳戶是前面第6步建立的,要求有sudo權限

image.png

我這裏集羣中只安裝了HDFS和zookeeper服務,若是還須要安裝其餘服務,能夠在集羣中添加

image.png

相關文章
相關標籤/搜索