最新国产好看的视频,伊人天堂AV在线,国产Aaaaaa视频,蜜臀视频在线观看一区,人妻av色图,密臀久久久精品影片,青青视频免费观看毛片,久草在线观看视,国产三级精品色情在线

kafka與storm集群環(huán)境的安裝步驟詳解

 更新時間:2018年01月28日 15:12:40   作者:虛無境  
這篇文章主要給大家介紹了關(guān)于kafka與storm集群環(huán)境安裝步驟的相關(guān)資料,兩者并不是一定聯(lián)系的,寫在一起主要是因為兩個都是有zookeeper管理的,文中通過示例代碼介紹的非常詳細,需要的朋友可以參考借鑒,下面隨著小編來一起學習學習吧。

前言

在開始之前,需要說明下,storm和kafka集群安裝是沒有必然聯(lián)系的,我將這兩個寫在一起,是因為他們都是由zookeeper進行管理的,也都依賴于JDK的環(huán)境,為了不重復(fù)再寫一遍配置,所以我將這兩個寫在一起。若只需一個,只需挑選自己選擇的閱讀即可。下面話不多說了,來一起看看詳細的介紹吧。

這兩者的依賴如下:

  • Storm集群:JDK1.8 , Zookeeper3.4,Storm1.1.1;
  • Kafa集群 : JDK1.8 ,Zookeeper3.4 ,Kafka2.12;

說明: Storm1.0 和Kafka2.0對JDK要求是1.7以上,Zookeeper3.0以上。

下載地址:

JDK安裝

每臺機器都要安裝JDK?。?!

說明: 一般CentOS自帶了openjdk,但是我們這里使用的是oracle的JDK。所以要寫卸載openjdk,然后再安裝在oracle下載好的JDK。如果已經(jīng)卸載,可以跳過此步驟。

首先輸入 java -version

查看是否安裝了JDK,如果安裝了,但版本不適合的話,就卸載

輸入

rpm -qa | grep java

查看信息


然后輸入:

rpm -e --nodeps “你要卸載JDK的信息”

如: rpm -e --nodeps java-1.7.0-openjdk-1.7.0.99-2.6.5.1.el6.x86_64

確認沒有了之后,解壓下載下來的JDK

tar -xvf jdk-8u144-linux-x64.tar.gz

移動到opt/java文件夾中,沒有就新建,然后將文件夾重命名為jdk1.8。

mv jdk1.8.0_144 /opt/java
mv jdk1.8.0_144 jdk1.8

然后編輯 profile 文件,添加如下配置

輸入:

vim /etc/profile

添加:

export JAVA_HOME=/opt/java/jdk1.8
export JRE_HOME=/opt/java/jdk1.8/jre
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
export PATH=.:${JAVA_HOME}/bin:$PATH

添加成功之后,輸入

source /etc/profile
java -version 

查看是否配置成功

Zookeeper 環(huán)境安裝

1,文件準備

將下載下來的Zookeeper 的配置文件進行解壓

在linux上輸入:

tar -xvf zookeeper-3.4.10.tar.gz

然后移動到/opt/zookeeper里面,沒有就新建,然后將文件夾重命名為zookeeper3.4

輸入

mv zookeeper-3.4.10 /opt/zookeeper
mv zookeeper-3.4.10 zookeeper3.4

2,環(huán)境配置

編輯 /etc/profile 文件

輸入:

export ZK_HOME=/opt/zookeeper/zookeeper3.4 
export PATH=.:${JAVA_HOME}/bin:${ZK_HOME}/bin:$PATH

輸入:

source /etc/profile

使配置生效

3,修改配置文件

3.3.1 創(chuàng)建文件和目錄

在集群的服務(wù)器上都創(chuàng)建這些目錄

mkdir /opt/zookeeper/data 
mkdir /opt/zookeeper/dataLog

并且在/opt/zookeeper/data目錄下創(chuàng)建myid文件

輸入:

touch myid

創(chuàng)建成功之后,更改myid文件。

我這邊為了方便,將master、slave1、slave2的myid文件內(nèi)容改為1,2,3

3.3.2 新建zoo.cfg

切換到/opt/zookeeper/zookeeper3.4/conf 目錄下

如果沒有 zoo.cfg 該文件,就復(fù)制zoo_sample.cfg文件并重命名為zoo.cfg。

修改這個新建的zoo.cfg文件

dataDir=/opt/zookeeper/data
dataLogDir=/opt/zookeeper/dataLog
server.1=master:2888:3888
server.2=slave1:2888:3888
server.3=slave2:2888:3888

說明:client port,顧名思義,就是客戶端連接zookeeper服務(wù)的端口。這是一個TCP port。dataLogDir里是放到的順序日志(WAL)。而dataDir里放的是內(nèi)存數(shù)據(jù)結(jié)構(gòu)的snapshot,便于快速恢復(fù)。為了達到性能最大化,一般建議把dataDir和dataLogDir分到不同的磁盤上,這樣就可以充分利用磁盤順序?qū)懙奶匦?。dataDir和dataLogDir需要自己創(chuàng)建,目錄可以自己制定,對應(yīng)即可。server.1中的這個1需要和master這個機器上的dataDir目錄中的myid文件中的數(shù)值對應(yīng)。server.2中的這個2需要和slave1這個機器上的dataDir目錄中的myid文件中的數(shù)值對應(yīng)。server.3中的這個3需要和slave2這個機器上的dataDir目錄中的myid文件中的數(shù)值對應(yīng)。當然,數(shù)值你可以隨便用,只要對應(yīng)即可。2888和3888的端口號也可以隨便用,因為在不同機器上,用成一樣也無所謂。

1.tickTime:CS通信心跳數(shù)

Zookeeper 服務(wù)器之間或客戶端與服務(wù)器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發(fā)送一個心跳。tickTime以毫秒為單位。

tickTime=2000

2.initLimit:LF初始通信時限

集群中的follower服務(wù)器(F)與leader服務(wù)器(L)之間初始連接時能容忍的最多心跳數(shù)(tickTime的數(shù)量)。

initLimit=10

3.syncLimit:LF同步通信時限

集群中的follower服務(wù)器與leader服務(wù)器之間請求和應(yīng)答之間能容忍的最多心跳數(shù)(tickTime的數(shù)量)。

syncLimit=5

依舊將zookeeper傳輸?shù)狡渌臋C器上,記得更改 /opt/zookeeper/data 下的myid,這個不能一致。

輸入:

scp -r /opt/zookeeper root@slave1:/opt
scp -r /opt/zookeeper root@slave2:/opt

4、啟動zookeeper

因為zookeeper是選舉制,它的主從關(guān)系并不是像hadoop那樣指定的,具體可以看官方的文檔說明。

成功配置zookeeper之后,在每臺機器上啟動zookeeper。

切換到zookeeper目錄下

cd /opt/zookeeper/zookeeper3.4/bin

輸入:

zkServer.sh start

成功啟動之后

查看狀態(tài)輸入:

zkServer.sh status

可以查看各個機器上zookeeper的leader和follower

Storm 環(huán)境安裝

1,文件準備

將下載下來的storm的配置文件進行解壓

在linux上輸入:

tar -xvf apache-storm-1.1.1.tar.gz

然后移動到/opt/storm里面,沒有就新建,然后將文件夾重命名為storm1.1

輸入

mv apache-storm-1.1.1 /opt/storm
 mv apache-storm-1.1.1 storm1.1

編輯 /etc/profile 文件

添加:

export STORM_HOME=/opt/storm/storm1.1
export PATH=.:${JAVA_HOME}/bin:${ZK_HOME}/bin:${STORM_HOME}/bin:$PATH 

輸入 storm version 查看版本信息

3,修改配置文件

編輯 storm/conf 的 storm.yarm。

進行如下編輯:

輸入:

vim storm.yarm

storm.zookeeper.servers:
 - "master"
 - "slave1"
 - "slave2"
storm.local.dir: "/root/storm"
nimbus.seeds: ["master"]
supervisor.slots.ports:
 - 6700
 - 6701
 - 6702
 - 6703


說明:

1、storm.zookeeper.servers是指定zookeeper的服務(wù)地址。

因為storm的存儲信息在zookeeper上,所以要配置zookeeper的服務(wù)地址。如果zookeeper是單機就只用指定一個!

2、storm.local.dir 表示存儲目錄。

Nimbus和Supervisor守護進程需要在本地磁盤上存儲一個目錄來存儲少量的狀態(tài)(比如jar,confs等等)??梢栽诿颗_機器創(chuàng)建,并給于權(quán)限。

3、nimbus.seeds 表示候選的主機。

worker需要知道那一臺機器是主機候選(zookeeper集群是選舉制),從而可以下載 topology jars 和confs。

4、supervisor.slots.ports 表示worker 端口。

對于每一個supervisor機器,我們可以通過這項來配置運行多少worker在這臺機器上。每一個worker使用一個單獨的port來接受消息,這個端口同樣定義了那些端口是開放使用的。如果你在這里定義了5個端口,就意味著這個supervisor節(jié)點上最多可以運行5個worker。如果定義3個端口,則意味著最多可以運行3個worker。在默認情況下(即配置在defaults.yaml中),會有有四個workers運行在 6700, 6701, 6702, and 6703端口。

supervisor并不會在啟動時就立即啟動這四個worker。而是接受到分配的任務(wù)時,才會啟動,具體啟動幾個worker也要根據(jù)我們Topology在這個supervisor需要幾個worker來確定。如果指定Topology只會由一個worker執(zhí)行,那么supervisor就啟動一個worker,并不會啟動所有。

注: 這些配置前面不要有空格?。?!,不然會報錯。 這里使用的是主機名(做了映射),也可以使用IP。實際的以自己的為準。

可以使用scp命令或者ftp軟件將storm復(fù)制到其他機器上

成功配置之后,然后就可以啟動Storm了,不過要確保JDK、Zookeeper已經(jīng)正確安裝,并且Zookeeper已經(jīng)成功啟動。

4,啟動Storm

切換到 storm/bin 目錄下

在主節(jié)點(master)啟動輸入:

storm nimbus >/dev/null 2>&1 &

訪問web界面(master)輸入:

storm ui 

從節(jié)點(slave1,slave2)輸入:

storm supervisor >/dev/null 2>&1 &

在瀏覽器界面輸入: 8080端口

成功打開該界面,表示環(huán)境配置成功:

kafka的環(huán)境安裝

kafka是一個高吞吐量的流式分布式消息系統(tǒng),用來處理活動流數(shù)據(jù),比如網(wǎng)頁的訪問量pm,日志等,既能夠?qū)崟r處理大數(shù)據(jù)信息也能離線處理。

1,文件準備

將下載下來的Kafka的配置文件進行解壓

在linux上輸入:

tar -xvf kafka_2.12-1.0.0.tgz

然后移動到/opt/kafka里面,沒有就新建,然后將文件夾重命名為kafka2.12

輸入

mv kafka_2.12-1.0.0 /opt/kafka
 mv kafka_2.12-1.0.0 kafka2.12

2,環(huán)境配置

編輯 /etc/profile 文件

輸入:

export KAFKA_HOME=/opt/kafka/kafka2.12 
export PATH=.:${JAVA_HOME}/bin:${KAFKA_HOME}/bin:${ZK_HOME}/bin:$PATH

輸入:

source /etc/profile

使配置生效

3,修改配置文件

注:其實要說的話,如果是單機的話,kafka的配置文件可以不用修改,直接到bin目錄下啟動就可以了。但是我們這里是集群,所以稍微改下就可以了。

切換到kafka/config 目錄下

編輯server.properties 文件

需要更改的是Zookeeper的地址:

找到Zookeeper的配置,指定Zookeeper集群的地址,設(shè)置如下修改就可以了

zookeeper.connect=master:2181,slave1:2181,slave2:2181
zookeeper.connection.timeout.ms=6000

其它可以選擇更改的有

1 ,num.partitions 表示指定的分區(qū),默認為1

2,log.dirs kafka的日志路徑,這個按照個人需求更改就行

...

注:還有其它的配置,可以查看官方文檔,如果沒有特別要求,使用默認的就可以了。

配置好之后,記得使用scp 命令傳輸?shù)狡渌募荷希?/p>

4,啟動kafka

集群每臺集群都需要操作!

切換到kafka/bin 目錄下

輸入:

kafka-server-start.sh

然后輸入jps名稱查看是否成功啟動:

成功啟動之后,可以進行簡單的測試下

首先創(chuàng)建個topic

輸入:

kafka-topics.sh --zookeeper master:2181 --create --topic t_test --partitions 5 --replication-factor 2

說明: 這里是創(chuàng)建了一個名為 t_test 的topic,并且指定了5個分區(qū),每個分區(qū)指定了2個副本數(shù)。如果不指定分區(qū),默認的分區(qū)就是配置文件配置的。

然后進行生產(chǎn)數(shù)據(jù)

輸入:

kafka-console-producer.sh --broker-list master:9092 --topic t_test

可以使用進行Ctrl+D 退出

然后我們再打開一個xshell窗口

進行消費

輸入:

kafka-console-consumer.sh --zookeeper master:2181 --topic t_test --from-beginning


可以使用進行Ctrl+C 退出

可以看到數(shù)據(jù)已經(jīng)正常消費了。

5,kafka的一些常用命令

1.啟動和關(guān)閉kafka

bin/kafka-server-start.sh config/server.properties >>/dev/null 2>&1 &
bin/kafka-server-stop.sh

2.查看kafka集群中的消息隊列和具體隊列

查看集群所有的topic

 kafka-topics.sh --zookeeper master:2181,slave1:2181,slave2:2181 --list

查看一個topic的信息

 kafka-topics.sh --zookeeper master:2181 --describe --topic t_test 

3.創(chuàng)建Topic

kafka-topics.sh --zookeeper master:2181 --create --topic t_test --partitions 5 --replication-factor 2

4.生產(chǎn)數(shù)據(jù)和消費數(shù)據(jù)

kafka-console-producer.sh --broker-list master:9092 --topic t_test

Ctrl+D 退出

kafka-console-consumer.sh --zookeeper master:2181 --topic t_test --from-beginning

Ctrl+C 退出

5.kafka的刪除命令

kafka-topics.sh --delete --zookeeper master:2181 --topic t_test

6,添加分區(qū)

kafka-topics.sh --alter --topict_test --zookeeper master:2181 --partitions 10

其它

Storm環(huán)境搭建參考官方文檔:http://storm.apache.org/releases/1.1.1/Setting-up-a-Storm-cluster.html

Kafka環(huán)境搭建參考官方文檔:http://kafka.apache.org/quickstart

總結(jié)

以上就是這篇文章的全部內(nèi)容了,希望本文的內(nèi)容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。

相關(guān)文章

  • SpringBoot默認包掃描機制及@ComponentScan指定掃描路徑詳解

    SpringBoot默認包掃描機制及@ComponentScan指定掃描路徑詳解

    這篇文章主要介紹了SpringBoot默認包掃描機制及@ComponentScan指定掃描路徑詳解,具有很好的參考價值,希望對大家有所幫助。如有錯誤或未考慮完全的地方,望不吝賜教
    2021-11-11
  • IDEA 包轉(zhuǎn)模塊的解決步驟

    IDEA 包轉(zhuǎn)模塊的解決步驟

    很多朋友遇到這樣一個問題,直接在idea拉取代碼,發(fā)現(xiàn)創(chuàng)建的模塊包類型不一樣了,類似這樣的問題該如何處理呢?很多朋友向小編求助,在這統(tǒng)一回答大家,需要的朋友參考下本文吧
    2021-06-06
  • shiro 認證流程操作

    shiro 認證流程操作

    這篇文章主要介紹了shiro 認證操作的相關(guān)資料,本文通過實例代碼給大家介紹的非常詳細,感興趣的朋友跟隨小編一起看看吧
    2024-01-01
  • SpringBoot中處理日期的兩種方式小結(jié)

    SpringBoot中處理日期的兩種方式小結(jié)

    本文主要介紹了SpringBoot中處理日期的兩種方式小結(jié),文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2023-04-04
  • 聊聊單線程的Redis為何會快到飛起

    聊聊單線程的Redis為何會快到飛起

    Redis想必大家都或多或少聽過吧,我們在工作學習中通常用它來作為緩存使用,既然是作為緩存,大家的第一反應(yīng)肯定是:這家伙很快
    2022-02-02
  • Maven install 報錯

    Maven install 報錯"程序包不存在"問題的解決方法

    這篇文章主要介紹了Maven install 報錯"程序包不存在"問題的解決方法,文中通過示例代碼介紹的非常詳細,對大家的學習或者工作具有一定的參考學習價值,需要的朋友們下面隨著小編來一起學習學習吧
    2020-07-07
  • Java線程池ForkJoinPool(工作竊取算法)的使用

    Java線程池ForkJoinPool(工作竊取算法)的使用

    Fork就是把一個大任務(wù)切分為若干個子任務(wù)并行地執(zhí)行,Join就是合并這些子任務(wù)的執(zhí)行結(jié)果,最后得到這個大任務(wù)的結(jié)果。Fork/Join?框架使用的是工作竊取算法。本文主要介紹了ForkJoinPool的使用,需要的可以參考一下
    2022-11-11
  • Spring SpringMVC在啟動完成后執(zhí)行方法源碼解析

    Spring SpringMVC在啟動完成后執(zhí)行方法源碼解析

    這篇文章主要介紹了SpringMVC在啟動完成后執(zhí)行方法源碼解析,還是非常不錯的,在這里分享給大家,需要的朋友可以參考下。
    2017-09-09
  • Java Date類的使用案例詳解

    Java Date類的使用案例詳解

    這篇文章主要介紹了Java Date類的使用案例詳解,本篇文章通過簡要的案例,講解了該項技術(shù)的了解與使用,以下就是詳細內(nèi)容,需要的朋友可以參考下
    2021-08-08
  • java 實現(xiàn)約瑟夫環(huán)的實例代碼

    java 實現(xiàn)約瑟夫環(huán)的實例代碼

    這一次是借鑒模仿別人寫的代碼,以前覺得不好將數(shù)據(jù)結(jié)構(gòu)的鏈結(jié)構(gòu)什么的遷移到j(luò)ava上來使用,但這一次確實讓我感受到了可以自己構(gòu)造數(shù)據(jù)結(jié)構(gòu),然后使用類似鏈的方式來解決約瑟夫環(huán),有所頓悟。不多說,繼續(xù)上代碼
    2013-10-10

最新評論

六枝特区| 土默特左旗| 滨州市| 吉木萨尔县| 乡宁县| 旌德县| 滁州市| 福鼎市| 南通市| 新和县| 浑源县| 竹溪县| 加查县| 温泉县| 内黄县| 永城市| 兴化市| 兴义市| 霍州市| 宁陵县| 漾濞| 睢宁县| 桓仁| 连云港市| 花莲县| 蓝山县| 绥德县| 东城区| 建德市| 天台县| 姜堰市| 长兴县| 锡林郭勒盟| 安庆市| 平定县| 无锡市| 响水县| 彰化市| 姚安县| 新河县| 昭觉县|