Не удается запустить Cassandra

#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 .