2012-12-13 32 views
5

Tôi đang cố thiết lập apache cassandra trên macbook OS X của mình. Tôi đang cố gắng để kiểm tra cơ sở dữ liệu NoSql, tôi đã thiết lập memcached và redis. Nhưng với cassandra tôi đang có Tôi đang sử dụng jdk 1.7.0_09 từ oracle Tôi đã làm theo hướng dẫn cài đặt, nhưng khi tôi cố gắng khởi động máy chủ, tôi nhận được sự cố từ bảng điều khiển:Lỗi bắt đầu của máy chủ Cassandra trên OS X

MacBook-Air-Urij:bin urijvoskresenskij$ ./cassandra -f xss = -ea -javaagent:./../lib/jamm-0.2.5.jar -XX:+UseThreadPriorities -XX:ThreadPriorityPolicy=42 -Xms1024M -Xmx1024M -Xmn200M -XX:+HeapDumpOnOutOfMemoryError log4j:ERROR setFile(null,true) call failed. java.io.FileNotFoundException: /var/log/cassandra/system.log (Permission denied) at java.io.FileOutputStream.open(Native Method) at java.io.FileOutputStream.<init>(FileOutputStream.java:212) at java.io.FileOutputStream.<init>(FileOutputStream.java:136) at org.apache.log4j.FileAppender.setFile(FileAppender.java:294) at org.apache.log4j.RollingFileAppender.setFile(RollingFileAppender.java:207) at org.apache.log4j.FileAppender.activateOptions(FileAppender.java:165) at org.apache.log4j.config.PropertySetter.activate(PropertySetter.java:307) at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:172) at org.apache.log4j.config.PropertySetter.setProperties(PropertySetter.java:104) at org.apache.log4j.PropertyConfigurator.parseAppender(PropertyConfigurator.java:809) at org.apache.log4j.PropertyConfigurator.parseCategory(PropertyConfigurator.java:735) at org.apache.log4j.PropertyConfigurator.configureRootCategory(PropertyConfigurator.java:615) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:502) at org.apache.log4j.PropertyConfigurator.doConfigure(PropertyConfigurator.java:395) at org.apache.log4j.PropertyWatchdog.doOnChange(PropertyConfigurator.java:922) at org.apache.log4j.helpers.FileWatchdog.checkAndConfigure(FileWatchdog.java:89) at org.apache.log4j.helpers.FileWatchdog.<init>(FileWatchdog.java:58) at org.apache.log4j.PropertyWatchdog.<init>(PropertyConfigurator.java:914) at org.apache.log4j.PropertyConfigurator.configureAndWatch(PropertyConfigurator.java:461) at org.apache.cassandra.service.AbstractCassandraDaemon.initLog4j(AbstractCassandraDaemon.java:100) at org.apache.cassandra.thrift.CassandraDaemon.<clinit>(CassandraDaemon.java:61) INFO 17:40:17,717 Logging initialized INFO 17:40:17,720 JVM vendor/version: Java HotSpot(TM) 64-Bit Server VM/1.7.0_09 INFO 17:40:17,720 Heap size: 1052770304/1052770304 INFO 17:40:17,721 Classpath: ./../conf:./../build/classes/main:./../build/classes/thrift:./../lib/antlr-3.2.jar:./../lib/apache-cassandra-1.1.7.jar:./../lib/apache-cassandra-clientutil-1.1.7.jar:./../lib/apache-cassandra-thrift-1.1.7.jar:./../lib/avro-1.4.0-fixes.jar:./../lib/avro-1.4.0-sources-fixes.jar:./../lib/commons-cli-1.1.jar:./../lib/commons-codec-1.2.jar:./../lib/commons-lang-2.4.jar:./../lib/compress-lzf-0.8.4.jar:./../lib/concurrentlinkedhashmap-lru-1.3.jar:./../lib/guava-r08.jar:./../lib/high-scale-lib-1.1.2.jar:./../lib/jackson-core-asl-1.9.2.jar:./../lib/jackson-mapper-asl-1.9.2.jar:./../lib/jamm-0.2.5.jar:./../lib/jline-0.9.94.jar:./../lib/json-simple-1.1.jar:./../lib/libthrift-0.7.0.jar:./../lib/log4j-1.2.16.jar:./../lib/metrics-core-2.0.3.jar:./../lib/servlet-api-2.5-20081211.jar:./../lib/slf4j-api-1.6.1.jar:./../lib/slf4j-log4j12-1.6.1.jar:./../lib/snakeyaml-1.6.jar:./../lib/snappy-java-1.0.4.1.jar:./../lib/snaptree-0.1.jar:./../lib/jamm-0.2.5.jar INFO 17:40:17,722 JNA not found. Native methods will be disabled. INFO 17:40:17,734 Loading settings from file:/Users/urijvoskresenskij/apache-cassandra-1.1.7/conf/cassandra.yaml INFO 17:40:17,924 DiskAccessMode 'auto' determined to be mmap, indexAccessMode is mmap INFO 17:40:18,149 Global memtable threshold is enabled at 334MB java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:57) at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43) at java.lang.reflect.Method.invoke(Method.java:601) at org.xerial.snappy.SnappyLoader.loadNativeLibrary(SnappyLoader.java:317) at org.xerial.snappy.SnappyLoader.load(SnappyLoader.java:219) at org.xerial.snappy.Snappy.<clinit>(Snappy.java:44) at org.apache.cassandra.io.compress.SnappyCompressor.create(SnappyCompressor.java:46) at org.apache.cassandra.io.compress.SnappyCompressor.isAvailable(SnappyCompressor.java:56) at org.apache.cassandra.io.compress.SnappyCompressor.<clinit>(SnappyCompressor.java:38) at org.apache.cassandra.config.CFMetaData.<clinit>(CFMetaData.java:76) at org.apache.cassandra.config.KSMetaData.systemKeyspace(KSMetaData.java:84) at org.apache.cassandra.config.DatabaseDescriptor.loadYaml(DatabaseDescriptor.java:438) at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:114) at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:127) at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:389) at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) Caused by: java.lang.UnsatisfiedLinkError: no snappyjava in java.library.path at java.lang.ClassLoader.loadLibrary(ClassLoader.java:1860) at java.lang.Runtime.loadLibrary0(Runtime.java:845) at java.lang.System.loadLibrary(System.java:1084) at org.xerial.snappy.SnappyNativeLoader.loadLibrary(SnappyNativeLoader.java:52) ... 17 more WARN 17:40:18,269 Cannot initialize native Snappy library. Compression on new tables will be disabled. ERROR 17:40:18,317 Exception encountered during startup java.lang.AssertionError: Directory /var/lib/cassandra/data is not accessible. at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:155) at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:389) at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) java.lang.AssertionError: Directory /var/lib/cassandra/data is not accessible. at org.apache.cassandra.service.AbstractCassandraDaemon.setup(AbstractCassandraDaemon.java:155) at org.apache.cassandra.service.AbstractCassandraDaemon.activate(AbstractCassandraDaemon.java:389) at org.apache.cassandra.thrift.CassandraDaemon.main(CassandraDaemon.java:106) Exception encountered during startup: Directory /var/lib/cassandra/data is not accessible. </pre></code>

Tôi không biết cách giải quyết vấn đề. Xin hãy giúp tôi, các bạn :)

+0

chown -R pacan/var/log/cassandra – Schildmeijer

Trả lời

7

Bạn không có quyền ghi vào/var/log, điều này được mong đợi. Bạn sẽ cần chạy Cassandra như sudo hoặc tự tạo thư mục với các quyền thích hợp.

+0

Cảm ơn bạn rất nhiều! – PAcan

4

config/cassandra.yaml - chứa đường dẫn đến tất cả các thư mục được Cassandra yêu cầu. Thay đổi các đường dẫn đó đến nơi người dùng của bạn có quyền truy cập ghi để bạn không cần phải chạy nó như sudo.

1

Tôi nghĩ rằng một giải pháp có khả năng ít xâm nhập để làm việc trên các máy tính địa phương không gây rối với quyền root. Chỉ cần thay đổi vị trí nhật ký thành bất kỳ nơi nào bạn muốn bằng cách chỉnh sửa tệp thuộc tính log4j trong thư mục <cassandra_install_dir>/conf.

Các vấn đề liên quan