kafka叢集安裝
首先了解幾個kafka中的概念:
kafka是一個訊息佇列伺服器,服務稱為broker, 訊息傳送者稱為producer, 訊息接收者稱為consumer;通常我們部署多個broker以提供高可用性的訊息服務叢集.典型的是3個broker;訊息以topic的形式傳送到broker,消費者訂閱topic,實現按需取用的消費模式;建立topic需要指定replication-factor(複製數目, 通常=broker數目);每個topic可能有多個分割槽(partition), 每個分割槽的訊息內容不會重複:
假定我們有一個名稱為test的topic, 分割槽數目為2, 當我們傳送到這個test具體的訊息"msg1:hello beijing"和"msg2:hello shanghai"的時候,我們如何知道訊息的傳送路徑呢(發往哪個分割槽)?
msg1如果被髮送到分割槽test.1,則肯定不會傳送到test.2. 資料傳送路徑選擇決策受kafka.producer.Partitioner的影響:
interface Partitioner {
int partition(java.lang.Object key, int numPartitions);
}
一個虛擬碼的實現如下:
package org.mymibao.mq.client;
import kafka.producer.Partitioner;
public class DefaultKafkaPartitioner implements Partitioner {
private final static int FIRST_PARTITION_ID = 1;
public int partition(Object key, int numPartitions) {
return FIRST_PARTITION_ID;
}
}
kafka安裝配置參考:
1)下載KAFKA
$ wget
2)配置$KAFKA_HOME/config/server.properties
我們安裝3個broker,分別在3個vm上:zk1,zk2,zk3:
zk1:
$ vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=zk1
$ vi $KAFKA_HOME/config/server.properties
broker.id=0
port=9092
host.name=zk1
advertised.host.name=zk1
...
num.partitions=2
...
zookeeper.contact=zk1:2181,zk2:2181,zk3:2181
zk2:
$ vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=zk2
broker.id=1
port=9092
host.name=zk2
advertised.host.name=zk2
...
num.partitions=2
...
zookeeper.contact=zk1:2181,zk2:2181,zk3:2181
zk3:
$ vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=zk3
broker.id=2
port=9092
host.name=zk3
advertised.host.name=zk3
...
num.partitions=2
...
zookeeper.contact=zk1:2181,zk2:2181,zk3:2181
3)啟動zookeeper服務, 在zk1,zk2,zk3上分別執行:
$ zkServer.sh start
4)啟動kafka服務, 在zk1,zk2,zk3上分別執行:
$ kafka-server-start.sh ../config/server.properties
5) 新建一個TOPIC(replication-factor=num of brokers)
$ kafka-topics.sh --create --topic test --replication-factor 3 --partitions 2 --zookeeper zk1:2181
6)假設我們在zk2上,開一個終端,傳送訊息至kafka(zk2模擬producer)
$ kafka-console-producer.sh --broker-list zk1:9092 --sync --topic test
在傳送訊息的終端輸入:Hello Kafka
7)假設我們在zk3上,開一個終端,顯示訊息的消費(zk3模擬consumer)
$ kafka-console-consumer.sh --zookeeper zk1:2181 --topic test --from-beginning
原文:http://blog.csdn.net/ubuntu64fan/article/details/2668
來自 “ ITPUB部落格 ” ,連結:http://blog.itpub.net/29754888/viewspace-1267107/,如需轉載,請註明出處,否則將追究法律責任。
相關文章
- Kafka叢集安裝Version2.10Kafka
- 【redis叢集安裝】Redis
- zookeeper 叢集安裝
- hbase叢集安裝
- StarRocks 叢集安裝
- cdh 叢集安裝
- ElasticSearch 6.6.0叢集安裝Elasticsearch
- TiDB叢集安裝TiDB
- Elasticsearch 叢集安裝部署Elasticsearch
- 【Zookeeper】zookeeper叢集安裝
- 記HBase叢集安裝
- Hadoop叢集安裝Hadoop
- Hadoop叢集安裝配置Hadoop
- kubernetes叢集安裝
- elasticsearch叢集安裝(3臺)Elasticsearch
- Storm叢集安裝與部署ORM
- ZooKeeper叢集安裝和部署
- linux ZooKeeper叢集安裝Linux
- WAS叢集安裝配置過程
- Kubernetes 叢集安裝
- redis cluster 4.0.9 叢集安裝搭建Redis
- WAS中介軟體垂直叢集安裝
- WAS中介軟體水平叢集安裝
- mongo副本集叢集安裝配置Go
- K8S叢集安裝K8S
- CDH5 叢集安裝教程H5
- Hadoop 叢集安裝與配置Hadoop
- hadoop叢集安裝檔案Hadoop
- Flink(四)叢集安裝(二)
- Zookeeper介紹與叢集安裝
- k8s 叢集安裝K8S
- Redis概述和單機、叢集安裝Redis
- Hadoop叢集安裝詳細教程Hadoop
- ElasticSearch 2.3.3 叢集安裝+ Marvel + kibanaElasticsearch
- oracle雙機叢集安裝小結Oracle
- 安裝Kafka叢集Kafka
- ceph叢集安裝報錯解決方法
- PXC(Percona XtraDB Cluster)叢集安裝