#java #cassandra #cqlsh
#java #кассандра #cqlsh
Вопрос:
Я пытаюсь запустить cqlsh для подключения к cassandra и получил следующие сообщения об ошибках.
a) ошибка при запуске cqlsh:
Connection error: ('Unable to connect to any servers', {'127.0.0.1:9042': error(61, "Tried connecting to [('127.0.0.1', 9042)]. Last error: Connection refused")})
б) сообщение об ошибке после запуска cassandra:
Exception (java.lang.ExceptionInInitializerError) encountered during startup: null
java.lang.ExceptionInInitializerError
at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:709)
at org.apache.cassandra.service.StartupChecks$9.execute(StartupChecks.java:351)
at org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:109)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:188)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:607)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:717)
Caused by: java.lang.IllegalArgumentException: Bad configuration; unable to start server: At least one DataFileDirectory must be specified
at org.apache.cassandra.config.DatabaseDescriptor.createAllDirectories(DatabaseDescriptor.java:846)
at org.apache.cassandra.db.Keyspace.<clinit>(Keyspace.java:66)
... 6 more
ERROR 00:27:05 Exception encountered during startup
java.lang.ExceptionInInitializerError: null
at org.apache.cassandra.db.SystemKeyspace.checkHealth(SystemKeyspace.java:709) ~[apache-cassandra-2.2.17.jar:2.2.17]
at org.apache.cassandra.service.StartupChecks$9.execute(StartupChecks.java:351) ~[apache-cassandra-2.2.17.jar:2.2.17]
at org.apache.cassandra.service.StartupChecks.verify(StartupChecks.java:109) ~[apache-cassandra-2.2.17.jar:2.2.17]
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:188) [apache-cassandra-2.2.17.jar:2.2.17]
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:607) [apache-cassandra-2.2.17.jar:2.2.17]
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:717) [apache-cassandra-2.2.17.jar:2.2.17]
Caused by: java.lang.IllegalArgumentException: Bad configuration; unable to start server: At least one DataFileDirectory must be specified
at org.apache.cassandra.config.DatabaseDescriptor.createAllDirectories(DatabaseDescriptor.java:846) ~[apache-cassandra-2.2.17.jar:2.2.17]
at org.apache.cassandra.db.Keyspace.<clinit>(Keyspace.java:66) ~[apache-cassandra-2.2.17.jar:2.2.17]
... 6 common frames omitted
c) статус brew показывает, что произошла ошибка при запуске экземпляра cassandra:
Name Status User Plist
cassandra@2.2 error /Users/john/Library/LaunchAgents/homebrew.mxcl.cassandra@2.2.plist
rabbitmq stopped
redis started /Users/john/Library/LaunchAgents/homebrew.mxcl.redis.plist
tomcat@7 stopped
Кто-нибудь может, пожалуйста, помочь в этом вопросе?
Ответ №1:
Эта ошибка выдается отсюда — это означает, что у вас нет параметра конфигурации data_file_directories
, который указывает, где Cassandra должна хранить данные, и похоже, что $CASSANDRA_HOME
это не задано.
Откройте cassandra.yaml
файл, раскомментируйте data_file_directories
параметр конфигурации и следующую строку и укажите каталог, в который Cassandra может записывать данные вместо default /var/lib/cassandra/data
. Скорее всего, вам также потребуется указать другие параметры, такие как, commitlog_directory
, hints_directory
, и saved_caches_directory
.