Linux zookeeper

From John Freier
Revision as of 12:27, 18 July 2017 by Jfreier (Talk | contribs) (Spring Cloud ZooKeeper)

Jump to: navigation, search

ZooKeeper is a cluster operator that stores values to be shared across multiply clients.

Shell Commands

The server works by using things called znodes, kind of like a file system /

This shell is very helpful for debugging issue and understand what Zoo Keeper does under the hood.

To Start the shell

 ./zkCli.sh -server localhost:2181
 ls - list out the directory
 create /test - creates the znode test
 get /test - gets the data for the znode


Spring Cloud ZooKeeper

This framework helps manage the clients that connect to zookeeper. You can also use this for sharing values amongst a cluster.

To start, I followed the spring guide and created an empty application with @EnableDiscoveryClient

 package com.example.zookeeper.zkexample;
 
 import org.springframework.boot.SpringApplication;
 import org.springframework.boot.autoconfigure.SpringBootApplication;
 import org.springframework.cloud.client.discovery.EnableDiscoveryClient;
 import org.springframework.web.bind.annotation.RequestMapping;
 import org.springframework.web.bind.annotation.RestController;
 
 @SpringBootApplication
 @EnableDiscoveryClient
 @RestController
 public class ZkExampleApplication {
 
     @RequestMapping("/")
     public String hello() {
         return "hello";
     }
 
     public static void main(String[] args) {
         SpringApplication.run(ZkExampleApplication.class, args);
     }
 
 }

After I create this, I ran it with the following command

 mvn spring-boot:run -Dserver.port=8081

Then I check zookeeper cli and looked for the znode

 ls /services/application

and what was returned was

 [959427f8-5629-4dcb-a606-2ed310134f8f]

When I started up another server

 mvn spring-boot:run -Dserver.port=8082

Then I ls the same location I found another znode.

 [959427f8-5629-4dcb-a606-2ed310134f8f, 106e739e-7422-414d-8cca-8d57fb443290]

Resources

https://zookeeper.apache.org/doc/r3.3.3/zookeeperStarted.html https://cloud.spring.io/spring-cloud-zookeeper/