真实的国产乱ⅩXXX66竹夫人,五月香六月婷婷激情综合,亚洲日本VA一区二区三区,亚洲精品一区二区三区麻豆

成都創(chuàng)新互聯(lián)網(wǎng)站制作重慶分公司

kafka詳細(xì)介紹,安裝,配置

 1、簡(jiǎn)介

創(chuàng)新互聯(lián)服務(wù)項(xiàng)目包括東明網(wǎng)站建設(shè)、東明網(wǎng)站制作、東明網(wǎng)頁(yè)制作以及東明網(wǎng)絡(luò)營(yíng)銷策劃等。多年來(lái),我們專注于互聯(lián)網(wǎng)行業(yè),利用自身積累的技術(shù)優(yōu)勢(shì)、行業(yè)經(jīng)驗(yàn)、深度合作伙伴關(guān)系等,向廣大中小型企業(yè)、政府機(jī)構(gòu)等提供互聯(lián)網(wǎng)行業(yè)的解決方案,東明網(wǎng)站推廣取得了明顯的社會(huì)效益與經(jīng)濟(jì)效益。目前,我們服務(wù)的客戶以成都為中心已經(jīng)輻射到東明省份的部分城市,未來(lái)相信會(huì)繼續(xù)擴(kuò)大服務(wù)區(qū)域并繼續(xù)獲得客戶的支持與信任!

    Kafka is a distributed,partitioned,replicated commit logservice。它提供了類似于JMS的特性,但是在設(shè)計(jì)實(shí)現(xiàn)上完全不同,此外它并不是JMS規(guī)范的實(shí)現(xiàn)。kafka對(duì)消息保存時(shí)根據(jù)Topic進(jìn)行歸類,發(fā)送消息者成為Producer,消息接受者成為Consumer,此外kafka集群有多個(gè)kafka實(shí)例組成,每個(gè)實(shí)例(server)成為broker。無(wú)論是kafka集群,還是producer和consumer都依賴于zookeeper來(lái)保證系統(tǒng)可用性集群保存一些meta信息。

Kafka是一種分布式的,基于發(fā)布/訂閱的消息系統(tǒng) , 它的架構(gòu)包括以下組件:

 

kafka詳細(xì)介紹,安裝,配置

i. 消息的發(fā)布(publish)稱作producer,消息的訂閱(subscribe)稱作consumer,中間的存儲(chǔ)陣列稱作broker。

ii. 多個(gè)broker協(xié)同合作,producer、consumer和broker三者之間通過(guò)zookeeper來(lái)協(xié)調(diào)請(qǐng)求和轉(zhuǎn)發(fā)。 

iii. producer產(chǎn)生和推送(push)數(shù)據(jù)到broker,consumer從broker拉取(pull)數(shù)據(jù)并進(jìn)行處理。 

iv. broker端不維護(hù)數(shù)據(jù)的消費(fèi)狀態(tài),提升了性能。 已發(fā)布的消息保存在一組服務(wù)器中,稱之為Kafka集群。集群中的每一個(gè)服務(wù)器都是一個(gè)代理(Broker). 消費(fèi)者可以訂閱一個(gè)或多個(gè)話題,并從Broker拉數(shù)據(jù),從而消費(fèi)這些已發(fā)布的消息。

v. 直接使用磁盤進(jìn)行存儲(chǔ),線性讀寫,速度快:避免了數(shù)據(jù)在JVM內(nèi)存和系統(tǒng)內(nèi)存之間的復(fù)制,減少耗性能的創(chuàng)建對(duì)象和垃圾回收。 

vi. Kafka使用scala編寫,可以運(yùn)行在JVM上。 

kafka詳細(xì)介紹,安裝,配置

如上圖所示,一個(gè)典型的Kafka集群中包含:

若干Producer(可以是web前端產(chǎn)生的Page View,或者是服務(wù)器日志,系統(tǒng)CPU、Memory等),若干broker(Kafka支持水平擴(kuò)展,一般broker數(shù)量越多,集群吞吐率越高)。

若干Consumer Group,以及一個(gè)Zookeeper集群。Kafka通過(guò)Zookeeper管理集群配置,選舉leader,以及在Consumer Group發(fā)生變化時(shí)進(jìn)行rebalance。Producer使用push模式將消息發(fā)布到broker,Consumer使用pull模式從broker訂閱并消費(fèi)消息。

Topic & Partition

Topic在邏輯上可以被認(rèn)為是一個(gè)queue,每條消費(fèi)都必須指定它的Topic,可以簡(jiǎn)單理解為必須指明把這條消息放進(jìn)哪個(gè)queue里。為了使得Kafka的吞吐率可以線性提高,物理上把Topic分成一個(gè)或多個(gè)Partition,每個(gè)Partition在物理上對(duì)應(yīng)一個(gè)文件夾,該文件夾下存儲(chǔ)這個(gè)Partition的所有消息和索引文件。若創(chuàng)建topic1和topic2兩個(gè)topic,且分別有13個(gè)和19個(gè)分區(qū),則整個(gè)集群上會(huì)相應(yīng)會(huì)生成共32個(gè)文件夾

開始安裝kafka集群:

1,創(chuàng)建用戶

 在所有主機(jī)上添加用戶:

groupadd kafka

useradd kafka -g kafka

2,主機(jī)分配 分別為Hadoop1 ,Hadoop2,Hadoop3 

3,綁定hosts

172.16.1.250 hadoop1

172.16.1.252 hadoop2

172.16.1.253 hadoop3

 

4,下載,解壓

https://kafka.apache.org/

tar -xzf kafka_2.9.2-0.8.1.1.tgz

cd kafka_2.9.2-0.8.1.1

ln -s /usr/local/hadoop/kafka_2.10-0.8.1.1 /usr/local/hadoop/kafka

chown -R kafka:kafka /usr/local/hadoop

在Hadoop3機(jī)器先安裝

5,修改配置文件

cd  /usr/local/hadoop/kafka/config

vim  /kafka/server.properties 

broker.id=3  三臺(tái)機(jī)的id不能一樣

port=9092

num.network.threads=2

num.io.threads=8

socket.send.buffer.bytes=1048576

socket.receive.buffer.bytes=1048576

socket.request.max.bytes=104857600

log.dirs=/tmp/kafka-logs

num.partitions=2

log.retention.hours=168

log.segment.bytes=536870912

log.retention.check.interval.ms=60000

log.cleaner.enable=false

zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181/kafka   (zookpeer集群)

zookeeper.connection.timeout.ms=1000000

啟動(dòng)

 bin/kafka-server-start.sh /usr/local/hadoop/kafka/config/server.properties &

6,配置Java環(huán)境

#java 

export JAVA_HOME=/soft/jdk1.7.0_79

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH=$PATH:/$JAVA_HOME/bin:$HADOOP_HOME/bin

7,部署kafka集群

 由于kafka集群需要依賴zookeeper,所以安裝下zookeeper

 見(jiàn):

https://taoistwar.gitbooks.io/spark-operationand-maintenance-management/content/spark_relate_software/kafka_install.html 

7,同步三臺(tái)機(jī)器的配置文件,并修改相應(yīng)的broker.id=1,broker.id=2,broker.id=3

cd /usr/local/hadoop/

在Hadoop3機(jī)器上先安裝好一臺(tái)了

scp -r kafka/  hadoop1:/usr/local/hadoop/ 

scp -r kafka/  hadoop2:/usr/local/hadoop/ 

  

在Hadoop1機(jī)器上,修改配置文件,并啟動(dòng)

vim conf/server.properties

broker.id=1  三臺(tái)機(jī)的id不能一樣

port=9092

num.network.threads=2

num.io.threads=8

socket.send.buffer.bytes=1048576

socket.receive.buffer.bytes=1048576

socket.request.max.bytes=104857600

log.dirs=/tmp/kafka-logs

num.partitions=2

log.retention.hours=168

log.segment.bytes=536870912

log.retention.check.interval.ms=60000

log.cleaner.enable=false

zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181/kafka   (zookpeer集群)

zookeeper.connection.timeout.ms=1000000

啟動(dòng)

 bin/kafka-server-start.sh /usr/local/kafka/config/server.properties &

在Hadoop2機(jī)器上,修改配置文件,并啟動(dòng)

vim conf/server.properties

broker.id=2  三臺(tái)機(jī)的id不能一樣

port=9092

num.network.threads=2

num.io.threads=8

socket.send.buffer.bytes=1048576

socket.receive.buffer.bytes=1048576

socket.request.max.bytes=104857600

log.dirs=/tmp/kafka-logs

num.partitions=2

log.retention.hours=168

log.segment.bytes=536870912

log.retention.check.interval.ms=60000

log.cleaner.enable=false

zookeeper.connect=hadoop1:2181,hadoop2:2181,hadoop3:2181/kafka   (zookpeer集群)

zookeeper.connection.timeout.ms=1000000

啟動(dòng)

 bin/kafka-server-start.sh /usr/local/hadoop/kafka/config/server.properties &

 

8驗(yàn)證

使用Kafka自帶的腳本,啟動(dòng)基于Console的producer和consumer。

9,錯(cuò)誤總結(jié):

ttp://wenda.chinahadoop.cn/question/4079?notification_id=290954&rf=false&item_id=10382#!answer_10382      

http://blog.csdn.net/wenxuechaozhe/article/details/52664774  

http://472053211.blog.51cto.com/3692116/1655844 

10,實(shí)際操作見(jiàn):

https://taoistwar.gitbooks.io/spark-operationand-maintenance-management/content/spark_relate_software/kafka_install.html


網(wǎng)頁(yè)標(biāo)題:kafka詳細(xì)介紹,安裝,配置
網(wǎng)頁(yè)URL:http://weahome.cn/article/pdephi.html

其他資訊

在線咨詢

微信咨詢

電話咨詢

028-86922220(工作日)

18980820575(7×24)

提交需求

返回頂部