1. 程式人生 > >CDH 5.10.0 on CentOS6.9 離線安裝

CDH 5.10.0 on CentOS6.9 離線安裝

關於CDH和ClouderaManager

    CDH (Cloudera's Distribution, includingApache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建,並集成了很多補丁,可直接用於生產環境。
    Cloudera Manager(本文以下簡稱為CM)則是為了便於在叢集中進行Hadoop等大資料處理相關的服務安裝和監控管理的元件,對叢集中主機、Hadoop、Hive、Spark等服務的安裝配置管理做了極大簡化。

系統環境

伺服器環境:Linux物理機 
伺服器配置:記憶體:64G,CPU:32Core 
作業系統:CentOS release 6.9  x64 (64位)  
Cloudera Manager:5.10.0
CDH: 5.8.4 

CM搭建環境準備

  • **
  • 配置Hosts
    需要修改兩處:一處是/etc/sysconfig/network,
    另一處是/etc/hosts,只修改任一處會導致系統啟動異常。
    首先切換到root使用者,用任一款你喜愛的編輯器開啟該檔案:
    # sudo vi /etc/sysconfig/network
    裡面有一行 HOSTNAME=localhost.localdomain (如果是預設的話),修改 localhost.localdomain 為你的主機名,
    然後開啟 /etc/hosts 檔案 $ sudo vi /etc/hosts,會有一行 127.0.0.1 localhost.localdomain localhost 。其中 127.0.0.1 是本地環路地址, localhost.localdomain 是主機名(hostname),也就是你待修改的。localhost 是主機名的別名(alias),它會出現在Konsole的提示符下。將第二項修改為你的主機名,第三項可選。
    將上面兩個檔案修改完後,並不能立刻生效。如果要立刻生效的話,可以用 hostname your-hostname 作臨時修改,它只是臨時地修改主機名,系統重啟後會恢復原樣的。但修改上面兩個檔案是永久的,重啟系統會得到新的主機名
  • 確定主機名及對應的角色
    CM的主節點:cloud032
    CM的子節點:cloud030,cloud031,cloud032
  • 開通applog使用者的sudo無密碼訪問許可權
    給applog使用者設定無密碼sudo許可權:
    chmod u+w /etc/sudoers
    applog ALL=(root)NOPASSWD:ALL
    chmod u-w /etc/sudoers
    測試:sudo ifconfig
  • 打通SSH
    1:ssh-keygen -t rsa
    連續3個回車,不必輸入,生成金鑰
    2:ssh-copy-id -i /root/.ssh/id_rsa.pub [email protected]

    把本機的公鑰追到master的 .ssh/authorized_keys 裡
    或者
    ssh-copy-id -i localhost
    ssh-copy-id -i cloud030
    ssh-copy-id -i cloud031
    ssh-copy-id -i cloud032
    3:在每臺機器上都對其他機器重複執行第2步,直到所有機器都能相互免密碼登陸
  • 關閉SELINUX 及防火牆
    防火牆會引起hadoop相關元件通訊的各種異常,需關閉防火牆。
    注意: 需要在所有的節點上執行,因為涉及到的埠太多了,臨時關閉防火牆是為了安裝起來更方便,安裝完畢後可以根據需要設定防火牆策略,保證叢集安全。
    用root使用者許可權登入進行操作:
    1 關閉防火牆:
    # sudo service iptables stop
    驗證:# service iptables status
    # service iptables stop (臨時關閉)
    # chkconfig iptables off (重啟後生效)
    2 關閉selinux:
    檢視SELinux狀態:
    1、$ /usr/sbin/sestatus -v ##如果SELinux status引數為enabled即為開啟狀態
    SELinux status: enabled
    2、getenforce ##也可以用這個命令檢查
    關閉SELinux:
    1、臨時關閉(不用重啟機器):
    setenforce 0 ##設定SELinux 成為permissive模式
    ##setenforce 1 設定SELinux 成為enforcing模式
    2、修改配置檔案需要重啟機器:
    修改/etc/selinux/config 檔案
    將SELINUX=enforcing改為SELINUX=disabled 重啟機器即可
  • 禁用ipv6
    禁用ipv6 (全部伺服器)
    # cat /etc/modprobe.d/dist.conf
    echo “alias net-pf-10 off ” >> /etc/modprobe.d/dist.conf
    echo “alias ipv6 off ” >> /etc/modprobe.d/dist.conf
  • 同步叢集時間
    參考:http://blog.csdn.net/freedomboy319/article/details/46710255
    1)先選擇一臺伺服器作為一個ntp伺服器,其他的伺服器與這臺伺服器進行時間同步,Cloud030 ,檢視ntp服務是否安裝:
    # rpm -qa | grep ntp(如下顯示已安裝)
    fontpackages-filesystem-1.41-1.1.el6.noarch
    ntpdate-4.2.4p8-3.el6.centos.x86_64
    ntp-4.2.4p8-3.el6.centos.x86_64
    2)修改配置檔案 /etc/ntp.conf(只在叢集的時間伺服器)
    # sudo vim /etc/ntp.conf
    # Hosts on local network are less restricted.
    #restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    server 127.127.1.0 # local clock
    fudge 127.127.1.0 stratum 10
    #開啟註釋:
    restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap
    server 127.127.1.0 # local clock
    fudge 127.127.1.0 stratum 10
    #註釋掉
    #server 0.centos.pool.ntp.org
    #server 1.centos.pool.ntp.org
    #server 2.centos.pool.ntp.org

    3)配置ntp伺服器時間與系統時間同步:
    $ sudo vi /etc/sysconfig/ntpd
    SYNC_HWCLOCK=yes
    4)所有節點啟動時間伺服器:
    # sudo service ntpd status
    ntpd (pid 1910) is running…
    如果沒有啟動:
    # service ntpd start
    # sudo chkconfig ntpd on
    # sudo chkconfig ntpd –list|grep ntpd
    ntpd 0:off 1:off 2:on 3:on 4:on 5:on 6:off
    5)更新下叢集時間伺服器時間
    中國這邊最活躍的時間伺服器 : http://www.pool.ntp.org/zone/cn
    date
    同步外界的時間伺服器:
    # sudo ntpdate -d ntp.sjtu.edu.cn/ cn.ntp.org.cn 或者
    # sudo ntpdate -u ntp.sjtu.edu.cn/ cn.ntp.org.cn
    6)將系統時間同步給硬體時間
    # sudo hwclock –localtime 檢視伺服器硬體時間
    # sudo hwclock –localtime -w 系統時間同步給硬體時間
    7)伺服器停機後,系統時間停止,硬體時間正常走,伺服器重啟後將硬體時間自動同步給系統時間 :
    # sudo vi /etc/sysconfig/ntpd
    首行新增 SYNC_HWCLOCK=yes
    8)伺服器啟動後,系統同步外界時間,自動同步給硬體時鐘 :
    # vi /etc/sysconfig/ntpdate
    SYNC_HWCLOCK=yes
    9)其他從節點與此臺伺服器進行時間同步
    # sudo ntpdate -u cloud030 或ntpdate -d cloud030
    客戶端使用linux的crontab同步時間:
    切換到root使用者,檢視當前定時任務,如果沒有同步時間的定時任務需要重新制定:
    # crontab -l
    # crontab -e
    0-59/10 * * * * /usr/sbin/ntpdate -u cloud030 給命令全路徑,每隔10分鐘同步一次
    重啟 # sudo service crond restart 以及 # sudo service ntpd restart,
    然後ntpstat 命令檢視時間同步狀態,這個一般需要5-10分鐘後才能成功連線和同步。
  • JDK安裝
    jdk的rpm包 地址:
    http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
    # rpm -qa | grep java ##檢視系統自帶的java
    # rpm -e –nodeps tzdata-java-2013g-1.el6.noarch java-1.7.0-openjdk-1.7.0.45-2.4.3.3.el6.x86_64 java-1.6.0-openjdk-1.6.0.0-1.66.1.13.0.el6.x86_64 ##必須解除安裝
    安裝java: # rpm -ivh jdk-8u102-linux-x64.rpm
    ( 此處我用的是java7 : tar zxf jdk-7u67-linux-x64.tar.gz -C /usr/java/)
    配置java環境變數:
    # sudo vi /etc/profile
    配置java環境變數
    # sudo source /etc/profile
    # java -version 來檢測jdk是否安裝成功
  • 安裝MySql
    建議將mysql安裝到CM的主伺服器上,安裝之前檢查下機器是否已經安裝mysql:
    解除安裝自帶mysql:
    $sudo rpm -e –nodeps mysql-libs-5.1.73-8.el6_8.x86_64 mysql-server-5.1.73-8.el6_8.x86_64 mysql-5.1.73-8.el6_8.x86_64 mysql-devel-5.1.73-8.el6_8.x86_64
    安裝方式一:參考http://www.2cto.com/kf/201609/550880.html
    本次採用安裝方式二(更換yum源安裝,需要聯網):
    1)下載mysql的yum源, yum源倉庫位置 /etc/yum.repos.d
    cd /etc/yum.repos.d
    wget http://dev.mysql.com/get/mysql57-community-release-el6-8.noarch.rpm
    sudo rpm -Uvh mysql57-community-release-el6-8.noarch.rpm
    2)更新mysql源配置檔案
    sudo vi mysql-community.repo
    5.6 enabled=1
    5.7 enabled=0
    sudo vi mysql-community-source.repo
    5.6 enabled=1
    3)更新下yum快取 #sudo yum makecache
    4)檢視根據當前yum源情況可以安裝的mysql版本
    yum repolist enabled | grep mysql
    5)安裝mysql
    sudo yum -y install mysql-community-server
    安裝完成後,如下:
    這裡寫圖片描述
    檢測安裝是否正確:
    sudo service mysqld status
    啟動資料庫:
    sudo service mysqld start
    開機啟動mysql : # sudo chkconfig mysqld on
    注意:如果之前安裝過資料庫,此處可能啟動不成功
    MySQL日誌檔案的預設路徑是/var/log/mysqld.log
    Yum安裝的mysql在/var/lib/mysql下,刪除目錄下的ib_logfile0 ib_logfile1即可啟動mysql
    如果還是不行,刪除/var/lib/mysql目錄下所有
    (參考:http://blog.csdn.net/e_zhiwen/article/details/17414779)

    mysql_secure_installation mysql初始化設定(可以設定密碼):
    這裡寫圖片描述
    如果沒有在初始化時設定密碼,首次登陸root沒有密碼,需要設定:
    mysql> select Host,User,Password from user where user =’root’
    mysql> use mysql;
    mysql> update user set Password=password(‘root’) where User=’root’;
    6)建立mysql資料庫
    1 . –hive 資料庫
    mysql> create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    2 . –叢集監控資料庫 amon
    mysql> create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    3 . –hue 資料庫
    mysql> create database hue DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    4 . –oozie 資料庫
    mysql> create database oozie DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
    6)為新建立的庫賦許可權
    如果對mysql資料庫許可權要求比較高的話可以手動單獨處理 如果要求不是很高,直接使用以下命令即可:
    授權root使用者在主節點(cloud032)擁有所有資料庫的訪問許可權
    mysql> grant all privileges on . to ‘root’@’cloud032’ identified by ‘root’ with grant option;
    mysql> flush privileges;
    下載mysql connector包 ,由於我的CM以及其他CDH元件儲存元資料等資訊使用的是mysql,所以此處需要準備jdbc連線mysql相關的包,如果使用其他的資料庫,請準備相對應的包。 此處我使用的是 mysql-connector-java-5.1.34.jar
    由於此次安裝mysql我使用的是yum的方式,所以此處未單獨下載相關的軟體包,另外,建議使用yum或者rpm的方式安裝mysql以及jdk,這樣jdk以及mysql會安裝到預設位置上,由於CM自身機制的問題,如果這兩個軟體未安裝到預設的位置上會導致許多額外的配置以及很多不期而遇的問題。

  • 下載CM安裝包
    CM的安裝包 ,下載地址: http://archive.cloudera.com/cm5/cm/5/
    對應的檔案是 cloudera-manager-el6-cm5.10.0_x86_64.tar.gz
    由於是離線安裝,需要配置本地源,需要下載相關的包,本地源的安裝包 下載地址是:
    http://archive-primary.cloudera.com/cdh5/parcels/5.10.0/
    由於系統是CentOS6.9,所以對應的檔案是:
    CDH-5.10.0-1.cdh5.10.0.p0.42-el6.parcel
    CDH-5.10.0-1.cdh5.10.0.p0.42-el6.parcel.sha1
    manifest.json

安裝CM

  • 建立CM使用者
    每個節點都要建立該使用者
    $ sudo useradd –system –home=/opt/cm-5.10.0/run/cloudera-scm-server/ –no-create-home –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm
    說明:
    useradd
    –system 表示是系統使用者
    –home=/opt/cloudera-manager/cm-5.10.0/run/cloudera-scm-server 指定一個home目錄
    –no-create-home 不建立使用者主目錄
    –shell=/bin/false 不作為一個登陸使用者
    –comment “Cloudera SCM User”
    cloudera-scm 使用者名稱
    注意:cat /etc/passwd | grep cloudera-scm 檢查是否成功
    這裡寫圖片描述
  • 安裝CM的tar包
    先安裝下CM的依賴包(每臺伺服器上):
    $ sudo yum -y install chkconfig python bind-utils psmisc libxslt zlib sqlite cyrus-sasl-plain cyrus-sasl-gssapi fuse portmap fuse-libs redhat-lsb
    將cloudera-manager-el6-cm5.10.0_x86_64.tar.gz上傳到CM的主節點的/opt/目錄下並解壓縮,解壓後會生成cloudera以及cm-5.10.0兩個資料夾,其中:
    cloudera cm框架安裝包目錄
    cm-5.10.0 cm框架本身的配置,啟動,lib庫
    由於cloudera自身機制的問題,如果解壓後的位置不在/opt/下會導致許多額外的配置以及很多不期而遇的問題。
  • 修改agent配置檔案
    $ vi /opt/cm-5.10.0/etc/cloudera-scm-agent/config.ini
    將server_host配置項由localhost改成主節點ip或hostname(CM的主節點) ,儲存退出
  • 分發cm-5.10.0到其他agent上
    # scp -r ./cm-5.10.0 cloud030:/home/applog/
    # scp -r ./cm-5.10.0 cloud031:/home/applog/
  • 初始化CM資料庫
    為Cloudera Manager 5建立資料庫,首先需要去MySql的官網下載JDBC驅動,http://dev.mysql.com/downloads/connector/j/,將mysql-connector-java-5.1.34.jar放到/opt/cm-5.10.0/share/cmf/lib/下。
    在主節點初始化CM5的資料庫:
    $ sudo /opt/cm-5.10.0/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -proot –scm-host localhost scm scm scm
    命令選項說明:
    mysql:資料庫型別是MySQL
    -h localhost:資料庫所在主機localhost
    --scm-host localhost:cloudera service執行的主機是localhost
    scm scm scm:最後三個引數,資料庫名稱 賬戶 密碼

    初始化後的配置檔案:
    這裡寫圖片描述
  • 主節點配置本地parcels源
    1)# mkdir -p /opt/cloudera/parcel-repo server節點上
    # mkdir -p /opt/cloudera/parcels agent節點上
    2)# mv CDH-5.10.0-1.cdh5.10.0.p0.11-el6.parcel.sha1 CDH-5.10.0-1.cdh5.10.0.p0.11-el6.parcel.sha 校驗碼結尾1去掉
    3)更改所有人
    # sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcel-repo/ server主節點
    # sudo chown -R cloudera-scm:cloudera-scm /opt/cloudera/parcels/ 子節點
  • 主節點啟動server 服務
    /opt/cm-5.10.0/etc/init.d 裡面是啟動指令碼
    # sudo /opt/cm-5.10.0/etc/init.d/cloudera-scm-server start
    檢視日誌 :# tail -f /opt/cm-5.10.0/log/cloudera-scm-server/cloudera-scm-server.log
    日誌目錄: /opt/cloudera-manager/cm-5.10.0/log/cloudera-scm-server
  • CM子節點啟動agent
  • 子節點建立agent執行所需的資料夾
    # mkdir -p /opt/cm-5.10.0/run/cloudera-scm-agent
    啟動agent程序:
    /opt /cm-5.10.0/etc/init.d/cloudera-scm-agent start
    # sudo /opt/cm-5.10.0/etc/init.d/cloudera-scm-agent start
    啟動失敗:Unable to create the pidfile.
    參考:http://blog.csdn.net/kwu_ganymede/article/details/51524594
    # mkdir -p /opt/cm-5.10.0/run/cloudera-scm-agent
    檢視日誌:# tail -f /opt/cm-5.10.0/log/cloudera-scm-agent/cloudera-scm-agent.log
  • CM子節點啟動agent (所有節點)
    # sudo /opt/cm-5.10.0/etc/init.d/cloudera-scm-agent start
  • 驗證並登陸CM管理介面
    # netstat -tlnup | grep 7180 確認埠是否被監聽
    登入地址:CM主節點主機名:7180
    預設使用者名稱密碼:admin/admin
  • 選擇CM版本
    這裡寫圖片描述
    然後選擇所有CM管理的主機,如果主節點沒有啟動agent服務,則主機列表中無,當各Agent節點正常啟動後,可以在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,點繼續。 下一步,出現parcel自檢測包名,如果本地Parcel包配置無誤(下一步的下載會跳過),選目標版本,直接點繼續就可以了(若沒有出現對應版本,則重啟CM server和agent)
    這裡寫圖片描述
    安裝之後會發現CM本地源所在目錄變化如下:
    這裡寫圖片描述
  • 解決警告問題
    問題1:
    這裡寫圖片描述
    解決:# echo 0 > /proc/sys/vm/swappiness
    或者使用sudo sysctl -w vm.swappiness=0修改其值(臨時生效)
    問題2:
    這裡寫圖片描述
    解決:解決:
    # 使用root使用者: echo never > /sys/kernel/mm/redhat_transparent_hugepage/defrag
    在使用普通使用者(也可直接用root使用者):sudo vi /etc/rc.local 將以上命令加入到該指令碼中(不過貌似centos 6.5版本以後不會出現該警告了)。
==========接下來開始在CM管理介面上新增相關服務 ===========

新增 Cloudera Management Service 服務

Cloudera Management Service 可作為一組角色實施各種管理功能:
這裡寫圖片描述
Activity Monitor - 收集有關 MapReduce 服務執行的活動的資訊。預設情況下未新增此角色。
Host Monitor - 收集有關主機的執行狀況和指標資訊
Service Monitor - 收集有關服務的執行狀況和指標資訊以及 YARN 和 Impala 服務中的活動資訊
Event Server - 聚合 relevant Hadoop 事件並將其用於警報和搜尋
Alert Publisher - 為特定型別的事件生成和提供警報
Reports Manager - 生成報告,它提供使用者、使用者組和目錄的磁碟使用率的歷史檢視,使用者和 YARN 池的處理活動,以及 HBase 表和名稱空間。此角色未在 Cloudera Express 中新增。
配置使用預設配置,接著接著CM會啟動CMservice相關服務:
這裡寫圖片描述
這裡寫圖片描述
Service啟動成功後可以在主頁檢視:
這裡寫圖片描述
此時檢視叢集資源使用情況,如下(此時叢集尚未安裝hadoop相關服務元件):
這裡寫圖片描述
(參考:http://blog.csdn.net/team77/article/details/50547075)

新增 zookeeper 服務

這裡寫圖片描述
這裡寫圖片描述
Zookeeper的資料存放目錄:/var/lib/zookeeper
Zk的預設環境配置位置 /usr/bin/:
這裡寫圖片描述

新增 hdfs服務

新增Yarn服務

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
執行應用程式測試yarn是否可用:
首先通過設定臨時變數的方式,讓系統使用者針對hadoop臨時變為hdfs使用者(最好所有節點都設定)
# export HADOOP_USER_NAME=hdfs
上傳本地測試檔案到hdfs上:
# hadoop dfs -put manifest.json /test(此處的hadoop命令已經deprecated)
或者
# hdfs dfs -put manifest.json
執行如下測試類:
$ hadoop jar /opt/cloudera/parcels/CDH-5.8.4-1.cdh5.8.4.p0.5/lib/hadoop-0.20-mapreduce/hadoop-examples-2.6.0-mr1-cdh5.8.4.jar wordcount /test/manifest.json /test/out
測試結果正常:
這裡寫圖片描述
檢視輸出結果:$ hadoop dfs -cat /test/out/part-r-00046
這裡寫圖片描述
Resourcemanager主介面:
這裡寫圖片描述
這裡寫圖片描述
檢視rm節點服務狀態:
# yarn rmadmin -getServiceState rm275
(rm275為resourmanager叢集之一的名字,在hadoop配置檔案yarn-site.xml中檢視)

新增 hbase服務

HMaster沒有單點問題,HBase中可以啟動多個HMaster,通過Zookeeper的Master Election機制保證總有一個Master執行。
所以這裡要配置HBase高可用的話,只需要啟動兩個HMaster,讓Zookeeper自己去選擇一個Master Acitve。
啟動RestServer程序與ThriftServer程序主要是便於後邊用於hue訪問,部在031上,
HRegionServer在三個節點上:
這裡寫圖片描述
啟用複製hbase.replication:
這裡寫圖片描述
這裡寫圖片描述
hbase主介面:
這裡寫圖片描述
在hbase提供的shell client測試hbase叢集:
兩個HMaster同時只有一個active,當兩個HMaster都掛掉的時候:
這裡寫圖片描述
檢視cdh支援的壓縮演算法:
這裡寫圖片描述
配置Hstore的壓縮演算法:
這裡寫圖片描述

新增kafka服務:

在CDH中,Kafka作為一個分散式的parcel,單獨出來作為parcel分發安裝包。需要我們把分離開的kafka的服務描述jar包和服務parcel包下載下來。參考連結(CM官網):
https://www.cloudera.com/documentation/kafka/latest/topics/kafka_installing.html#concept_m2t_d45_4r
這裡寫圖片描述
也可在已安裝的CM的如下位置直接下載(需要聯網,不過較慢):
這裡寫圖片描述
此處我採用第一種方式,下載好kafka jar包下載地址:http://archive.cloudera.com/csds/kafka/,與parcel檔案,
下載地址:http://archive.cloudera.com/kafka/parcels/2.0.2/
(參考:http://blog.csdn.net/u012599619/article/details/51243397:)
這裡寫圖片描述
上傳 jar包到CM的主節點下的 /opt/cloudera/csd目錄下:
這裡寫圖片描述
Parcel包和校驗檔案上傳到/opt/cloudera/parcel-repo目錄下並把KAFKA-2.0.2-1.2.0.2.p0.5-el6.parcel.sha1改成KAFKA-2.0.2-1.2.0.2.p0.5-el6.parcel.sha:
這裡寫圖片描述
檢查新parcel,分配並激活parcel包,注意一定要啟用才能用
這裡寫圖片描述
在主節點CM安裝目錄檢視已安裝的kafka( /opt/cloudera/parcels):
這裡寫圖片描述
然後新增kafka服務如下步驟:
選擇需要安裝的kafka broker節點,暫時不安裝MirrorMaker,這是一個kafka叢集備份的功能:(MirrorMaker使用參考:
http://blog.csdn.net/rkjava/article/details/51771466)
這裡寫圖片描述
設定kafka訊息副本數為3:
這裡寫圖片描述
資料存放位置以及其他配置採用預設配置,然後啟動kafka叢集:
這裡寫圖片描述
測試kafka:
建立一個topic:
$ kafka-topics –create –zookeeper 10.43.1.30:2181 –replication-factor 1 –partitions 1 –topic testTopic
這裡寫圖片描述
檢視kafka中已建立topic(任意一臺kafka節點):
$ kafka-topics –list –zookeeper 10.43.1.31:2181
測試顯示:1-2個kafka節點掛掉之後,kafka叢集依然可以使用:
這裡寫圖片描述
注意:
1.如果所有kafka叢集節點掛掉,報錯如下:
ERROR admin.TopicCommand$: kafka.admin.AdminOperationException: replication factor: 1 larger than available brokers: 0
2.初始的kafka的JVM堆記憶體分配為50M(啟動時會出現out of memery問題,設定為256M重啟即可)

新增hive服務

這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
異常處理:
這裡寫圖片描述
將mysql驅動包放到對應的伺服器的安裝目錄下,再啟動hive即可:
$ sudo cp mysql-connector-java-5.1.34.jar /opt/cloudera/parcels/CDH-5.8.4-1.cdh5.8.4.p0.5/lib/hive/lib/
這裡寫圖片描述

新增flume服務

這裡寫圖片描述
這裡寫圖片描述
Flume配置目錄說明:
1、data/log-ID,這種型別的檔案存放的是put、take、commit、rollback的操作記錄及資料。
2、checkpoint/checkpoint存放的是event在那個data檔案logFileID,的什麼位置offset等資訊。
2、checkpoint/inflightTakes存放的是事務take的快取資料,每隔段時間就重建檔案。
3、checkpoint/inflightPuts存放的是事務對應的put快取資料,每隔段時間就重建檔案。
4、checkpoint/checkpoint.meta主要儲存的是logfileID及對應event的數量等資訊。
5、data/log-ID.meta,主要記錄log-ID下一個寫入位置以及logWriteOrderID等資訊。
6、每個data目錄裡data檔案保持不超過2個。
7、putList和takeList是快取儲存的是相應的FlumeEventPointer,但是inflightTakes和inflightPuts其實也是快取儲存的也是相應的資訊,只不過比兩者多存一些資訊罷了,功能重合度很高,為什麼會這樣呢?我想是一個只能在記憶體,一個可以永久儲存(當然是不斷重建的),後者可以用來進行flume再啟動的恢復。
測試flume:
安裝apache服務(30上): # yum -y install httpd
啟動apache服務: # sudo service httpd start
建立靜態頁面: # sudo vi /var/www/html/index.html
檢視日誌檔案: # tail -f /var/log/httpd/access_log
給一般使用者配置日誌目錄訪問許可權(root許可權):
# chmod 755 /var/log/httpd
配置conf/flume.conf檔案,

# Please paste flume.conf here. Example:

# Sources, channels, and sinks are defined per
# agent name, in this case 'tier1'.
tier1.sources  = source1
tier1.channels = channel1
tier1.sinks    = sink1

# For each source, channel, and sink, set
# standard properties.
tier1.sources.source1.type     = exec
tier1.sources.source1.shell    = /bin/bash  -c
tier1.sources.source1.command     = tail -f /var/log/httpd/access_log

tier1.sources.source1.channels = channel1
tier1.channels.channel1.type   = memory
tier1.sinks.sink1.type         = logger
tier1.sinks.sink1.channel      = channel1

# Other properties are specific to each type of
# source, channel, or sink. In this case, we
# specify the capacity of the memory channel.
tier1.channels.channel1.capacity = 100

啟動flume後,檢視後臺日誌:
發現報錯如下:
ERROR org.apache.flume.lifecycle.LifecycleSupervisor: Unable to start EventDrivenSourceRunner: { source:Avro source src_dev_front: { bindAddress: 0.0.0.0, port: 27001 } } - Exception follows.
java.lang.OutOfMemoryError: Direct buffer memory
發現是堆記憶體問題,將flume agent的最大堆記憶體大小從50M調整為1G,設定如下:
這裡寫圖片描述
這裡寫圖片描述
然後重啟即可!

新增oozie服務:

注意:在安裝hue服務之前需要安裝oozie
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
新增hue服務
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
這裡寫圖片描述
最後在檢視下以上服務安裝完成後的資源使用情況:
這裡寫圖片描述
以上就是基於CM5.10.0搭建大資料平臺的整個過程!
ps:在使用cm安裝spark時,使用的是spark 1.6版本,由於本人嘗試在CM上安裝spark 2.0版本沒有安裝成功,所有另外搭建了一個spark2.0.1版本的叢集.

相關推薦

CDH 5.10.0 on CentOS6.9 離線安裝

關於CDH和ClouderaManager CDH (Cloudera's Distribution, includingApache Hadoop),是Hadoop眾多分支中的一種,由Cloudera維護,基於穩定版本的Apache Hadoop構建

cdh-5.10.0搭建安裝

touch 時間 fec nod tro tools.jar lines png har 1.修改主機名為master, slave1, slave2 vim /etc/sysconfig/network HOSTNAME = master HOSTNAME = s

CentOS 7.3 CDH 5.10.0 Druid0.12.4安裝記錄

文件夾權限 zxvf crypt 用戶 卸載 文件夾 check PE 0.11 CentOS 7.3 CDH 5.10.0安裝記錄 0. 集群規劃192.167.1.247 realtime247 realtime+hadoopdata192.167.1.24

CDH 5.7.0離線安裝指南

系統環境 硬體環境:window下VMware 11虛擬機器 作業系統:紅帽6.5伺服器版本 Cloudera Manager:5.7 CDH:CDH-5.7.0-1.cdh5.7.0.p0.45-el6.parcel 資料庫:Mysql 5.6 參考說明 http:/

CentOS6.9安裝mysql-5.6.36

tmp event 包名 conf cli group tor 進制 ins 本文參考自博客園,鳴謝原作者。 1、準備數據存放的文件系統 新建一個邏輯卷,並將其掛載至特定目錄即可。這裏不再給出過程。 這裏假設其邏輯卷的掛載目錄為/data,而後需要創建/data/mysql

Centos6.9安裝oracle11.2.0.4

blog 轉載 感謝 刪除數據 net 工具 clas 創建 sha 本文內容的來源包含並不限於如下幾位數據庫大神的視頻課堂或博客,由本人或原文轉載、或二次整理,在此由衷感謝! 小麥苗博客:http://blog.itpub.net/26736162/ 風哥博客:http:

GreenPlum 5.10.0 集群部署

vendor msg uil fst rgs mct style 進程 地址 第1部分 初始化系統配置 1.1 部署環境 序號 ip地址 主機名 內存 系統版本 內核版本 1 192.168.61.61 gpmaster61 16Gb CentOS 7.5.1

CDH 5.7.0安裝,cm agent無法啟動

unable 啟動 mkdir failed python cati inf manager parcel 我們在部署完CDH 5.7.0和CM 5.7.0後,開始啟動CM Agent,但是會出現下面的錯誤:# cloudera-scm-agent startStarti

centos6.9安裝mysql5.5.35

1、將安裝包MySQL-server-5.5.35-1.linux2.6.x86_64通過ssh工具上傳到虛擬機器中。 2、使用命令rpm -ivh MySQL-server-5.5.35-1.linux2.6.x86_64.rpm安裝 過程中出現問題1:  file /usr

Installation GreenPlum 5.14.0 on Oracle Linux 7.6

Greenplum主要由Master節點、Segment節點、interconnect三大部分組成。Greenplum master是Greenplum資料庫系統的入口,接受客戶端連線及提交的SQL語句,將工作負載分發給其它資料庫例項(segment例項),由它們儲存和處理資料。Greenplum inter

python 安裝 Pyside 出現 “Failed to find the MSVC compiler version 10.0 on your system”

出現這個問題,我使用了pip install PySide --only- binary :all: 來替代了pip install PySide。 這個下了二進位制版本,安裝成功。安裝的是1.2.2版本。還有python版本是3.4我使用了虛擬環境. 參考https://stackov

CDH 5.3.0 一個小任務運行了12個小時的原因。

2015-09-13 00:02:51,433 INFO [RMCommunicator Allocator] org.apache.hadoop.mapreduce.v2.app.rm.RMContainerAllocator: Ramping down all scheduled reduces:0 2

centos6.9編譯安裝mysql-5.6.36

一 安裝相關軟體包[[email protected] ~]# yum -y install ncureses-devel libaio-devel[[email protected] tools]# yum install cmake –y 建立mysql執行使用者[[emai

CentOS6.9安裝tomcat7.0

安裝前提: 系統必須已安裝配置JDK,我的系統安裝的是java version “1.8.0_60”。 下載地址(https://tomcat.apache.org/download-70.cgi) 下載 apache-tomcat-7.0.85.tar.gz 並解壓 ta

CentOS 7下Cloudera Manager及CDH 5.14.0安裝過程詳解

大家都知道,Apache Hadoop的配置很繁瑣,而且很零散,為此Cloudera公司提供了Clouder Manager工具,而且還封裝了Apache Hadoop,flume,spark,hive,hbase等大資料產品形成自己特色的CDH產品,再使用CM進行安裝,很大

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

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

Qt 5.1.0 on Ubuntu Linux, MySQL資料庫報錯 (driver not loaded)

問題描述: QSqlDatabase: QMYSQL driver not loaded QSqlDatabase: available drivers: QSQLITE QMYSQL QMYSQL3 QPSQL QPSQL7 false 引起報錯的示例程式碼如下:

VS 2013+Qt 5.10+OpenCV 2.4.9配置(詳細附圖連結)

小鐘在一個專案裡,需要用到 VS 配置 Qt 以及 OpenCV,在此總結基本的步驟,希望能幫助到有同樣需求的朋友 步驟(一):先下載好三個安裝包 建議安裝在D盤(非系統盤),檔案很大可以不佔空間,除非想要執行速度快就安裝在固態系統盤吧! 下載安裝 Qt

CDH 5.12.0 中使用 spark 2.4.2

data 支持 source dir 復制 con 方式 dataframe 進行 CDH 5.12.0 默認spark使用1.6.0,雖然spark 1.6.0支持DataFrame,但顯得有點版本過舊。需要在cdh 5.12中使用spark 2.X版本,網上搜索了一圈,

PhpStorm 10.0.3漢化及安裝破解教程

文件 php單元測試 php 7 同時 優點 擁有 mac os 全部 多語言 PhpStorm 10.0.3漢化破解版 PhpStorm是由JetBrains公司開發推出的商業PHP集成開發工具,軟件不僅包含了webstorm的全部功能,還擁有php、javascrip