1. 程式人生 > >java系列之zokeeper與kafka安裝使用

java系列之zokeeper與kafka安裝使用

最近正在搞元資料架構,學了一下zookeeper和kafka,在這裡把它們的搭建方法記錄一下,以便供大家和自己以後參考。
zookeeper:顧名思義,動物園管理者,國外程式猿愛把各種軟體起一個動物的名字,諸如tomcat之類的;因此可以把zookeeper當做
是一個管理各種軟體的工具,在這裡只介紹一下zookeeper管理kafka的示例,其他的大家可以自行研究。
下載zookeeper後可以直接執行zkserver(需要先建一個配置檔案zoo.cfg[可直接複製備份檔案]);
kafka:訊息佇列,簡單點說,就是傳送訊息,一方傳送,乙方接收;
    至於kafka的原理可參考:  http://www.infoq.com/cn/articles/apache-kafka
http://cailin.iteye.com/blog/2014486/

安裝方法可參考:http://blog.csdn.net/evankaka/article/details/52421314(windows)
http://czj4451.iteye.com/blog/2041096(linux)
以上網址中的部落格已經把操作步驟寫的很清楚了,我也就不再贅述了,大家可以參照部落格中的方法進行安裝和執行;
當然了,安裝並執行軟體永遠都不是最終目的,程式猿的最終目的是要在程式碼上自動執行才是關鍵;
該專案主要是新增節點,監聽節點以及刪除節點;
首先將zookeeper的server服務端啟動,即可執行下面的專案
然後可以啟動zookeeper的client端來檢視當前的服務節點,其實就是目錄結構;
只需要在pop.xml中加入

<dependency>  
           <groupId>org.apache.zookeeper</groupId>  
           <artifactId>zookeeper</artifactId>  
           <version>3.4.6</version>  
       </dependency>  
  </dependencies>
package com.zoo;

import java.util.Arrays;
import java.util
.List; import org.apache.zookeeper.CreateMode; import org.apache.zookeeper.WatchedEvent; import org.apache.zookeeper.Watcher; import org.apache.zookeeper.ZooDefs; import org.apache.zookeeper.ZooKeeper; //啟動客戶端之後輸入ls+空格+/ public class ZookeeperTest { // 根節點 public static final String ROOT = "/root-ktv1"; public static void main(String[] args) throws Exception { // 建立一個與伺服器的連線 Watcher watcher = new Watcher(){ public void process(WatchedEvent event) { System.out.println("狀態:" + event.getState()+":"+event.getType()+":"+event.getWrapper()+":"+event.getPath()); } }; ZooKeeper zk = new ZooKeeper("localhost:2181", 300, watcher); // 建立一個總的目錄ktv,並不控制權限,這裡需要用持久化節點,不然下面的節點建立容易出錯 zk.create(ROOT, "root-ktv1".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT); // 然後杭州開一個快遞 , PERSISTENT_SEQUENTIAL 型別會自動加上 0000000000 自增的字尾 zk.create(ROOT+"/杭州快遞", "杭州快遞".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.PERSISTENT_SEQUENTIAL); // 也可以在北京開一個, EPHEMERAL session 過期了就會自動刪除 zk.create(ROOT+"/北京快遞", "北京快遞".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL); // 同理,我可以在北京開多個,EPHEMERAL_SEQUENTIAL session 過期自動刪除,也會加數字的字尾 zk.create(ROOT+"/北京快遞-分店", "北京快遞-分店".getBytes(), ZooDefs.Ids.OPEN_ACL_UNSAFE, CreateMode.EPHEMERAL_SEQUENTIAL); // 我們也可以 來看看 一共監視了多少家的ktv List<String> ktvs = zk.getChildren(ROOT, true); System.out.println(Arrays.toString(ktvs.toArray())); for(String node : ktvs){ // 刪除節點 zk.delete(ROOT+"/"+node,-1); } // 根目錄得最後刪除的 zk.delete(ROOT, -1); zk.close(); } }

以後再加幾個java以及與springmvc合成的例子,今天先寫到這兒
下面寫一個kafka的例子:

不知道為什麼我的消費者老是接收不到資訊,大夥兒有跑起來的可以給我留個言啊

正好需要(檢視zokeeper和kafka的程序是否啟動),先記錄一下windows和linux簡單檢視進行的方法
windows:(通過搜尋埠)
1)檢視佔用8080埠的程序號

netstat –aon | findstr “8080”

結果:TCP 0.0.0.0:8080 0.0.0.0:0 LISTENING 3500

可知,程序號為3500的程序佔用了8080埠

可以使用命令 tasklist | findstr “3500”進一步檢視3500程序的具體資訊。

tasklist | findstr “3500”

結果:javaw.exe 3500 Console 0 28,792 K

可知3500程序為javaw.exe。

2)殺掉程序

tskill 3500

linux:ps aux | grep ‘zookeeper’

相關推薦

java系列zokeeperkafka安裝使用

最近正在搞元資料架構,學了一下zookeeper和kafka,在這裡把它們的搭建方法記錄一下,以便供大家和自己以後參考。 zookeeper:顧名思義,動物園管理者,國外程式猿愛把各種軟體起一個動物的名字,諸如tomcat之類的;因此可以把zookeeper當做

zookeeperkafka安裝部署及java環境搭建

3.4 項目目錄 tin bytes result zxvf util ise cat 1. ZooKeeper安裝部署 本文在一臺機器上模擬3個zk server的集群安裝。 1.1. 創建目錄、解壓 cd /usr/ #創建項目目錄 mkdir zookeepe

java開發eclipse插件安裝配置(完)

net 持久 tar ont 企業級 lib 軟件開發 三種 工程 Tomcat插件的安裝與配置 TomcatPlugin插件下載網址http://www.eclipsetotale.com/tomcatPlugin.html,下載一個壓縮包tomcat

JAVA-資料庫MySQLJDBC驅動下載安裝

相關資料:《21天學通Java Web開發》 MySQL下載地址:https://dev.mysql.com/get/Downloads/MySQL-5.7/mysql-5.7.19-winx64.zip檔名:mysql-5.7.19-winx64.zip安裝:直接雙擊EXE就可以安裝。 埠:33

Java SE裝箱拆箱

fin valueof targe 單純 數值 test 構造 簡化 ble 對象包裝器、自動裝箱與拆箱 2016/11/30 晚 特點: 1.所有的基本類型都有一個包裝器類與之對應。[Integer,Boolean,Long,Character,Sh

Spring系列beanFactoryApplicationContext

初始化 緩存 arc 等待 管理bean 核心 畫的 ssi alias 一、BeanFactoryBeanFactory 是 Spring 的“心臟”。它就是 Spring IoC 容器的真面目。Spring 使用 BeanFactory 來實例化、配置和管理 Bean。

緩存系列三:redis安裝及基本數據類型命令使用

pytho children tile 指令 sed eject 檢測 install 文件的 一:Redis是一個開源的key-value存儲系統。與Memcached類似,Redis將大部分數據存儲在內存中,支持的數據類型包括:字符串、哈希表、鏈表、集合、有序集合以及基

Java集合Collection子類回顧

asn void 排序 dha 避免 bst 自然 我們 tip Java學習這麽久,打算這幾天回顧下java的基本知識點,首先是集合。 一、常用集合類關系圖 Collection   |___List  有序,可重復     |___ArrayList   底層數據結構是

zabbix系列服務端的安裝部署(一)

zabbix zabbix_server zabbix1、zabbix的定義zabbix是一個基於WEB界面的提供分布式系統監視以及網絡監視功能的企業級的開源解決方案。zabbix能監視各種網絡參數,保證服務器系統的安全運營;並提供靈活的通知機制以讓系統管理員快速定位/解決存在的各種問題。zabbix

Java 系列Filter(一)

_id java ted img 3.2 認證 nts index.jsp enc 一、過濾器   過濾器就是在源數據和目的數據之間起過濾作用的中間組件。它可以截取客戶端和資源之間的請求和響應信息,並且對這些信息進行過濾。    二、應用場景   1、對用戶請求進行統一認證

Java 系列spring學習--依賴註入(二)

ssp app odin throw 函數 ans 圖片 .com 配置 一、依賴註入的三種方式   接口註入,set註入,構造函數註入 二、構造函數註入   2.1、測試類 package test; public class test01 { public St

Java 系列spring學習--springmvc註解方式(五)

internal fault .org blank port imp handle scan html 一、springmvc註解方式   註解方式使用的更多,更加靈活。在上一篇的博客的基礎上修改springmvc-servlet.xml配置文件。 <?xml ve

SpringMVC 框架系列初識入門實例

uip val patch cti 分發 作用 getc 問題 bdb 微信公眾號:compassblog 歡迎關註、轉發,互相學習,共同進步! 有任何問題,請後臺留言聯系! 1、SpringMVC 概述 (1)、 MVC:Model-View-Control Cont

FineBI學習系列FineBISpark數據連接(圖文詳解)

gpo 編碼轉換 nload -s div 語言 分享圖片 bre con 不多說,直接上幹貨!   這是來自FineBI官網提供的幫助文檔 http://help.finebi.com/http://help.finebi.com/doc-vie

FineBI學習系列FineBIHBase數據連接(圖文詳解)

替換 oca 拷貝jar包 jin RM href 設置 metatable com 不多說,直接上幹貨!   這是來自FineBI官網提供的幫助文檔 http://help.finebi.com/http://help.finebi.com/do

漫談Java IO NettyNIO服務器

解碼 讀取 重要 char ada 管道通信 ble 發送 mage 前面介紹了基本的網絡模型以及IO與NIO,那麽有了NIO來開發非阻塞服務器,大家就滿足了嗎?有了技術支持,就回去追求效率,因此就產生了很多NIO的框架對NIO進行封裝——這就是大名鼎鼎的Netty。

Xtrabackup系列:源碼安裝

xtrabackup 安裝 一、檢查依賴包 rpm -q cmake gcc gcc-c++ libaio libaio-devel automake autoconf bison libtool ncurses-devel libgcrypt-devel libev-devel libcurl-de

細說java系列HashMap原理

hashmap 屬於 情況 int 數據結構 boolean 條件 com ext 類圖 在正式分析HashMap實現原理之前,先來看看其類圖。 源碼解讀 下面集合HashMap的put(K key, V value)方法探究其實現原理。 // 在HashMap內部用於

python學習簡介環境安裝

strong 關系 ins 開發 install window 互聯 all 高級 【轉自】http://www.cnblogs.com/wupeiqi/articles/5433925.html --Python可以應用於眾多領域 如:數據分析、組件集成、網絡服務、圖

算法入門系列排序檢索

一個 str show tor cal else color mem 函數 UVA340 UVA10420 時間有點久遠,很早之前寫的,然後忘記總結了,這道題其實很容易,一行只取第一個字符串,然後按照字典序輸出每個字符串的個數。 這裏有個技巧就是先用scanf獲