Articles of cassandra

当Cassandra需要validation时,DataStax OpsCenter代理无法启动

问题 我无法让OpsCenter连接到datastax-agent。 看起来datastax代理启动并尝试连接到cassandra失败,因为它不知道正确的凭据,但它也不启动Jetty服务器从opscenter接收凭据。 所以它重试和重试,但从来没有连接。 当cassandra允许所有连接(不authentication),我的设置工作正常。 startup.log和agent.log都显示重复: ERROR [main] 2015-03-03 21:19:43,106无法连接到Cassandra,正在重试com.datastax.driver.core.exceptions.AuthenticationException:主机上的validation错误/127.0.0.1:9042:主机/127.0.0.1 :9042需要身份validation,但在群集configuration中找不到身份validation器 build立 我在EC2实例的官方http://debian.datastax.com/community stable main下安装了Ubuntu 14.04.LTS下的datastax-agent (5.1)。 我的address.yml如下所示: stomp_interface:PUBLIC_IP_OF_OPSCENTER_NODE local_interface:PUBLIC_IP_OF_NODE agent_rpc_interface:PRIVATE_IP_OF_NODE agent_rpc_broadcast_address:PUBLIC_IP_OF_NODE 我也尝试添加cassandra_install_location: /opt/cassandra但似乎没有帮助。 Cassandra(2.1)通过tarball安装,并以ubuntu用户身份运行,datastax-agent也以ubuntu运行。 题 当cassandra需要validation时,我缺less什么来获得datastax-agent和opscenter的通信? 编辑: 启动后的startup.log : log4j:WARN No appenders could be found for logger (com.datastax.driver.core.SystemProperties). log4j:WARN Please initialize the log4j system properly. log4j:WARN See http://logging.apache.org/log4j/1.2/faq.html#noconfig for more info. INFO [main] 2015-03-10 […]

cassandra nodetool排水pipe运行数天

当我们的集群出现修复正在运行或大量删除的超时问题时,我们遇到了性能问题。 我收到的build议之一是将我们的casssandra版本从2.0.17更新到2.2。 我正在耗尽其中一个节点来开始升级,现在耗尽了两天的时间。 在日志中只能看到这样的日志: INFO [ScheduledTasks:1] 2016-04-06 08:17:10,987 ColumnFamilyStore.java (line 808) Enqueuing flush of Memtable-sstable_activity@1382334976(15653/226669 serialized/live bytes, 6023 ops) INFO [FlushWriter:1468] 2016-04-06 08:17:10,988 Memtable.java (line 362) Writing Memtable-sstable_activity@1382334976(15653/226669 serialized/live bytes, 6023 ops) INFO [ScheduledTasks:1] 2016-04-06 08:17:11,004 ColumnFamilyStore.java (line 808) Enqueuing flush of Memtable-compaction_history@1425848386(1599/15990 serialized/live bytes, 51 ops) INFO [FlushWriter:1468] 2016-04-06 08:17:11,012 Memtable.java (line 402) Completed […]

将cassandra数据从常规驱动器迁移到生产服务器上的SSD

我们希望将我们的数据从生产服务器上的常规驱动器迁移到新的SSD驱动器。 我们怎样才能做到这一点,而不会超过4小时的时间(假设交接时间是4小时),我们的数据是在几百GigaBytes。 我一直在想的是在一个节点上一次性停止cassandra,将数据刷新到磁盘,然后将数据从旧的驱动器传输到新的驱动器,并卸载旧的磁盘并使节点联机。 这是一个正确的做法? 如果是这样,我主要关心的是,数据迁移到新磁盘需要超过4个小时,而我将失去提示。 有没有更好的方法将数据迁移到新磁盘?

cassandra无法创build节俭套接字

我不知道为什么我不能在cassandra上启用节俭协议。 在cassandra.yaml rpc_start=true port=9160 。 OS centos 7 iptables不能运行 firewalld没有运行 cassandra版本3.7(datastax回购)启动和运行。 java version "1.8.0_51" Java(TM) SE Runtime Environment (build 1.8.0_51-b16) Java HotSpot(TM) 64-Bit Server VM (build 25.51-b03, mixed mode) JAN安装 启用了JMX 等等.. 一切在cassandraconfiguration是好的,除了交换文件需要由于缺乏内存。 selinux并不重要,但宽容。 我能够从远程连接,但这是来自nodetools enablethrift的输出 error: Could not create ServerSocket on address /10.10.30.11:9160. — StackTrace — org.apache.thrift.transport.TTransportException: Could not create ServerSocket on address /10.10.30.11:9160. […]

运算符\>和\ <(string版本比较)无法在shell脚本中识别

我试图运行Casandra nodetool并从脚本得到警告。 [root@d11ca4cc-fa95-c8a9-e133-e64c434f0e6f ~]# nodetool status /opt/local/share/cassandra/bin/nodetool[53]: .[97]: [: <: unknown operator /opt/local/share/cassandra/bin/nodetool[53]: .[102]: [: <: unknown operator prtconf: devinfo facility not available /opt/local/share/cassandra/bin/nodetool[53]: .[222]: [: <: unknown operator 在第53行nodetool正在调用cassandra-env.sh。 在cassandra-env.sh(第97,102,222行)中: … 97 if [ "$JVM_VERSION" \< "1.7" ] ; then … if [ "$JVM_VERSION" \< "1.8" ] && [ "$JVM_PATCH_VERSION" -lt "25" ] ; […]

无法升级我的Ubuntu服务器,它卡在openjdk-6-jre-headless上

我正在使用Ubuntu服务器。 当我做: apt-get升级 它卡住了: 设置openjdk-6-jre-headless(6b20-1.9.7-0ubuntu1)… 为什么? 我能做些什么来阻止它? 我试图删除它与apt-get …我得到这个错误: E: dpkg was interrupted, you must manually run 'sudo dpkg –configure -a' to correct the problem. 那么我试过这个: dpkg –purge openjdk-6-jre-headless 我懂了: dpkg: dependency problems prevent removal of openjdk-6-jre-headless: openjdk-6-jre-lib depends on openjdk-6-jre-headless (>= 6b17). ca-certificates-java depends on openjdk-6-jre-headless (>= 6b16-1.6.1-2) | java6-runtime-headless; however: Package openjdk-6-jre-headless is […]

许多并发的Cassandra数据库连接通过SSH隧道

我有一个应用程序使用PyCassa Cassandra客户端打开Cassandra服务器的许多并发连接。 当我在数据库服务器上本地运行客户端应用程序时,它工作。 但是,当我通过SSH通道转发到数据库服务器的Cassandra端口,并通过此隧道连接客户端应用程序到服务器时,几个连接通过,但通常我得到这样的错误: '2012210105:49:49'|WARNING |_append_historyStorage|75 |Exception when appending to CassandraTimeSeries Traceback (most recent call last): File "atr/cassandratimeseries.py", line 140, in append cf = self._getColumnFamily(duration, 'main') File "atr/cassandratimeseries.py", line 63, in _getColumnFamily return ColumnFamily(ConnectionPool(self._keyspace, pool_timeout=100, timeout=15, max_overflow=5), self._columnFamilyName(duration, table_type), **self._column_family_op_options) File "/usr/local/lib/python2.7/dist-packages/pycassa/pool.py", line 356, in __init__ self.fill() File "/usr/local/lib/python2.7/dist-packages/pycassa/pool.py", line 415, in fill conn = […]

我可以在我的Mac上运行Cassandra的多个节点,而不需要每台虚拟机?

你可以在这里看到,设置Cassandra的每个实例都需要一个新的“节点”。 我的问题是 – 在我的Mac(Running Mavericks)上运行Cassandra的多个节点的集群 – 是否需要为每个节点启动一个虚拟机 – 或者我可以运行多个实例(在不同的目录中或以不同的configuration文件为例)?

Cassandra节点工具修复失败 – 断开的pipe道

我们试图用以下方式检查我们的Cassandra集群数据完整性: nodetool repair 但几分钟后(〜2-10分钟),我们得到了奇怪的连接重置/断开的pipe道 在第一个节点上堆栈跟踪: ERROR [STREAM-OUT-/52.xx.xx.xx] 2016-01-14 17:16:38,022 StreamSession.java:524 – [Stream #2b784f90-bada-11e5-8356-d1461c60ce25] Streaming error occurred org.apache.cassandra.io.FSReadError: java.io.IOException: Broken pipe at org.apache.cassandra.io.util.ChannelProxy.transferTo(ChannelProxy.java:144) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.compress.CompressedStreamWriter$1.apply(CompressedStreamWriter.java:79) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.compress.CompressedStreamWriter$1.apply(CompressedStreamWriter.java:76) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.io.util.BufferedDataOutputStreamPlus.applyToChannel(BufferedDataOutputStreamPlus.java:297) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.compress.CompressedStreamWriter.write(CompressedStreamWriter.java:75) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.messages.OutgoingFileMessage.serialize(OutgoingFileMessage.java:90) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.messages.OutgoingFileMessage$1.serialize(OutgoingFileMessage.java:48) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.messages.OutgoingFileMessage$1.serialize(OutgoingFileMessage.java:40) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.messages.StreamMessage.serialize(StreamMessage.java:47) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.sendMessage(ConnectionHandler.java:363) ~[apache-cassandra-2.2.4.jar:2.2.4] at org.apache.cassandra.streaming.ConnectionHandler$OutgoingMessageHandler.run(ConnectionHandler.java:335) ~[apache-cassandra-2.2.4.jar:2.2.4] at java.lang.Thread.run(Thread.java:745) […]

如何自动将Cassandra节点添加到Windows DNS?

我正在build立一个新的Cassandra集群,我想创build一个DNSlogging,它将保存所有节点的IP地址。 我在云中构build了所有的服务器,当它们联机时,它们会自动创build一个新的Alogging,但我不知道如何在不覆盖现有信息的情况下添加到现有logging。 DNS服务器是Windows 2008域控制器,我的Cassandra节点是Ubuntu 10.04服务器。