ZooKeeper做独立server执行(上)

作者:chszs。转载需注明。博客主页:http://blog.csdn.net/chszs

一、ZooKeeper安装及配置

版本号:ZooKeeper v3.4.6稳定版

要设置ZooKeeper以单独server的模式执行是很直接的。

server包括在单个的JAR文件内,因此安装就仅仅需创建一个配置文件。

一旦下载了ZooKeeper稳定版。那么解压它,并进入ZooKeeper的根文件夹。

$ wgethttp://mirror.bit.edu.cn/apache/zookeeper/stable/zookeeper-3.4.6.tar.gz
$ mvzookeeper-3.4.6 zookeeper

要启动ZooKeeper,还须要一个配置文件,能够创建conf/zoo.cfg配置文件。内容例如以下:

tickTime=2000
dataDir=/var/lib/zookeeper
clientPort=2181

zoo.cfg是配置文件的默认名字。以下我们说说配置文件的各项含义。

tickTime:ZooKeeper使用的基本时间单元(毫秒为单位)。它用于做心跳和最小的会话超时机制。

dataDir:存储内容数据库快照的文件夹,除非另行指定,否则更新的事务处理日志也会记录到数据库。

clientPort:client连接监听的端口

二、ZooKeeper做独立server执行

创建了配置文件后,就能够启动ZooKeeper了。

$bin/zkServer.sh start
JMXenabled by default
Usingconfig: /home/chuser/zookeeper/bin/../conf/zoo.cfg
Startingzookeeper ... STARTED

ZooKeeper使用Log4J记录日志消息,你能够从控制台或日志输出文件来查看日志,详细取决于Log4J的配置。

三、ZooKeeperclient连接

client连接到ZooKeeper

一旦ZooKeeper执行了。要连接到ZooKeeper,你有几个选择:

1)使用Java

$bin/zkCli.sh -server 127.0.0.1:2181
Connecting to 127.0.0.1:2181
2014-05-02 07:39:20,388 [myid:] - INFO [main:Environment@100] - Clientenvironment:zookeeper.version=3.4.6-1569965, built on 02/20/2014 09:09 GMT
2014-05-02 07:39:20,394 [myid:] - INFO [main:Environment@100] - Clientenvironment:host.name=10.0.0.13
2014-05-02 07:39:20,394 [myid:] - INFO [main:Environment@100] - Clientenvironment:java.version=1.7.0_51
2014-05-02 07:39:20,398 [myid:] - INFO [main:Environment@100] - Clientenvironment:java.vendor=Oracle Corporation
2014-05-02 07:39:20,399 [myid:] - INFO [main:Environment@100] - Clientenvironment:java.home=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.51.x86_64/jre
2014-05-02 07:39:20,399 [myid:] - INFO [main:Environment@100] - Clientenvironment:java.class.path=/home/chuser/zookeeper/bin/../build/classes:/home/chuser/zookeeper/bin/../build/lib/*.jar:/home/chuser/zookeeper/bin/../lib/slf4j-log4j12-1.6.1.jar:/home/chuser/zookeeper/bin/../lib/slf4j-api-1.6.1.jar:/home/chuser/zookeeper/bin/../lib/netty-3.7.0.Final.jar:/home/chuser/zookeeper/bin/../lib/log4j-1.2.16.jar:/home/chuser/zookeeper/bin/../lib/jline-0.9.94.jar:/home/chuser/zookeeper/bin/../zookeeper-3.4.6.jar:/home/chuser/zookeeper/bin/../src/java/lib/*.jar:/home/chuser/zookeeper/bin/../conf:
2014-05-02 07:39:20,399 [myid:] - INFO [main:Environment@100] - Clientenvironment:java.library.path=/usr/java/packages/lib/amd64:/usr/lib64:/lib64:/lib:/usr/lib
2014-05-02 07:39:20,399 [myid:] - INFO [main:Environment@100] - Clientenvironment:java.io.tmpdir=/tmp
2014-05-02 07:39:20,400 [myid:] - INFO [main:Environment@100] - Clientenvironment:java.compiler=<NA>
2014-05-02 07:39:20,400 [myid:] - INFO [main:Environment@100] - Clientenvironment:os.name=Linux
2014-05-02 07:39:20,400 [myid:] - INFO [main:Environment@100] - Clientenvironment:os.arch=amd64
2014-05-02 07:39:20,400 [myid:] - INFO [main:Environment@100] - Clientenvironment:os.version=2.6.32-431.3.1.el6.x86_64
2014-05-02 07:39:20,400 [myid:] - INFO [main:Environment@100] - Clientenvironment:user.name=chuser
2014-05-02 07:39:20,401 [myid:] - INFO [main:Environment@100] - Clientenvironment:user.home=/home/chuser
2014-05-02 07:39:20,401 [myid:] - INFO [main:Environment@100] - Clientenvironment:user.dir=/home/chuser/zookeeper
2014-05-02 07:39:20,403 [myid:] - INFO [main:ZooKeeper@438] - Initiating clientconnection, connectString=127.0.0.1:2181 sessionTimeout=30000watcher=org.apache.zookeeper.ZooKeeperMain$MyWatcher@748197b2
Welcome to ZooKeeper!
2014-05-02 07:39:20,448 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@975] - Openingsocket connection to server 127.0.0.1/127.0.0.1:2181. Will not attempt toauthenticate using SASL (unknown error)
JLine support is enabled
2014-05-02 07:39:20,460 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@852] - Socketconnection established to 127.0.0.1/127.0.0.1:2181, initiating session
2014-05-02 07:39:20,491 [myid:] - INFO [main-SendThread(127.0.0.1:2181):ClientCnxn$SendThread@1235] - Sessionestablishment complete on server 127.0.0.1/127.0.0.1:2181, sessionid =0x145bbdc9b460001, negotiated timeout = 30000 WATCHER:: WatchedEvent state:SyncConnected type:Nonepath:null
[zk: 127.0.0.1:2181(CONNECTED) 0]

2)使用C语言

在ZooKeeper的源代码src/c子文件夹通过执行make cli_mt或make cli_st,编译多线程clientcli_mt或单线程clientcli_st,再执行client:

LD_LIBRARY_PATH=. cli_mt 127.0.0.1:2181

LD_LIBRARY_PATH=. cli_st 127.0.0.1:2181

ZooKeeper做独立server执行(上)的更多相关文章

  1. sql server 执行上100mb sql sql sql server 无法执行脚本 没有足够的内存继续执行

    cmd osql -S 服务器名称 -E  -i sql文件路径 ------------------------------------------------------ 最近遇到一个问题,在sq ...

  2. 深入认识Tigase XMPP Server(上)

    深入认识Tigase XMPP Server(上) 作者:chszs,转载需注明.博客主页:http://blog.csdn.net/chszs 本文的目的是深入认识Tigase XMPP Serve ...

  3. SQL Server 执行计划利用统计信息对数据行的预估原理二(为什么复合索引列顺序会影响到执行计划对数据行的预估)

    本文出处:http://www.cnblogs.com/wy123/p/6008477.html 关于统计信息对数据行数做预估,之前写过对非相关列(单独或者单独的索引列)进行预估时候的算法,参考这里. ...

  4. 009.Working with SQL Server LocalDB --【在sql server localdb 上操作数据】

    Working with SQL Server LocalDB 在sql server localdb 上操作数据 2017-3-7 2 分钟阅读时长 本文内容 1.SQL Server Expres ...

  5. SQL Server 执行计划操作符详解(2)——串联(Concatenation )

    本文接上文:SQL Server 执行计划操作符详解(1)--断言(Assert) 前言: 根据计划,本文开始讲述另外一个操作符串联(Concatenation),读者可以根据这个词(中英文均可)先幻 ...

  6. 为什么不应该使用Zookeeper做服务发现?(转载)

    转载自: http://dockone.io/article/78 [编者的话]本文作者通过ZooKeeper与Eureka作为Service发现服务(注:WebServices体系中的UDDI就是个 ...

  7. 为什么不应该使用ZooKeeper做服务发现

    [编者的话]本文作者通过ZooKeeper与Eureka作为Service发现服务(注:WebServices体系中的UDDI就是个发现服务)的优劣对比,分享了Knewton在云计算平台部署服务的经验 ...

  8. Ubuntu server版上使用命令行操作VPNclient

    Ubuntu server版上使用命令行操作VPNclient VPN,虚拟专用网络,这个技术还是非常有用的.近期笔者參与的项目中就使用上了VPN,大概情况是这种.有两个开发团队,在异地,代码服务器在 ...

  9. 在zookeeper集群的基础上,搭建伪solrCloud集群

    伪集群的搭建:将solrCloud搭建到同一台机器上. 准备工作 1 将在window中部署的单机版solr上传到服务器(虚拟机)中 solr的简单部署:在tomcat中启动slor 的内容 这一次放 ...

随机推荐

  1. 安全:Web 安全学习笔记

    背景 说来惭愧,6 年的 web 编程生涯,一直没有真正系统的学习 web 安全知识(认证和授权除外),这个月看了一本<Web 安全设计之道>,书中的内容多是从微软官方文档翻译而来,这本书 ...

  2. .NET:如何让线程支持超时?

    背景 本文是为了回复博客园一个兄弟的问题,主要回答两个问题: 如何让线程支持超时? 如何让线程在执行结束后销毁? MS 现在不推荐使用低级别的 Thread 编程,而推荐使用 Task,另外我多数情况 ...

  3. .NET:CLR via C# Shared Assemblies and Strongly Named Assemblies

    Two Kinds of Assemblies, Two Kinds of Deployment A strongly named assembly consists of four attribut ...

  4. java获取http请求的Header和Body

    在http请求中,有Header和Body之分,读取header使用request.getHeader("..."); 读取Body使用request.getReader(),但g ...

  5. java自动创建多级目录

    // 创建文件上传路径 public static void mkdir(String path) { File fd = null; try { fd = new File(path); if (! ...

  6. Android平台上优秀的开源项目

    软件名:gaeproxy 软件作用:Android手机配置GoAgent. 项目地址:https://github.com/madeye/gaeproxy.git 软件名:ProxyDroid 软件作 ...

  7. 模态框在IE下的问题,即position:fixed在IE下不兼容的处理方式

    项目中遇到的问题,模态框在IE下总出现如图所示双层遮罩框,经排查发现是由于bootstrap里写的modal的样式里position:fixed不兼容IE的原因,导致铺不满整个窗口. 解决方案:在项目 ...

  8. CentOS7.0 x86_64系统上构建php开发环境--Lamp(包含设置虚拟文件夹,加入SELinux对httpd的支持等知识)

    一.安装mysql,直接用yum安装就可以,mysql在centos7.0版本号中被mariadb替代了. 命令: yum install mysql-server mysql 安装好了,选择改动my ...

  9. 压缩 MongoDB 的数据文件

    MongoDB采用了磁盘空间预分配的机制,为了避免磁盘碎片以及使用mmap后造成的近一步的内存碎片,但是随着数据的增删除改操作,数据文件不可避免的会产生空洞,造成磁盘空间和内存的浪费.本文说的是这方面 ...

  10. sed 常用的功能

    1.每行后面加入一个空行 sed 'G' num.txt,保留空间(Hold Space)的内容默认值是一个空行.2.每行前面加入一个空行 sed '{x;p;x}' num.txt,交换模式空间和保 ...