日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

kafka和storm集群的环境安装

發布時間:2025/7/14 编程问答 58 豆豆
生活随笔 收集整理的這篇文章主要介紹了 kafka和storm集群的环境安装 小編覺得挺不錯的,現在分享給大家,幫大家做個參考.

前言

storm和kafka集群安裝是沒有必然聯系的,我將這兩個寫在一起,是因為他們都是由zookeeper進行管理的,也都依賴于JDK的環境,為了不重復再寫一遍配置,所以我將這兩個寫在一起。若只需一個,只需挑選自己選擇的閱讀即可。

這兩者的依賴如下:

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

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

下載地址:
Zookeeper:https://zookeeper.apache.org/releases.html#download
Storm: http://storm.apache.org/downloads.html
Kafka: http://kafka.apache.org/downloads

JDK安裝

每臺機器都要安裝JDK!!!
說明: 一般CentOS自帶了openjdk,但是我們這里使用的是oracle的JDK。所以要寫卸載openjdk,然后再安裝在oracle下載好的JDK。如果已經卸載,可以跳過此步驟。
首先輸入 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 環境安裝

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,環境配置

編輯 /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 創建文件和目錄

在集群的服務器上都創建這些目錄

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

并且在/opt/zookeeper/data目錄下創建myid文件
輸入:

touch myid

創建成功之后,更改myid文件。
我這邊為了方便,將master、slave1、slave2的myid文件內容改為1,2,3

3.3.2 新建zoo.cfg

切換到/opt/zookeeper/zookeeper3.4/conf 目錄下
如果沒有 zoo.cfg 該文件,就復制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服務的端口。這是一個TCP port。dataLogDir里是放到的順序日志(WAL)。而dataDir里放的是內存數據結構的snapshot,便于快速恢復。為了達到性能最大化,一般建議把dataDir和dataLogDir分到不同的磁盤上,這樣就可以充分利用磁盤順序寫的特性。dataDir和dataLogDir需要自己創建,目錄可以自己制定,對應即可。server.1中的這個1需要和master這個機器上的dataDir目錄中的myid文件中的數值對應。server.2中的這個2需要和slave1這個機器上的dataDir目錄中的myid文件中的數值對應。server.3中的這個3需要和slave2這個機器上的dataDir目錄中的myid文件中的數值對應。當然,數值你可以隨便用,只要對應即可。2888和3888的端口號也可以隨便用,因為在不同機器上,用成一樣也無所謂。
1.tickTime:CS通信心跳數
Zookeeper 服務器之間或客戶端與服務器之間維持心跳的時間間隔,也就是每個 tickTime 時間就會發送一個心跳。tickTime以毫秒為單位。
tickTime=2000
2.initLimit:LF初始通信時限
集群中的follower服務器(F)與leader服務器(L)之間初始連接時能容忍的最多心跳數(tickTime的數量)。
initLimit=10
3.syncLimit:LF同步通信時限
集群中的follower服務器與leader服務器之間請求和應答之間能容忍的最多心跳數(tickTime的數量)。
syncLimit=5

依舊將zookeeper傳輸到其他的機器上,記得更改 /opt/zookeeper/data 下的myid,這個不能一致。
輸入:

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

4,啟動zookeeper

因為zookeeper是選舉制,它的主從關系并不是像hadoop那樣指定的,具體可以看官方的文檔說明。
成功配置zookeeper之后,在每臺機器上啟動zookeeper。
切換到zookeeper目錄下

cd /opt/zookeeper/zookeeper3.4/bin

輸入:

zkServer.sh start

成功啟動之后
查看狀態輸入:

zkServer.sh status

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

Storm 環境安裝

1,文件準備

將下載下來的storm的配置文件進行解壓
在linux上輸入:

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

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

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

2,環境配置

編輯 /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


說明:

  • storm.zookeeper.servers是指定zookeeper的服務地址。
    因為storm的存儲信息在zookeeper上,所以要配置zookeeper的服務地址。如果zookeeper是單機就只用指定一個!
  • storm.local.dir 表示存儲目錄。
    Nimbus和Supervisor守護進程需要在本地磁盤上存儲一個目錄來存儲少量的狀態(比如jar,confs等等)??梢栽诿颗_機器創建,并給于權限。
    3.nimbus.seeds 表示候選的主機。
    worker需要知道那一臺機器是主機候選(zookeeper集群是選舉制),從而可以下載 topology jars 和confs。
    4.supervisor.slots.ports 表示worker 端口。
    對于每一個supervisor機器,我們可以通過這項來配置運行多少worker在這臺機器上。每一個worker使用一個單獨的port來接受消息,這個端口同樣定義了那些端口是開放使用的。如果你在這里定義了5個端口,就意味著這個supervisor節點上最多可以運行5個worker。如果定義3個端口,則意味著最多可以運行3個worker。在默認情況下(即配置在defaults.yaml中),會有有四個workers運行在 6700, 6701, 6702, and 6703端口。
    supervisor并不會在啟動時就立即啟動這四個worker。而是接受到分配的任務時,才會啟動,具體啟動幾個worker也要根據我們Topology在這個supervisor需要幾個worker來確定。如果指定Topology只會由一個worker執行,那么supervisor就啟動一個worker,并不會啟動所有。
  • : 這些配置前面不要有空格!!!,不然會報錯。 這里使用的是主機名(做了映射),也可以使用IP。實際的以自己的為準。

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

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

    4,啟動Storm

    切換到 storm/bin 目錄下
    在主節點(master)啟動輸入:

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

    訪問web界面(master)輸入:

    storm ui

    從節點(slave1,slave2)輸入:

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

    在瀏覽器界面輸入: 8080端口
    成功打開該界面,表示環境配置成功:

    kafka的環境安裝

    1,文件準備

    將下載下來的Kafka的配置文件進行解壓
    在linux上輸入:

    tar -xvf kafka_2.12-1.0.0.tgz

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

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

    2,環境配置

    編輯 /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集群的地址,設置如下修改就可以了

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

    其它可以選擇更改的有

    1 ,num.partitions 表示指定的分區,默認為1
    2,log.dirs kafka的日志路徑,這個按照個人需求更改就行
    3, broker.id:非負整數,用于唯一標識broker,每臺不一樣

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

    配置好之后,記得使用scp 命令傳輸到其它的集群上,記得更改server.properties 文件!

    4,啟動kafka

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

    切換到kafka/bin 目錄下
    輸入:

    kafka-server-start.sh

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

    成功啟動之后,可以進行簡單的測試下
    首先創建個topic
    輸入:

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

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

    然后進行生產數據
    輸入:

    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 退出

    可以看到數據已經正常消費了。

    5,kafka的一些常用命令

    1.啟動和關閉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.創建Topic

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

    4.生產數據和消費數據

    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,添加分區

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

    其它

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

    Kafka環境搭建參考官方文檔:
    http://kafka.apache.org/quickstart

    到此,本文結束,謝謝閱讀!

    轉載于:https://www.cnblogs.com/xuwujing/p/8361629.html

    總結

    以上是生活随笔為你收集整理的kafka和storm集群的环境安装的全部內容,希望文章能夠幫你解決所遇到的問題。

    如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。