`
文章列表
zookeeper的每个节点可以有如下三种角色: 1.leader和follower         ZooKeeper需要在所有的服务(可以理解为服务器)中选举出一个Leader,然后让这个Leader来负责管理集群。此时,集群中的其它服务器则成为此Leader的Follower。并且,当Leader故障的时候,需要ZooKeeper能够快速地在Follower中选举出下一个Leader。这就是ZooKeeper的Leader机制,下面我们将简单介绍在ZooKeeper中,Leader选举(Leader Election)是如何实现的。 此操作实现的核心思想是:首先创建一个EPHEME ...
  follower     [root@ibm-m0 ~]# echo stat | nc 10.0.14.120 2181 Zookeeper version: 3.3.3-cdh3u1--1, built on 07/18/2011 15:17 GMT Clients:  /10.0.14.120:39601[0](queued=0,recved=1,sent=0)  /10.0.14.127:60443[1](queued=0,recved=693,sent=695)  /10.0.14.125:55967[1](queued=0,recved=693,sent=695 ...
  import java.io.BufferedReader; import java.io.BufferedWriter; import java.io.File; import java.io.FileInputStream; import java.io.FileNotFoundException; import java.io.FileOutputStream; import java.io.IOException; import java.io.OutputStreamWriter; import java.nio.channels.FileLock;   pu ...
最小配置 clientPort 监听客户端连接的端口 dataDir 内存数据库快照存放地址,如果没有指定事务日志存放地址(dataLogDir),默认也是存放在这个路径下,建议两个地址分开存放到不同的设备上。 tickTime 心跳基本时间单位,毫秒级,ZK基本上所有的时间都是这个时间的整数倍。 高级配置(可选,有的需要直接通过系统属性进行设置) dataLogDir 将事务日志存储在该路径下,比较重要,这个日志存储的设备效率会影响ZK的写吞吐量。 globalOutstandingLimit (Java system prop ...
运行环境 1.6.0_21 ubuntu 11.04   1.先从官网上下载最新版本的zookeeper   2.解压后进入conf目录,拷贝zoo_sample.cfg,重命名为zoo.cfg,这个是zookeeper运行时默认找的配置文件     Standalone,单机模式     3.运行zookeeper            bin/zkServer.sh start   4.连接到zookeeper            bin/zkCli.sh -server 127.0.0.1:2181 输入完后看到            [zk: 127 ...

Linux下tar命令详解

tar [-cxtzjvfpPN] 文件与目录 .... 参数: -c :建立一个压缩文件的参数指令(create的意思) -x :解开一个压缩文件的参数指令 -t :查看tarfile里面的文件 特别注意,在参数的下达中,c/x/t仅能存在一个!不可同时存在! 因为不可 ...

线程安全的集合类

    博客分类:
  • Java
Hashtable、synchronizedMap、ConcurrentMap:键值和iterator都是安全的   Vector、CopyOnWriterArrayList、CopyOnWriteArraySet、synchronizedList、synchronizedSet   BlockingQueue、ConcurrentLinkedQueue
  你觉得自己是一个Java专家吗?是否肯定自己已经全面掌握了Java的异常处理机制?在下面这段代码中,你能够迅速找出异常处理的六个问题吗?1.OutputStreamWriter out = ...    2.java.sql.Connection conn = ...3.try { // ⑸4.    Statement stat = conn.createStatement();5.    ResultSet rs = stat.executeQuery(6.        "select uid, name from user");7.    while (rs. ...
import   java.text.SimpleDateFormat;          SimpleDateFormat   formatter   =   new   SimpleDateFormat   ("yyyy年MM月dd日   HH:mm:ss     ");        Date   curDate   =   new   Date(System.currentTimeMillis());//获取当前时间        String   str   =   formatter.format(curDate);         import ...
Linux下文件分割可以通过split命令来实现,而用cat进行文件合并。而分割可以指定按行数分割和安大小分割两种模式。Linux下文件合并可以通过cat命令来实现,非常简单。   在Linux下用split进行文件分割:   模式一:指定分割后文件行数   对与txt文本文件,可以通过指定分割后文件的行数来进行文件分割。   命令:   split -l 300 large_file.txt new_file_prefix 模式二:指定分割后文件大小   对于可执行文件等二进制文件,则不能通过文件行数来进行文件分割,此时我们可以指定分割大小来分隔文件。   ...
关于双网卡绑定与端口聚合     端口聚合(IEEE802.3ad Port Trunking) 可将2至8个10/100Base-TX端口聚合成一条干路,在全双工工作模式下达到400Mbps-1.6Gbps的带宽。端口聚合技术能充分利用现有设备实现高速数据传递,也可以通过千兆端口聚合技术实现千兆位链路的聚合,最多可以聚合4Gbps的链路带宽。   Linux双网卡绑定的实现就是使用两块网卡虚拟成为一块网卡,这个聚合起来的设备看起来是一个单独的以太网接口设备,通俗点讲就是两块网卡具有相同的 IP地址而并行链接聚合成一个逻辑链路工作。其实这项技术在Sun和Cisco中早已存在,被 ...
原文出处:http://blog.chenlb.com/2008/12/main-thread-wait-all-sub-thread-finish-task-in-thread-pool.html 用线程池编写多线程程序时,当所有任务完成时,要做一些统计的工作。而统计工作必须要在所有任务完成才能做。所以要让主线程等待所有任务完成。可以使用ThreadPoolExecutor.awaitTermination(long timeout, TimeUnit unit)。请看示例代码: package com.chenlb;  
1.倒排中以docid排序,这样做的好处是多关键词查询时,merge算法自然,高效.支持phrase query; index merge阶段,处理简单.文件定位快速,倒排压缩高效.但是,它的一个致命的缺陷在于:当某个term的倒排很长时,在处理一次search时,系统需 要对 ...
  1.尽量使用final修饰符.   带有final修饰符的类是不可派生的.在Java核心API中,有许多应用final的例子,例如java.lang.String.为 String类指定final防止了使用者覆盖length()方法.另外,如果一个类是final的,则该类所有方法都是final的.java编译器会寻找机会内联(inline)所有的final方法(这和具体的编译器实现有关).此举能够使性能平均提高50%.   2.尽量重用对象.   特别是String对象的使用中,出现字符串连接情况时应使用StringBuffer代替,由于系统不仅要花时间生成对象,以后可能还需要花 ...
  jstack -- 如果java程序崩溃生成core文件,jstack工具可以用来获得core文件的java stack和native stack的信息,从而可以轻松地知道java程序是如何崩溃和在程序何处发生问题。另外,jstack工具还可以附属到正在运行的java程序中,看到当时运行的java程序的java stack和native stack的信息, 如果现在运行的java程序呈现hung的状态,jstack是非常有用的。目前只有在Solaris和Linux的JDK版本里面才有。 jconsole – jconsole是基于Java Management Exten ...
Global site tag (gtag.js) - Google Analytics