2010-11-19 46 views
5

Me he encontrado con esto al describir la configuración de Zookeeper para HBase, y no estoy familiarizado con el término. ¿La 'N' tiene algo que ver con la cantidad de nodos en mi clúster HBase? ¿O la cantidad de nodos que debería usar en mi clúster de Zookeeper?¿qué significa 2n + 1 quórum?

Respuesta

6

2f + 1 se refiere al nivel de confiabilidad/disponibilidad que necesita, en general no está relacionado con el rendimiento.

Los conjuntos de ZooKeeper (clusters de servicio) se componen de uno o más servidores que "votan" en cada cambio. Se requiere que la mayoría de los servidores originales "aprueben" cualquier cambio antes de ser aceptado. Los clientes (hbase en este caso) se conectan al conjunto y lo utilizan para coordinar. Si el conjunto está activo, los clientes pueden hacer esto, si el conjunto está inactivo, hbase no puede usar el servicio.

Supongamos que tiene 3 servidores (f = 1) en el conjunto, si uno falla, el servicio sigue activo (2 es la mayoría). Sin embargo, si falla un segundo servidor, el servicio estaría inactivo.

Supongamos que tiene 5 servidores (f = 2) en el conjunto. En este caso, dos servidores pueden fallar (3 es la mayoría) y el servicio aún está activo.

Normalmente, 3 servidores son más que suficientes. Sin embargo, para los entornos de producción en línea, sugiero 5. ¿Por qué? Supongamos que retira un servidor para el mantenimiento programado. Si tiene 5 servidores, puede mantenerse activo incluso si uno de los servidores activos restantes falla inesperadamente.

¿Por qué no tener 101 servidores? - TANSTAAFL. Vea el gráfico aquí. ZK es un servicio basado en el quórum. A medida que aumenta el número de servidores, el rendimiento de escritura disminuye. Se requieren más servidores para participar en el proceso de turno (votación). Como resultado, el tiempo de escritura/seg disminuye. (leer no se ve afectado)

4

n se refiere a la cantidad de fallas que el sistema puede experimentar pero que aún puede funcionar con al menos la mayoría de los nodos. Dos ejemplos:

n = 1 - un nodo puede fallar, de un total de nodos 2n+1 = 3

n = 2 - dos nodos pueden fallar, de un total de nodos 2n+1 = 5

y así sucesivamente!

+1

para aclarar la respuesta de Chris Bunch, los nodos son nodos Zookeeper así que 2n + 1 significa que necesita 2n + 1 nodos Zookeepr para sobrevivir n nodos Zookeeper fallados. –

Cuestiones relacionadas