instancia de cuidador del zoológico

Introducir la implementación de instancias múltiples en una sola máquina de zookeeper (experimental) y la implementación distribuida del entorno de producción

1. Preparación:

   1) Se requiere un entorno Linux, se recomienda el sistema ubuntu. Si está aprendiendo, use la caja virtual de Oracle para instalar la máquina virtual, y puede instalarla buscando el documento de instalación en línea, y generalmente se instalará el entorno de producción.

    2) JDK: Zookeeper requiere un entorno operativo Java. Se recomienda que, por encima de 1.6, configure las variables JAVA_HOME, CLASSPATH y PATH.


La configuración de la variable de entorno, .profile en el directorio de inicio puede ser:

export JAVA_HOME = "/ usr / lib / jvm / jdk1.7.0_40" 
export CLASSPATH =.: $ JAVA_HOME / lib / dt.jar: $ JAVA_HOME / lib / tools.jar 
export ZOOKEEPER_HOME = "/ data / apache / zookeeper" 
export RUTA = "$ RUTA: $ JAVA_HOME / bin: $ ZOOKEEPER_HOME / bin"

    3) Paquete de instalación de Zookeeper: http://zookeeper.apache.org/releases.html  descargue la versión estable

2. Varias descompresiones, sin mencionar, se recomienda establecer una conexión suave zk para el directorio descomprimido (con número de versión) para facilitar la configuración y actualización posteriores.

    Lo descomprimí y lo coloqué en: / data / apache / zookeeper, y modifiqué los permisos del archivo para ejecutar los permisos de usuario:

sudo chown -R zqgame: zqgame guardián del zoológico

   zqgame: zqgame es el usuario que ejecuta zookeeper y el grupo de usuarios. Ver permisos:

zqgame @ development-test-web: / data / apache $ ll 
total 16 
drwxr-xr-x 4 zqgame zqgame 4096 17 de enero 12:41 ./ 
drwxr-xr-x 11 root root 4096 13 de diciembre 14:49 ../ 
drwxr -xr-x 11 zqgame zqgame 4096 20 de noviembre 15:50 hadoop-2.2.0 / 
drwxr-xr-x 12 zqgame zqgame 4096 17 de enero 12:56 zookeeper / 
zqgame @ development-test-web: / data / apache $

3. Verificación de puertos, generalmente se utilizan los puertos 2181, 2888, 3888, verifique si están ocupados y cambie el puerto en la configuración siguiente.

netstat -ano | grep 2181

4. Configuración e inicio de múltiples instancias de una sola máquina:

#Genere un archivo de configuración, el nombre del archivo de configuración es arbitrario, aquí está zoo.cfg 
cp /data/apache/zookeeper/conf/zoo_sample.cfg /data/apache/zookeeper/conf/zoo.cfg 
vi / data / apache / zookeeper / conf / zoo.cfg

   Contenido del archivo de configuración:

tickTime = 2000 
initLimit = 5 
syncLimit = 5 
dataDir = / data / apache / zookeeper / data # El directorio debe crearse manualmente para almacenar datos 
zk , principalmente snapshot clientPort = 2181 
# dataLogDir directorio de almacenamiento de registros de transacciones, la mejor configuración, escritura de registros de transacciones La velocidad de 
entrada afecta seriamente el rendimiento de zookeeper dataLogDir = / data / apache / zookeeper / datalog 
server.1 = 192.168.130.170: 2889: 3889 
server.2 = 192.168.130.170: 2890: 3890 
server.3 = 192.168.130.170: 2891: 3891

   Copie los archivos de configuración y genere tres archivos de configuración: zoo-slave1.cfg: (los otros dos zoo-slave2.cfg y zoo-slave3.cfg).

   zoo-slave1.cfg necesita establecer directorios para dataDir y dataLogDir, los cambios son los siguientes:

dataDir = / data / apache / zookeeper / data / slave1 
dataLogDir = / data / apache / zookeeper / datalog / slave1 
clientPort = 2182

   zoo-slave2.cfg  :

dataDir = / data / apache / zookeeper / data / slave2 
dataLogDir = / data / apache / zookeeper / datalog / slave2 
clientPort = 2183

  zoo-slave3.cfg  :

dataDir = / data / apache / zookeeper / data / slave3 
dataLogDir = / data / apache / zookeeper / datalog / slave3 
clientPort = 2184

Configure la misma IP local y diferentes números de puerto que los anteriores, aquí hay tres ejemplos

¿Cómo distinguir la primera instancia? Debe haber un archivo de identificación cuyo nombre debe ser myid

echo "1"> / data / apache / zookeeper / data / slave1 / myid 
echo "2"> / data / apache / zookeeper / data / slave1 / myid 
echo "3"> / data / apache / zookeeper / data / slave1 / mi identificación

Comience rápidamente en tres ventanas:

bin / zkServer.sh iniciar zoo-slave1.cfg  
bin / zkServer.sh iniciar zoo-slave2.cfg  
bin / zkServer.sh iniciar zoo-slave3.cfg

Verifique el líder seleccionado por el guardián del zoológico y especifique los archivos de configuración por separado a través del siguiente script, puede verificar qué instancia es el líder:

bin / zkServer.sh estado zoo-slave1.cfg

Puede ver la siguiente información de salida:

zqgame @ development-test-web: / data / apache / zookeeper $ bin / zkServer.sh estado zoo-slave2.cfg  
JMX habilitado por defecto 
Usando config: /data/apache/zookeeper/bin/../conf/zoo-slave2 
Modo .cfg : líder

5. Implementación distribuida:

    Es similar a una instancia múltiple de una sola máquina, pero en lugar de tres directorios, solo se necesitan un directorio, un archivo de configuración y tres direcciones IP diferentes. Distribuidas en diferentes direcciones IP, siguen siendo myids diferentes. Supongamos que tengo tres máquinas independientes, luego zoo.cfg (solo se necesita un archivo de configuración predeterminado zoo.cfg) el archivo de configuración es el siguiente:

tickTime = 2000 
initLimit = 5 
syncLimit = 5 
dataDir = / data / apache / zookeeper / data # El directorio debe crearse manualmente para almacenar datos 
zk , principalmente snapshot clientPort = 2181 
# dataLogDir directorio de almacenamiento de registros de transacciones, la mejor configuración, escritura de registros de transacciones La velocidad de 
entrada afecta seriamente el rendimiento de zookeeper dataLogDir = / data / apache / zookeeper / datalog 
server.1 = 192.168.130.101: 2888: 3888 
server.2 = 192.168.130.102: 2888: 3888 
server.3 = 192.168.130.103: 2888: 3888

Luego escriba un myid diferente en las tres máquinas:


#Ejecutar el siguiente eco "1" en 192.168.130.101 > / data / apache / zookeeper / data / myid #Ejecutar el 
siguiente 
eco "2" en 192.168.130.102 > / data / apache / zookeeper / data / myid #En 192.168.130.102 > / data / apache / zookeeper / data / myid #En 
192.168. 130.103 Ejecute el siguiente 
eco "3"> / data / apache / zookeeper / data / myid

De esta manera, zookeeper se inicia rápidamente en las tres máquinas. En este momento, no es necesario especificar el archivo de configuración. El archivo de configuración predeterminado es zoo.cfg:

Inicio de bin / zkServer.sh

Verifique el estado después del inicio:

Estado de bin / zkServer.sh

Ingrese el cliente shell del guardián del zoológico:

bin / zkCli.sh #Introduzca el shell del guardián del zoológico local

Ingrese el cliente de shell de la máquina especificada:

bin / zkCli.sh -servidor 192.168.130.101

Si hay un error al ver el estado de inicio, espere un momento y luego verifique nuevamente, porque se necesita un tiempo para seleccionar el líder después de que comience el guardián del zoológico.

Supongo que te gusta

Origin blog.csdn.net/Amos_liu/article/details/63679932
Recomendado
Clasificación