1. 程式人生 > >Kafka+Storm+HBase專案Demo(1)--CDH搭建hadoop叢集

Kafka+Storm+HBase專案Demo(1)--CDH搭建hadoop叢集

這是一個類似淘寶雙11大螢幕的專案 。

kafka+storm+hbase整合:kafka作為分散式訊息系統,實時訊息系統,有生產者和消費者;storm作為大資料的實時處理系統;hbase是apache hadoop 的資料庫,其具有高效的讀寫效能。

Cloudera的CDH和Apache的Hadoop的區別
目前而言,不收費的Hadoop版本主要有三個(均是國外廠商),分別是:Apache(最原始的版本,所有發行版均基於這個版本進行改進)、Cloudera版本(Cloudera’s Distribution Including Apache hadoop,簡稱CDH)、Hortonworks版本(Hortonworks Data Platform,簡稱“HDP”),對於國內而言,絕大多數選擇CDH版本,CDH和Apache版本主要區別如下:
(1) CDH對Hadoop版本的劃分非常清晰,只有兩個系列的版本,分別是cdh3和cdh4,分別對應第一代Hadoop(Hadoop 1.0)和第二代Hadoop(Hadoop 2.0),相比而言,Apache版本則混亂得多;比Apache hadoop在相容性,安全性,穩定性上有增強。
(2)CDH3版本是基於Apache hadoop 0.20.2改進的,並融入了最新的patch,CDH4版本是基於Apache hadoop 2.X改進的,CDH總是並應用了最新Bug修復或者Feature的Patch,並比Apache hadoop同功能版本提早釋出,更新速度比Apache官方快。
(3)安全 CDH支援Kerberos安全認證,apache hadoop則使用簡陋的使用者名稱匹配認證
(4)CDH文件清晰,很多采用Apache版本的使用者都會閱讀CDH提供的文件,包括安裝文件、升級文件等。
(5)CDH支援Yum/Apt包,Tar包,RPM包,Cloudera Manager四種方式安裝,Apache hadoop只支援Tar包安裝。
注:CDH使用推薦的Yum/Apt包安裝時,有以下幾個好處:
1、聯網安裝、升級,非常方便
2、自動下載依賴軟體包
3、Hadoop生態系統包自動匹配,不需要你尋找與當前Hadoop匹配的Hbase,Flume,Hive等軟體,Yum/Apt會根據當前安裝Hadoop版本自動尋找匹配版本的軟體包,並保證相容性。
4、自動建立相關目錄並軟鏈到合適的地方(如conf和logs等目錄);自動建立hdfs, mapred使用者,hdfs使用者是HDFS的最高許可權使用者,mapred使用者則負責mapreduce執行過程中相關目錄的許可權。

安裝環境
三臺機器(虛擬機器或真實機器)
CentOS 6.5 x64 (記憶體2G以上)

準備工作:系統環境搭建
以下操作均用root使用者操作。

1.網路配置(所有節點)
vi /etc/sysconfig/network修改hostname:
NETWORKING=yes
HOSTNAME=cdh1
通過service network restart重啟網路服務生效。
vi /etc/hosts,修改ip與主機名的對應關係:
192.168.1.101 cdh1
192.168.1.102 cdh2
192.168.1.103 cdh3

2.打通SSH,設定ssh無密碼登陸(所有節點)


執行ssh-keygen -t rsa,一路回車,生成無密碼的金鑰對。
將公鑰新增到認證檔案中:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys,並設定authorized_keys的訪問許可權:chmod 600 ~/.ssh/authorized_keys。
通過scp命令將各節點的認證檔案拷貝到所有其他節點使得各節點能夠相互訪問。

3.安裝Oracle的Java(所有節點)
CentOS自帶OpenJdk,不過執行CDH5需要使用oracle的JDK,需要Java 7的支援。
解除安裝自帶的OpenJdk,使用rpm -qa | grep java查詢java相關的包,使用rpm -e –nodeps 包名解除安裝之。
去Oracle的官網下載jdk的rpm安裝包,並使用rpm -ivh 包名安裝,最後配置環境變數。

4.安裝配置MySQL(主節點)
通過yum install mysql-server安裝mysql伺服器。chkconfig mysqld on設定開機啟動,並service mysqld start啟動mysql服務,並根據提示設定root的初試密碼:mysqladmin -u root password ‘xxxx’。
mysql -uroot -pxxxx進入mysql命令列,建立以下資料庫:
create database hive DEFAULT CHARSET utf8 COLLATE utf8_general_ci;
create database amon DEFAULT CHARSET utf8 COLLATE utf8_general_ci;

5.關閉防火牆和SELinux(所有節點)
注意:需要在所有的節點上執行,因為涉及到的埠太多了,臨時關閉防火牆是為了安裝起來更方便,安裝完畢後可以根據需要設定防火牆策略,保證叢集安全。
關閉防火牆:
service iptables stop #臨時關閉
chkconfig iptables off #重啟後生效
關閉SELINUX:
setenforce 0 #臨時生效
或修改/etc/selinux/config 檔案的 SELINUX=disabled #重啟生效

6.ntp時間同步
1)安裝NTP(每個節點)
yum install ntp

2)配置NTP
master配置:(選用復旦大學ntp伺服器)
vi /etc/ntp.conf
server ntp.sjtu.edu.cn prefer

slave配置:(同步master)
vi /etc/ntp.conf
server cdh1

3)開啟NTP服務
service ntpd start
chkconfig ntpd on

4)檢視同步效果
命令:ntpstat

正式開工
安裝Cloudera Manager Server 和Agent
主節點解壓安裝
cloudera manager的目錄預設位置在/opt下,解壓:tar xzvf cloudera-manager*.tar.gz將解壓後的cm-5.3.3和cloudera目錄放到/opt目錄下。
為Cloudera Manager 5建立資料庫
首先需要去MySql的官網下載JDBC驅動,http://dev.mysql.com/downloads/connector/j/,解壓後,找到mysql-connector-java-5.1.35-bin.jar,放到/opt/cm-5.3.3/share/cmf/lib/中。

在主節點初始化CM5的資料庫:
/opt/cm-5.3.3/share/cmf/schema/scm_prepare_database.sh mysql cm -hlocalhost -uroot -pxxxx –scm-host localhost scm scm scm

Agent配置
修改/opt/cm-5.3.3/etc/cloudera-scm-agent/config.ini中的server_host為主節點的主機名。
同步Agent到其他節點
scp -r /opt/cm-5.3.3 [email protected]:/opt/

在所有節點建立cloudera-scm使用者
useradd –system –home=/opt/cm-5.3.3/run/cloudera-scm-server/ –no-create-home –shell=/bin/false –comment “Cloudera SCM User” cloudera-scm

準備Parcels,用以安裝CDH5
將CHD5相關的Parcel包放到主節點的/opt/cloudera/parcel-repo/目錄中(parcel-repo需要手動建立)。
相關的檔案如下:
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel
CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1
manifest.json
最後將CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1,重新命名為CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha,這點必須注意,否則,系統會重新下載CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel.sha1檔案。

相關啟動指令碼
通過/opt/cm-5.3.3/etc/init.d/cloudera-scm-server start啟動服務端。
通過/opt/cm-5.3.3/etc/init.d/cloudera-scm-agent start啟動Agent服務。
我們啟動的其實是個service指令碼,需要停止服務將以上的start引數改為stop就可以了,重啟是restart。

CDH5的安裝配置
Cloudera Manager Server和Agent都啟動以後,就可以進行CDH5的安裝配置了。
這時可以通過瀏覽器訪問主節點的7180埠測試一下了(由於CM Server的啟動需要花點時間,這裡可能要等待一會才能訪問),預設的使用者名稱和密碼均為admin:
這裡寫圖片描述
這裡寫圖片描述
各個Agent節點正常啟動後,可以在當前管理的主機列表中看到對應的節點。選擇要安裝的節點,點繼續。
這裡寫圖片描述
接下來,出現以下包名,說明本地Parcel包配置無誤,直接點繼續就可以了。
這裡寫圖片描述
點選,繼續,如果配置本地Parcel包無誤,那麼下圖中的已下載,應該是瞬間就完成了,然後就是耐心等待分配過程就行了。
這裡寫圖片描述
接下來是伺服器檢查,
會提示錯誤,解決辦法
echo 0 >/proc/sys/vm/swappiness(臨時生效)
echo never >/sys/kernel/mm/redhat_transparent_hugepage/defrag(臨時生效)

重啟永久生效:
vi /etc/sysctl.conf
vm.swappiness=0
vi /etc/rc.local
echo never >/sys/kernel/mm/redhat_transparent_hugepage/defrag

這裡寫圖片描述
接下來是選擇安裝服務:
這裡寫圖片描述
服務配置,一般情況下保持預設就可以了(Cloudera Manager會根據機器的配置自動進行配置,如果需要特殊調整,自行進行設定就可以了):
這裡寫圖片描述
接下來是資料庫的設定,檢查通過後就可以進行下一步的操作了
這裡寫圖片描述
下面是叢集設定的審查頁面,全部保持預設配置即可:
這裡寫圖片描述
終於到安裝各個服務的地方了,注意,這裡安裝hive的時候可能會報錯,因為我們使用了MySql作為hive的元資料儲存,hive預設沒有帶mysql的驅動,通過以下命令拷貝一個就行了:
cp /opt/cm-5.3.3/share/cmf/lib/mysql-connector-java-5.1.35-bin.jar /opt/cloudera/parcels/CDH-5.3.3-1.cdh5.3.3.p0.5-el6.parcel/lib/hive/lib/
這裡寫圖片描述
等待至完成。
這裡寫圖片描述

相關推薦

Kafka+Storm+HBase專案Demo(1)--CDH搭建hadoop叢集

這是一個類似淘寶雙11大螢幕的專案 。 kafka+storm+hbase整合:kafka作為分散式訊息系統,實時訊息系統,有生產者和消費者;storm作為大資料的實時處理系統;hbase是apache hadoop 的資料庫,其具有高效的讀寫效能。 Clo

1.環境搭建-Hadoop叢集搭建

本文主要是在CentOS叢集基礎上搭建Hadoop叢集。 【CentOS叢集:node1,node2,node3 】 【注:搭建hadoop叢集的前提是三個節點都已經配置好了靜態ip,虛擬機器終端內執行vi /etc/sysconfig/network-scri

CDH搭建Hadoop叢集(Centos7)

一、說明  節點(CentOS7.5) Server  || Agent CPU node11 Server  || Agent 4G node12 Agent

ssm專案學習1-環境搭建

1.建立一個maven工程 開發工具eclipse:建立maven專案 填寫上面建立專案的資訊 如果建立maven專案時出錯:沒有web.xml檔案 暫時不要管-----下面過程中會解決   1. java程式碼放在src/main/java下

Kafka+storm+hbase

本部落格基於以下軟體: Centos 7.3(1611) kafka_2.10-0.10.2.1.tgz zookeeper-3.4.10.tar.gz hbase-1.3.1-bin.tar.gz apache-storm-1.1.0.tar.gz ha

【無私分享:從入門到精通ASP.NET MVC】從0開始,一起搭框架、做專案1搭建MVC環境 註冊區域

索引 簡述 從今天開始,我們從0開始搭建一個框架,並且完成一個任務管理系統的專案。這並不是什麼大專案,只是對於不熟悉MVC以及不熟悉面向介面開發和依賴注入的朋友們有所啟發,因為是從0開始,所以有些地方比較囉嗦,希望大家理解! 希望新手朋友們拋棄“拿來主義”,動手跟著一步一步的做,當做完這個框架和專案

Storm Kafka + Storm + HBase例項

需求 WordCount案例 Kafka + Storm + HBase HBase表名:wordcount; 列族:result; RowKey:word; Field:count 打包叢集部署執行 開發過程 1. 配置kafkaSpou

Ubuntu 18.04.1 LTS 搭建Hadoop環境

1.Ubuntu環境配置 本文使用Ubuntu 18.04.1 LTS,其他版本搭建過程基本一致。 建立hadoop使用者(可略) 1.建立新使用者 $ sudo useradd -m hadoop -s /bin/bash 2.設定密碼 $ sudo pass

本地搭建hadoop叢集--sqoop的安裝.1.4.7 使用db2

安裝 1、解壓tar包 2、進入conf目錄 3、修改配置檔案 cp -a sqoop-env-template.sh sqoop-env.sh vm sqoop-env.sh   export HADOOP_COMMON_HOME=/opt/mo

本地搭建hadoop叢集--hbase和zookeeper的安裝

zookeeper的安裝 1、解壓tar包 2、修改配置檔案 cd conf cp -a zoo_sample.cfg zoo.cfg vim zoo.cfg 配置 dataDir=/opt/module/zookeeper-3.4.12/data 以

CDH搭建Hadoop集群(Centos7)

local 配置 tp服務器 order zxvf false 一個用戶 指向 comm 一、說明 節點(CentOS7.5) Server || Agent CPU node11 Server || Agent 4G nod

如何用CDH快速安裝搭建Hadoop叢集

安裝配置CDH 1、安裝 Cloudera Manager Server&Agent 拷貝cloudera-manager-el6-cm5.4.3_x86_64.tar.gz 到所有 Server、Agent節點 scp cloudera-mana

CDH版本Hadoop叢集環境搭建詳解

1、CDH版本hadoop重新編譯 1.1 為什麼要編譯? 由於cdh給出的hadoop的安裝包並沒有提供帶C程式訪問的介面,所以我們在使用本地庫(本地庫可以用來做壓縮,以及支援C程式等等)的時候就會出問題,所以一般需要自己重新編譯。 1.2 編譯環境的準備

RocketMQ 4.7.1 環境搭建叢集、MQ整合SpringBoot

導讀   之前學過ActiveMQ但是併發量不是很大點我直達,所以又學阿里開源的RocketMQ,據說佇列可以堆積億級別。下面是網上找的訊息佇列對比圖,僅供參考 部署 官網 點我直達 前置條件 推薦使用64位作業系統,建議使用Linux / Unix / Mac; 64位JDK 1.8+; Maven 3

保姆級教程,帶你認識大資料,從0到1搭建 Hadoop 叢集

# 大資料簡介,概念部分 概念部分,建議之前沒有任何大資料相關知識的朋友閱讀 ## 大資料概論 ### 什麼是大資料 大資料(Big Data)是指**無法在一定時間範圍**內用常規軟體工具進行捕捉、管理和處理的資料集合,是需要新處理模式才能具有更強的決策力、洞察發現力和流程優化能力的**海量、高增長

cdh 安裝hadoop叢集

hadoop基礎----hadoop實戰(六)-----hadoop管理工具---Cloudera Manager---CDH介紹 簡介 我們在上篇文章中已經瞭解了CDH,為了後續的學習,我們本章就來安裝CDH5.8。CDH5.8是目前比較新的版本,自帶hadoop2.0以上的hadoop,

docker中搭建Hadoop叢集

前提:jdk和ssh服務都已經安裝完成,如未完成,請參考博主所寫部落格 1、建立映象容器 -P將容器的所有埠對映到主機埠 docker run -itd -v /c/Users:/root/build -P -h master --name master --net mynetwork --

使用VMware搭建Hadoop叢集虛擬網路配置

使用NET模式,DNS地址就配置成閘道器的地址 NET虛擬網路配置   1、開啟VMware虛擬網路編輯器 編輯-->虛擬網路編輯器-->VMnet8-->更改設定     2、配置主機網路地址 &nb

centos7克隆及網路和主機名配置(VMware15搭建Hadoop叢集

1、克隆 選中右鍵,選擇紅色方框(虛擬機器必須關閉狀態) 2、選中現有快照,但如果沒有拍攝快照則無法選中(如果能選中,則可以忽略此步驟) 解決辦法: 一.選中需要克隆的虛擬機器右鍵點選 二.更改名稱,點選拍攝快照 三。如果不需要已經有了的快照,可以刪除了重新拍攝

配置NTP服務ntpd/ntp conf(搭建Hadoop叢集可參考)

分享一下我老師大神的人工智慧教程!零基礎,通俗易懂!http://blog.csdn.net/jiangjunshow 也歡迎大家轉載本篇文章。分享知識,造福人民,實現我們中華民族偉大復興!