jafka環境搭建步驟--執行個體可用

來源:互聯網
上載者:User
1 搭建執行個體

A 下載包

B 修改 jafka.conf修改 jafka_home修改絕對路徑

set.JAFKA_HOME=/opt/apps/jafka-1.2.1

我發現不改也沒事

C 運行jafkamq

sh ./bin/server.sh conf/server.properties

d 運行和停止

./run.sh start 

…../ console

./run.sh stop

E java代碼—非常重要連接埠問題

預設連接埠放在了conf/server.properties檔案下的連接埠

預設應該都是9002,

package com;

 

import java.util.Properties;

 

import com.sohu.jafka.producer.Producer;

importcom.sohu.jafka.producer.ProducerConfig;

importcom.sohu.jafka.producer.StringProducerData;

importcom.sohu.jafka.producer.serializer.StringEncoder;

 

public class JJProducer {

         publicstatic void main(String[] args) throws Exception {

             Properties props = new Properties();

             props.put("broker.list","0:10.16.xxx.xx:9002");

             props.put("serializer.class",StringEncoder.class.getName());

             ProducerConfig config = newProducerConfig(props);

             Producer<String, String> producer =new Producer<String, String>(config);

             StringProducerData data = newStringProducerData("demo");

             for(int i=0;i<20;i++) {

                 data.add("Hello world #"+i);

             }

             try {

                 long start =System.currentTimeMillis();

                 for (int i = 0; i < 20; i++) {

                     producer.send(data);

                 }

                 long cost = System.currentTimeMillis()- start;

                 System.out.println("send 20message cost: "+cost+" ms");

             } finally {

                 producer.close();

             }

         }

}

 

package com;

 

import com.sohu.jafka.api.FetchRequest;

import com.sohu.jafka.consumer.SimpleConsumer;

importcom.sohu.jafka.message.ByteBufferMessageSet;

importcom.sohu.jafka.message.MessageAndOffset;

import com.sohu.jafka.utils.Utils;

 

public class JJConsumer {

        

         publicstatic void main(String[] args) throws Exception {

 

                   SimpleConsumerconsumer = new SimpleConsumer("10.16.xxx.xx", 9002);

                   //

                   longoffset = 0;

                   while(true) {

                       FetchRequest request = newFetchRequest("demo", 0, offset);

                       ByteBufferMessageSet  set = consumer.fetch(request);

                       L.l.info("set size"+set);

                       for (MessageAndOffset msg : set) {

                          System.out.println(Utils.toString(msg.message.payload(),"UTF-8"));

                           offset = msg.offset;

                          L.l.info("message:"+Utils.toString(msg.message.payload(),"UTF-8"));

                       }

                   }

         }

}

 

  2 搭建以zookeeper來整合

其他一樣,

首先先要啟動zookeeper的,

 

B :事實上這句啟動會錯誤,而且根本不需要,直接發送接收

首先要zookeeper已經建立好

$bin/zookeeper-server.sh conf/zookeeper.properties

C:進行發送

bin/producer-console.sh --zookeeper 1.1.1.1:2184 --topic demo

D:進行接收

sh ./bin/consumer-console.sh --zookeeper 1.1.1.1:2184 --topic demo --from-beginning

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.