1. 程式人生 > >centos 6.5 cms 5.3.6 cdh 5.3.6 安裝

centos 6.5 cms 5.3.6 cdh 5.3.6 安裝

Hadoop版本:

Apache:開源免費

CDH: Cloudera

只支援64位作業系統

HDP: Hortonworks

企業版本:

apache   ->   cdh    |   hdp

面試題:

apachecdh的比較??為什麼選擇了cdh???

需要安裝元件介紹:

Zk

Hdfs

Yarn

叢集種類和規模介紹:

開發:(大資料中少)

測試:

生產:

安裝前環境準備:

安裝cm cdh的方法大概有如下

1、tar

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

http://archive.cloudera.com/cdh5/cdh/5/

2、rpm

    http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/

http://archive.cloudera.com/cdh5/redhat/6/x86_64/cdh/

3parcels

cdh 4.1.2 以後才有的

官方推薦的安裝方式

Cloudera Manager進行安裝

環境介紹:

Centos 6.5

hadoop01 192.168.216.111

hadoop02 192.168.216.112

hadoop03 192.168.216.113

Selinux:(不關閉安裝cm第一步就出錯)

禁用selinux,vi /etc/selinux/config,按照圖示

修改:(重啟生效)

 

檢視selinux 的狀態

/usr/sbin/sestatus -v

disabled 即關閉狀態

 

如果沒關閉,則用如下命令關閉,不用重啟機器。實在不行重啟機器。

setenforce 0

[[email protected] ~]# /usr/sbin/sestatus -v

SELinux status:                 disabled

解除安裝自帶open JDK

$ sudo rpm -qa|grep java

$ sudo rpm -e --nodeps *.jdk

能出來如下即可:怎麼安裝都可以

[[email protected]

~]# which java

/usr/local/jdk1.7.0_79/bin/java

[[email protected] ~]# java -version

java version "1.7.0_79"

Java(TM) SE Runtime Environment (build 1.7.0_79-b15)

Java HotSpot(TM) 64-Bit Server VM (build 24.79-b02, mixed mode)

相互設定ssh免密登陸(所有節點):

[[email protected] ~]# ssh-keygen -t rsa     一路回車

[[email protected] ~]# ssh-copy-id hadoop01

[[email protected] ~]# ssh-copy-id hadoop02

[[email protected] ~]# ssh-copy-id hadoop03

[[email protected] ~]# ssh-keygen -t rsa

[[email protected] ~]# ssh-copy-id hadoop01

[[email protected] ~]# ssh-copy-id hadoop02

[[email protected] ~]# ssh-copy-id hadoop03

[[email protected] ~]# ssh-keygen -t rsa

[[email protected] ~]# ssh-copy-id hadoop01

[[email protected] ~]# ssh-copy-id hadoop02

[[email protected] ~]# ssh-copy-id hadoop03

安裝配置MySQL(主節點)

通過yum install mysql-server安裝mysql伺服器(怎麼安裝都行)chkconfig mysqld on設定開機啟動,並service mysql start啟動mysql服務,並根據提示設定root的初試密碼:mysqladmin -u root password 'root'

mysql -uroot -pxxxx進入mysql命令列,建立以下資料庫:

#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;

#授權root使用者在主節點擁有所有資料庫的訪問許可權

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

flush privileges;

ntpd 安裝:(保證每個節點時間同步)

安裝這個元件主要是用來做時間同步(每個節點)

叢集中所有主機必須保持時間同步,如果時間相差較大會引起各種問題。 具體思路如下:

master節點作為ntp伺服器與外界對時中心同步時間,隨後對所有datanode節點提供時間同步服務。

所有datanode節點以master節點為基礎同步時間。

所有節點安裝相關元件:yum install ntp。完成後,所有配置開機啟動:chkconfig ntpd on,檢查是否設定成功:chkconfig --list ntpd其中2-5on狀態就代表成功。

主節點:

# vi /etc/ntp.conf

#server 210.72.145.44     #這是中國國家授時中心的IP   不可用,可搜尋國內常用ntp伺服器ip

server s2b.time.edu.cn   #這個是清華大學ntp伺服器ip之一   保證可用即可

啟動:service ntpd start

開機啟動:chkconfig ntpd on

檢視NTP服務的執行狀況: watch ntpq -p

其他節點:hadoop02  hadoop03 做如上步驟後啟動即可

然後啟動:service ntpd start

設定檔案開啟數量和使用者最大程序數

檔案開啟數量

ulimit -a

使用者最大程序數

ulimit -u

設定

sudo vi /etc/security/limits.conf

內容:

soft nofile 65535

hard nofile 65535

soft nproc 32000

hard nproc 32000

軟體下載網址:

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

cm-5.3.6 bin檔案

http://archive.cloudera.com/cm5/installer/5.3.6/

http://archive.cloudera.com/cm5/installer/5.3.6/cloudera-manager-installer.bin

cm-5.3.6 依賴rpm

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/

http://archive.cloudera.com/cm5/redhat/6/x86_64/cm/5.3.6/RPMS/x86_64/

安裝Cloudera Manager Server Agent:

主節點解壓安裝

cloudera manager的目錄預設位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz將解壓後的cm-5.3.6cloudera目錄放到/opt目錄下。

[[email protected] opt]# tar -zxvf /home/cloudera-manager-el6-cm5.3.6_x86_64.tar.gz -C /opt/

Cloudera Manager 5建立資料庫

首先需要去MySql的官網下載JDBC驅動,http://dev.mysql.com/downloads/connector/j/,解壓後,找到mysql-connector-java-5.1.6-bin.jar,放到/opt/cm-5.3.6/share/cmf/lib/中。

在主節點初始化CM5的資料庫:

[[email protected] opt]# /opt/cm-5.3.6/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot --scm-host localhost scm scm scm

Agent配置

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

[[email protected] opt]# vim /opt/cm-5.3.6/etc/cloudera-scm-agent/config.ini

serverhost = hadoop01

同步Agent到其他節點

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

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

在所有節點建立cloudera-scm使用者:

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

準備Parcels,用以安裝CDH5

CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中。

如果沒有對應目錄,則自己建立:(原則上只在主節點即可)

[[email protected] ~]# mkdir -p /opt/cloudera/parcel-repo/

[[email protected] ~]# mkdir -p /opt/cloudera/parcel-repo/

[[email protected] ~]# mkdir -p /opt/cloudera/parcel-repo/

相關的檔案如下:

CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel

CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1

manifest.json

[[email protected] opt]# cp /home/hadoop/cdh-5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel /opt/c

loudera/parcel-repo/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel

[[email protected] opt]# cp /home/hadoop/cdh-5.3.6/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1 /opt/cloudera/parcel-repo/CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha

[[email protected] opt]# cp /home/hadoop/cdh-5.3.6/manifest.json /opt/cloudera/parcel-repo/

最後將CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1,重新命名為CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha,這點必須注意,否則,系統會重新下載CDH-5.3.6-1.cdh5.3.6.p0.11-el6.parcel.sha1檔案。

相關啟動指令碼:

通過[[email protected] opt]# /opt/cm-5.3.6/etc/init.d/cloudera-scm-server start啟動服務端。

通過[[email protected] opt]# /opt/cm-5.3.6/etc/init.d/cloudera-scm-agent start啟動Agent服務。

我們啟動的其實是個service指令碼,需要停止服務將以上的start引數改為stop就可以了,重啟是restart

CDH5的安裝配置

Cloudera Manager ServerAgent都啟動以後,就可以進行CDH5的安裝配置了。

Cms的架構圖:


Cloudera manager server (CMS)想管理叢集,則需要有自己的小弟cloudare agent,這裡相當於主從架構,cms推薦將自己的這臺伺服器也作為agent,所以我們需要在自己的hadoop01

hadoop02hadoop03上安裝agent(然後使用cms介面操作即可)

cms瀏覽器操作:

這時可以通過瀏覽器訪問主節點的7180埠測試一下了(由於CM Server的啟動需要花點時間,這裡可能要等待一會才能訪問),預設的使用者名稱和密碼均為admin

 

 登入後選擇免費版本一直繼續即可

 

 

 

 

如下是環境檢測錯誤,不同版本錯誤不一樣:

 

問題 1

個別主機正確地解析了自己的主機名稱。

查詢存在衝突的初始指令碼時發現以下錯誤。利用chkconfig’來禁用初始指令碼以避免Cloudera Manager 管理的後臺程式存在衝突。通常,您可以繼續進行安裝,但重啟後,由於衝突流程啟動可能失敗。

 

將頭兩行去掉

將域名和主機名調換位置

將dns配置成本地閘道器

如果為虛擬機器的區域網,不建議在/etc/hosts中配置域名

問題 2:

Cloudera 建議將 /proc/sys/vm/swappiness設定為 0。當前設定為60。使用sysctl 命令在執行時更改該設定並編輯/etc/sysctl.conf 以在重啟後儲存該設定。您可以繼續進行安裝,但可能會遇到問題,Cloudera Manager報告您的主機由於交換執行狀況不佳。以下主機受到影響:

[[email protected] opt]# sysctl -w vm.swappiness=0

[[email protected] opt]# echo "vm.swappiness=0"  >> /etc/sysctl.conf

[[email protected] opt]# sysctl -w vm.swappiness=0

[[email protected] opt]# echo "vm.swappiness=0"  >> /etc/sysctl.conf

[[email protected] opt]# sysctl -w vm.swappiness=0

[[email protected] opt]# echo "vm.swappiness=0"  >> /etc/sysctl.conf

修正後的結果:

 

根據自己需求選擇安裝大資料元件:

 

由於是虛擬機器,這一步就安裝cm給的預設的:

 

為hive Activity Monitor設定資料庫名、使用者名稱和密碼: (最好測試連線通過才繼續)

 

叢集設定的配置:可以選擇預設

 

錯誤:

 

看日誌是缺少mysqljar包:

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hive/lib/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hive/lib/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hive/lib/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/oozie/lib/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/oozie/lib/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/oozie/lib/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hue/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hue/

[[email protected] ~]# cp /home/mysql-connector-java-5.1.6-bin.jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hue/

全部服務執行通過後繼續:

 

安裝完成:

 

完成後回到主頁面可以看到各個服務的狀態:   hdfs有點問題

 

測試:最好切換的hdfs使用者或者關閉許可權。我的hdfs稍微有問題,沒有home目錄。

測試hdfs

bash-4.1$sudo vi /home/words

bash-4.1$hdfs dfs -put /home/words /

bash-4.1$hdfs dfs -cat /words

測試mapreduce

bash-4.1$ls /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar

bash-4.1$yarn jar /opt/cloudera/parcels/CDH-5.3.6-1.cdh5.3.6.p0.11/lib/hadoop-mapreduce/hadoop-mapreduce-examples.jar wordcount /words /out/00

bash-4.1$hdfs dfs -cat /out/00/part-r-00000

測試hive

bash-4.1$ hive

hive>create table if not exists t1(id string);

hive> load data local inpath '/home/words' into table t1;

hive> select * from t1;

OK

hello world

hi world

hadoop spark cdh nice

good good good

Time taken: 0.698 seconds, Fetched: 4 row(s)

hive> select count(id) from t1;     看看hive產生的mr是否能跑

Total jobs = 1

Launching Job 1 out of 1

Number of reduce tasks determined at compile time: 1

................

OK

4

Time taken: 35.851 seconds, Fetched: 1 row(s)

測試hbase:

bash-4.1$ hbase shell

17/12/20 23:20:45 INFO Configuration.deprecation: hadoop.native.lib is deprecated. Instead, use io.native.lib.available

HBase Shell; enter 'help<RETURN>' for list of supported commands.

Type "exit<RETURN>" to leave the HBase Shell

Version 0.98.6-cdh5.3.6, rUnknown, Tue Jul 28 15:19:46 PDT 2015

hbase(main):001:0> create 'test','cf1'

0 row(s) in 4.2150 seconds

=> Hbase::Table - test

hbase(main):006:0> put 'test','rk1','cf1:name','zs'

0 row(s) in 0.1320 seconds

hbase(main):007:0> put 'test','rk1','cf1:sex','1'

0 row(s) in 0.0160 seconds

hbase(main):008:0> put 'test','rk1','cf1:age','28'

0 row(s) in 0.0110 seconds

hbase(main):009:0> scan 'test'

ROW                       COLUMN+CELL                                                             

 rk1                      column=cf1:age, timestamp=1513783403310, value=28                       

 rk1                      column=cf1:name, timestamp=1513783385065, value=zs                      

 rk1                      column=cf1:sex, timestamp=1513783394462, value=1                        

1 row(s) in 0.0440 seconds

檢視hdfsweb ui監控:

 

檢視yarnweb ui監控和historyserver的監控:

 

Hue web ui監控:

 

 第一次登陸隨便輸入使用者名稱和密碼,記住即可:


需要簡單的配置:新手直接全部預設即可

 

來一個簡單的對應的hive的查詢:

 

配置:

在每一個元件的配置去查詢即可。如hive配置:

 

使用者管理: 管理--->使用者--->新增使用者/改密碼

 

新增後:

 

退出admin登入:  注意cdh使用者只能讀,不能修改、配置、安裝、解除安裝等。

 

再次向群集中新增服務:

 

可以修改叢集名:


選擇新增服務:   這裡只能新增單個服務

 

然後高階配置和升級HA

............................................待續................................................................