本文整理汇总了Scala中org.apache.zookeeper.server.ZooKeeperServer类的典型用法代码示例。如果您正苦于以下问题:Scala ZooKeeperServer类的具体用法?Scala ZooKeeperServer怎么用?Scala ZooKeeperServer使用的例子?那么, 这里精选的类代码示例或许可以为您提供帮助。
在下文中一共展示了ZooKeeperServer类的4个代码示例,这些例子默认根据受欢迎程度排序。您可以为喜欢或者感觉有用的代码点赞,您的评价将有助于系统推荐出更棒的Scala代码示例。
示例1: EmbeddedZookeeper
//设置package包名称以及导入依赖的类
package com.groupon.dse.testutils
import java.io.File
import java.net.InetSocketAddress
import kafka.utils.Utils
import org.apache.zookeeper.server.{NIOServerCnxnFactory, ZooKeeperServer}
class EmbeddedZookeeper(zkPort: Int, zkSnapshotDir: File, zkLogDir: File, autoStart: Boolean) {
val connectString = s"127.0.0.1:${zkPort}"
val tickTime = 500
val factory = new NIOServerCnxnFactory()
val maxZkConnections = 100
factory.configure(new InetSocketAddress("127.0.0.1", zkPort), maxZkConnections)
var zookeeper: ZooKeeperServer = null
def this(port: Int, autoStart: Boolean = true) = this(port, TestUtils.tempDir, TestUtils.tempDir, autoStart)
if (autoStart) {
start()
}
def start(): Unit = {
// With Zookeeper 3.4, the startup logic of the ZookeeperServer has changed where a sequence of:
// zookeeper.start() -> zookeeper.shutdown() -> zookeeper.start()
// will fail to restart the ZookeeperServer. Because of this, a new ZookeeperServer needs to be instantiated if
// we want to simulate Zookeeper unavailability during tests
zookeeper = new ZooKeeperServer(zkSnapshotDir, zkLogDir, tickTime)
factory.startup(zookeeper)
}
def stop(): Unit = {
zookeeper.shutdown()
zookeeper = null
}
def snapshotDir: File = zkSnapshotDir
def logDir: File = zkLogDir
def cleanShutdown(): Unit = {
shutdown()
Utils.rm(zkLogDir)
Utils.rm(zkSnapshotDir)
}
def shutdown(): Unit = {
Utils.swallow(zookeeper.shutdown())
Utils.swallow(factory.shutdown())
zookeeper = null
}
}
示例2: ZkInstance
//设置package包名称以及导入依赖的类
package com.twitter.finagle.zookeeper
import java.net.{InetAddress, InetSocketAddress}
import org.apache.zookeeper.server.{ZKDatabase, ZooKeeperServer}
import com.twitter.common.zookeeper.ZooKeeperClient
import org.apache.zookeeper.server.persistence.FileTxnSnapLog
import com.twitter.common.io.FileUtils.createTempDir
import com.twitter.common.quantity.{Amount, Time}
import com.twitter.zk.ServerCnxnFactory
class ZkInstance {
var connectionFactory: ServerCnxnFactory = null
var zookeeperServer: ZooKeeperServer = null
var zookeeperClient: ZooKeeperClient = null
var started = false
lazy val zookeeperAddress = {
if (!started) throw new IllegalStateException("can't get address until instance is started")
new InetSocketAddress(zookeeperServer.getClientPort)
}
lazy val zookeeperConnectString =
zookeeperAddress.getHostName() + ":" + zookeeperAddress.getPort();
def start() {
started = true
val txn = new FileTxnSnapLog(createTempDir(), createTempDir())
val zkdb = new ZKDatabase(txn)
zookeeperServer = new ZooKeeperServer(
createTempDir(),
createTempDir(),
ZooKeeperServer.DEFAULT_TICK_TIME)
zookeeperServer.setMaxSessionTimeout(100)
zookeeperServer.setMinSessionTimeout(100)
connectionFactory = ServerCnxnFactory(InetAddress.getLoopbackAddress)
connectionFactory.startup(zookeeperServer)
zookeeperClient = new ZooKeeperClient(
Amount.of(10, Time.MILLISECONDS),
zookeeperAddress)
// Disable noise from zookeeper logger
// java.util.logging.LogManager.getLogManager().reset();
}
def stop() {
connectionFactory.shutdown()
zookeeperClient.close()
}
}
示例3: ZkInstance
//设置package包名称以及导入依赖的类
package com.twitter.finagle.zookeeper
import com.twitter.util.RandomSocket
import org.apache.zookeeper.server.{NIOServerCnxn, ZooKeeperServer}
import com.twitter.common.zookeeper.ZooKeeperClient
import org.apache.zookeeper.server.persistence.FileTxnSnapLog
import com.twitter.common.io.FileUtils.createTempDir
import com.twitter.common.quantity.{Amount, Time}
class ZkInstance {
val zookeeperAddress = RandomSocket.nextAddress
var connectionFactory: NIOServerCnxn.Factory = null
var zookeeperServer: ZooKeeperServer = null
var zookeeperClient: ZooKeeperClient = null
def start() {
zookeeperServer = new ZooKeeperServer(
new FileTxnSnapLog(createTempDir(), createTempDir()),
new ZooKeeperServer.BasicDataTreeBuilder)
connectionFactory = new NIOServerCnxn.Factory(zookeeperAddress)
connectionFactory.startup(zookeeperServer)
zookeeperClient = new ZooKeeperClient(
Amount.of(10, Time.MILLISECONDS),
zookeeperAddress)
}
def stop() {
connectionFactory.shutdown()
zookeeperClient.close()
}
}
示例4: ServerCnxnFactoryTest
//设置package包名称以及导入依赖的类
package com.twitter.zk
import com.twitter.io.TempDirectory
import java.io.File
import java.net.InetAddress
import org.apache.zookeeper.server.ZooKeeperServer
import org.junit.runner.RunWith
import org.scalatest.{BeforeAndAfter, FunSuite}
import org.scalatest.junit.JUnitRunner
@RunWith(classOf[JUnitRunner])
class ServerCnxnFactoryTest extends FunSuite with BeforeAndAfter {
val addr = InetAddress.getLocalHost
var testServer: ZooKeeperServer = null
var tmpDir: File = null
before {
tmpDir = TempDirectory.create()
testServer = new ZooKeeperServer(tmpDir, tmpDir, ZooKeeperServer.DEFAULT_TICK_TIME)
}
after {
tmpDir.delete()
}
test("ServerCnxnFactory returns valid Factory") {
val factory = ServerCnxnFactory(addr)
val boundPort = factory.getLocalPort
factory.startup(testServer)
assert(testServer.getClientPort == boundPort)
factory.shutdown()
assert(testServer.isRunning == false)
}
}