descargar
https://archive.apache.org/dist/zookeeper/zookeeper-3.5.6/
De acuerdo con la primera descarga cuidador del zoológico aprendizaje modificado, archivo zoo.cfg pero todavía hay org.apache.zookeeper.server.quorum.QuorumPeerMainm, y otras modificaciones no ven Baidu en vano, y finalmente se encuentran en Google para encontrar el cuidador del zoológico originales 3.5.5 paquete de descarga después de la hora con bin debe descargar el archivo, mientras que la media del paquete tar.gz anterior, que no es sólo una fuente de uso directo
Documentos de referencia:
https://www.jianshu.com/p/ed6ec88b01c3
Entorno de instalación
Versión del sistema |
centos7.7 |
cuidador del zoológico versión |
apache-zookeeper-3.5.6-bin.tar.gz |
JDK versión |
openjdk1.8 |
parámetros de configuración detallado (principalmente% archivo ZOOKEEPER_HOME% / conf / zoo.cfg)
https://www.cnblogs.com/xiohao/p/5541093.html
estructura de directorios Zookeeper
1. bin : colocar las herramientas y scripts para ejecutar el script, si se trata de Linux entorno habrá un empleado del zoológico 's operación de líneas de registro zookeeper.out
2. conf : ZooKeeper directorio de configuración por defecto de lectura, no será el archivo de configuración por defecto
Contrib 3. : ZooKeeper capacidades de expansión
Dist-maven 4. : ZooKeeper el experto directorio del paquete
5. Documentos : Zookeeper documentos relacionados
Lib 6. : ZooKeeper núcleo tarro
7. recetas : ZooKeeper distribuye relacionada tarro de paquete
La src 8. El : ZooKeeper fuente
ZOOKEEPER único punto de la instalación
En primer lugar instalar OpenJDK
yum install java-1.8.0-OpenJDK Java-1.8.0-OpenJDK-devel
Descargar paquete de empleado del zoológico
wget https://archive.apache.org/dist/zookeeper/zookeeper-3.5.6/apache-zookeeper-3.5.6-bin.tar.gz
tar xf-Apache-3.5.6-empleado del zoológico bin.tar.gz
mv apache-zookeeper-3.5.6-bin / usr / / local
cd / usr / local /
ln -s /usr/local/apache-zookeeper-3.5.6-bin/ empleado del zoológico
variable de entorno de configuración
vim / etc / profile
Export PATH = $ PATH: / usr / local / cuidador del zoológico / bin /
source / etc / profile
vim / etc / profile
Configuración del entorno del sistema de variables de JDK
JAVA_HOME = / usr / local / java / jdk1.8
JRE_HOME = / usr / local / java / jdk1.8 / jre
PATH = $ PATH: $ JAVA_HOME / bin: $ JRE_HOME / bin
CLASSPATH =:. $ JAVA_HOME / lib / dt.jar: $ JAVA_HOME / lib / tools.jar: $ JRE_HOME / lib
export JAVA_HOME JRE_HOME CLASSPATH PATH
Crear un directorio de registro de registro
mkdir directorio de registro / usr / local / cuidador del zoológico / log_snapshot # instantánea
mkdir directorio de registro / usr / local / cuidador del zoológico / log_transaction # transacción
Entre en el directorio conf
cd / usr / local / cuidador del zoológico / conf
Cambiar el nombre
cp zoo_sample.cfg zoo.cfg
Los parámetros específicos son los siguientes:
La principal necesidad de configurar
DataDir = / usr / local / zookeeper / log_snapshot
dataLogDir = / usr / local / zookeeper / log_transaction
inicio Zookeeper
comandos de gestión de servicios: zkServer.sh inicio | stop | restart | estatus
Cliente de conexión
conexión de cliente: zkCli.sh -server $ {IP}: $ {puerto}
zkCli.sh -server 10.77.20.23:2181
Cerca del cliente: dejar de fumar o pulse Ctrl + C
puerto empleado del zoológico es 2181
ZK Hay varios tipos de nodos, el tipo de nodo se determinó cuando se crea el nodo y no se puede cambiar
nodo temporal (EFÍMERO): finaliza la sesión de nodos creados temporales borrados automáticamente, también puede eliminar manualmente el nodo temporal no pueden tener hijos
nodo orden temporal (EPHEMERAL_SEQUENTIAL): en la que un nodo que tiene un temporal, pero tendrá un número de serie, que será utilizado en un nodo de tipo de bloqueo distribuido
nodo persistente (persistente): Después de crear permanente, a menos que la iniciativa para eliminar.
orden persistente de nodos (PERSISTENT_SEQUENTIAL): Después de crear un nodo persistente, con respecto al nodo persistente que añade automáticamente un número de serie de 10 dígitos para el nombre del nodo, el nodo padre del conteo para este nodo sólo, si el número de secuencia es mayor que 2 ^ 32-1 se desborde.
ZOOKEEPER crear un nodo
-S la opción Crear / ZK- la prueba 123 # argumento -e para la creación de un nodo temporal, si no se crea ningún parámetro perdurable # nodo de nombre de nodo para el contenido del nodo
Ver contenido del nodo
get / ZK-test
nodo de eliminación
eliminar / ZK
Host de Connect: puerto - conexión a otras aplicaciones ZOOKEEPER.
camino de ls - una lista de recursos en el camino. En la consola del cliente ZooKeeper, no la lista por defecto, debe especificar la ubicación en la lista de recursos. Tales como: ls /; ls / ruta similares.
crear [-e] [-s] datos de la trayectoria - crear un nodo, tales como:
Crear / prueba 123 para crear un nodo de prueba / , el nodo 123 lleva la información de datos.
crear -e / prueba 123 para crear un nodo temporal / Test , transportar datos 123, el nodo temporal sólo es válida en el ciclo de vida de la sesión actual, finaliza la sesión nodo eliminan automáticamente.
crear -s / test 123 para crear una secuencia de nodo / Test , 123 de transporte de datos, creado por el orden de los nodos del nodo se incrementa automáticamente la información sufijo ZooKeeper, como - / test00000001 similares. -e y el parámetro -s se puede utilizar en combinación.
obtener la ruta - para ver un nodo específico . Tales como: get / prueba. Los resultados son como sigue:
Conjunto de datos de ruta [versión] - datos de posición conjunto correspondiente al nodo . Tales como: conjunto de prueba 'de datos de prueba' / . Si hay datos que se establezcan en el espacio, se utilizan los datos que definen una serie de comillas simples. Después de cada modificación de datos, dataVersion mínimo de la propiedad. Puede especificar la versión del comando conjunto, los datos de versión debe ser consistente con el valor de la última consulta que se utiliza para asegurar que cuando este comando de revisión, no hay otras sesiones de modificar estos datos.
ruta de borrado [versión] - Elimina el nodo especificado , este comando no puede eliminar el nodo hijo. Como por ejemplo: / delete prueba. En el que la versión de los parámetros y la versión del comando set significa camino rmr consistente - Eliminar el nodo especificado incluye sub-nodos.
dejar de fumar - salga de la consola
instalación de clúster
Nodo dentro de la agrupación mientras no se corte por la mitad Dang, empleado del zoológico no sería un problema, etc Por lo tanto, los más nodos, más seguridad
Añadir en cada nodo
vim /usr/local/zookeeper/conf/zoo.cfg
server.1 = 172.26.103.56: 2881: 3881
server.2 = 172.26.103.57: 2881: 3881
server.3 = 172.26.103.58: 2881: 3881
service.N = YYY: A: B
N: representa el ID del servidor (es decir, valor myid interior)
YYY: Dirección del servidor
R: representa un puerto de comunicación con el líder de la flor, el puerto de comunicación interna se denomina servidor (por defecto 2888)
B: representación electoral puerto (por defecto es 3888)
Añadir myid dentro del directorio conjunto DataDir en los archivos de configuración en cada nodo empleado del zoológico
echo 1> myid
eco 2> myid
echo 3> myid
Comience cada nodo
inicio /usr/local/zookeeper/bin/zkServer.sh
Comprobar el estado de cada función de nodo
estado /usr/local/zookeeper/bin/zkServer.sh
Optimización de variables de entorno; complemento
Export PATH = $ PATH: / usr / local / cuidador del zoológico / bin /
Sobre empleado del zoológico ocupó el puerto 8080
Las versiones recientes ZOOKEEPER Existe un sistema incorporado en la consola de administración se inicia por muelle, se ocupará de 8080 puerto.
Al observar zookeeper documentos oficiales, encontramos que hay tres maneras de resolver:
(1) Eliminar el embarcadero.
(2) modificar el puerto.
método de modificación de dos maneras, una es en el script de inicio para aumentar -Dzookeeper.admin.serverPort = el número de puerto. Uno de ellos es el aumento de zoo.cfg en admin.serverPort = número de puerto no está ocupada
(3) desactivar este servicio, aumento "-Dzookeeper.admin.enableServer = false" en el script de inicio