Índice
1. Crie um centro de configuração
2. Use o cliente zookeeper para resolver o problema que só pode ser monitorado uma vez
2.2 Escrita da classe de configuração
3. O cliente curador se conecta ao zookeeper
4. Crie um ambiente de cluster
4.1 O cliente zookeeper se conecta ao ambiente de cluster
4.2 Configuração dinâmica do cluster
1. Crie um centro de configuração
Monitorar arquivos através de outros clientes, a primeira janela
第二次进入服务器:
cd /usr/local/zookeeper/apache-zookeeper-3.8.0-bin
bin/zkServer.sh start conf/zoo.cfg
bin/zkCli.sh
# 第一个窗口创建节点并修改节点内容
[zk: localhost:2181(CONNECTED) 1] create /config {"key":"anykey","url":"http://redis.com"}
Created /config
[zk: localhost:2181(CONNECTED) 2] get -w /config
{"key":"anykey","url":"http://redis.com"}
[zk: localhost:2181(CONNECTED) 3] set /config {"key":"anykey","url":"redis://redis.com"}
A segunda janela monitora, primeiro digite get -w /config para monitorar o nó e, em seguida, a segunda janela receberá uma notificação após a primeira janela ser modificada, mas esse monitor só pode entrar em vigor uma vez
[zk: localhost:2181(CONNECTED) 0] get -w /config
{"key":"anykey","url":"redis://redis.com"}
[zk: localhost:2181(CONNECTED) 1]
WATCHER::
WatchedEvent state:SyncConnected type:NodeDataChanged path:/config
2. Use o cliente zookeeper para resolver o problema que só pode ser monitorado uma vez
2.1 Escrita do cliente
Exibição de função: o cliente zookeeper é estabelecido e pode detectar dinamicamente as alterações de dados
Apresente o pacote jar, a versão é consistente com o servidor
Escrita do código do cliente, após a execução do thread principal, ele executará o thread assíncrono executado pelo zookeeper
2.2 Escrita da classe de configuração
Criar classe de configuração e
Implemente uma função de monitoramento de loop.
Altere os dados com base no número da versão. Se o número da versão estiver incorreto, os dados não podem ser modificados.
Excluir e buscar dados com base no número da versão
3. O cliente curador se conecta ao zookeeper
pom.xml apresenta o curador
conectar cliente
Criar nós filhos recursivamente
O modo de proteção usa withProtection para gerar um UUID para evitar a criação de um nó duplicado.
Configurar nós.
excluir nó.
nó filho
Especificar pool de threads
4. Crie um ambiente de cluster
Existem três papéis no cluster: o líder é responsável pela leitura e escrita, e o seguidor é responsável pela leitura dos dados. Quando o líder falha, um deles é eleito para se tornar o líder. O observador tem os mesmos dados que o líder , mas é responsável apenas pela leitura dos dados.
Crie pastas zk1, zk2, zk3, zk4 e gere um ID exclusivo myid
Modificar zoo1.cfg
Modifique o arquivo zoo1.cfg para adicionar a seguinte configuração
Modifique o segundo arquivo de configuração e o terceiro arquivo de configuração é o seguinte
Inicie o servidor por sua vez
Veja o status do servidor por vez
conectar ao servidor
4.1 O cliente zookeeper se conecta ao ambiente de cluster
configuração de cluster
Tente se reconectar ao ambiente de cluster
Exibir porta de conexão do servidor
Feche o servidor para visualizar o mecanismo de reconexão
cluster de teste
4.2 Configuração dinâmica do cluster