example python bash cassandra homebrew sudo

python - example - ¿Cómo puedo configurar una cuenta de superusuario en Cassandra con build homebrew?



python cassandra (3)

Estás en el camino correcto. La cuenta de superusuario predeterminada es el nombre de usuario ''cassandra'' contraseña ''cassandra'' y está configurando adecuadamente el autenticador.

Lo que falta es que después de cambiar el archivo cassandra.yaml, debe reiniciar Cassandra para que el cambio del Authenticator surta efecto. Tenga en cuenta que también debe cambiar el autorizador a ''CassandraAuthorizer''.

Si tiene un clúster multinodo, debe realizar este cambio en todos los nodos y también debe aumentar el factor de replicación en el espacio de teclado system_auth para permitir que auth continúe funcionando después de que el nodo que posee los datos caiga.

He instalado cassandra con homebrew y estoy tratando de crear una cuenta de administrador superusuario. cuando sudo cqlsh -u cassandra -p cassandra me sale este error:

Python Cassandra driver not installed, or not on PYTHONPATH. You might try "pip install cassandra-driver". Python: /System/Library/Frameworks/Python.framework/Versions/2.7/Resources/Python.app/Contents/MacOS/Python Module load path: [''/usr/local/Cellar/cassandra/2.1.2/bin'', ''/Library/Python/2.7/site-packages/cql-1.4.0-py2.7.egg'', ''/Library/Python/2.7/site-packages/thrift-0.9.2-py2.7-macosx-10.10-intel.egg'', ''/Library/Python/2.7/site-packages/ccm-2.0.2-py2.7.egg'', ''/Library/Python/2.7/site-packages/tailer-0.3-py2.7.egg'', ''/Library/Python/2.7/site-packages'', ''/Library/Python/2.7/site-packages/psutil-2.2.0-py2.7-macosx-10.10-intel.egg'', ''/Library/Python/2.7/site-packages/pip-6.0.6-py2.7.egg'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python27.zip'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-darwin'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/plat-mac/lib-scriptpackages'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-tk'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-old'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/lib/python2.7/lib-dynload'', ''/System/Library/Frameworks/Python.framework/Versions/2.7/Extras/lib/python/PyObjC'', ''/Library/Python/2.7/site-packages''] Error: No module named cassandra

cuando lo hago sin sudo, puedo ingresar a cqlsh con el inicio de sesión predeterminado. El problema es que cuando CREATE USER admn WITH PASSWORD ''pw'' SUPERUSER; , esto se devuelve:

code=2100 [Unauthorized] message="Only superusers are allowed to perform CREATE USER queries"

Cuando vi esto, me di cuenta de que no tenía problemas, ingresé en mi archivo cassandra.yaml, ubicado en /usr/local/etc/cassandra y cambié el authenticator: AllowAllAuthenticator al authenticator: PasswordAuthenticator . Guardé el archivo volví al cqlsh y lo intenté de nuevo. Mismo resultado. ¿Alguien puede decirme qué hacer para configurar nuevos usuarios?


Estaba enfrentando el problema de crear un nuevo usuario, después de conectar el nodo Cassandra desde cqlsh como cqlsh -u cassandra -p cassandra.

La solución resuelta para mí es:

  1. Edite el cassandra.yaml y reemplace los valores de autenticador y autorizador como se muestra a continuación.

// authenticator: AllowAllAuthenticator

autenticador: PasswordAuthenticator

// autorizador: AllowAllAuthorizer

autorizador: CassandraAutorizador

  1. Reinicia el nodo cassandra

  2. conectarse desde cqlsh con las credenciales de cassandra / cassandra

4. Despliegue un system.log (tail -f system.log), debería ver el siguiente mensaje.

INFO [NonPeriodicTasks: 1] 2015-04-23 11: 02: 03,973 PasswordAuthenticator.java:215 - PasswordAuthenticator creó el usuario predeterminado ''cassandra''

INFO [NonPeriodicTasks: 1] 2015-04-23 11: 02: 03,987 Auth.java:277 - Creado superusuario predeterminado ''cassandra''

  1. Antes de esto no tenía el espacio de la tecla "system_auth", después de este cambio ahora puedo ver el espacio de clave "system_auth" y la tabla de "credenciales".

Nota: para Cassandra 2.2 y posterior

"CREATE USER es compatible con la compatibilidad con versiones anteriores. La autenticación y la autorización para Cassandra 2.2 y posterior se basan en ROLES, y se debe usar CREATE ROLE".

Eche un vistazo a: Crear un nuevo usuario utilizando ROLE

Respondiendo a tu pregunta, esto funcionó para mí:

En el archivo de configuración de Cassandra, cassandra.yaml modifica estas líneas:

Comenta esta linea:

autenticador: AllowAllAuthenticator

y reemplazar por:

autenticador: PasswordAuthenticator

Comenta esta linea:

autorizador: AllowAllAuthorizer

y reemplazar por:

autorizador: CassandraAutorizador

Después de eso, puedes crear tu propio súper usuario:

crea el usuario your_user_name con la contraseña '' your_password '' superusuario;