所以我有一个应用程序,大部分时间都是非常hibernate的,但是这个应用程序需要在几个月内爆发。 由于我们在EC2上进行部署,因此我希望大部分时间只保留一台Cassandra服务器,然后在爆发时间内,我想再增加一台服务器(使用比先前更多的RAM和CPU)来帮助提供服务。 做这个的最好方式是什么? 我应该采取不同的方法吗? 关于我打算做什么的一些说明: 带上节点并立即修复 突发时间结束后,强大的节点退役 使用永远在线的服务器作为种子节点 我的主要问题是如何让节点共享所有的数据,因为我想要一个复制因子2(所以这两个节点都拥有所有的数据),但只有一个服务器时,这将无法正常工作。 我应该提出2个额外的服务器,而不是一个?
我有一个在生产环境中被用作Cassandra节点的Centos 6.4服务器,它仍然在工作并响应查询等,但是平均负载是相当“高”的又一个错误? 无论如何,你必须亲眼看到它: 有没有人看过这样的事情? 任何线索是什么造成的? 提前致谢! 编辑:根据要求添加cat / proc / loadavg的输出: [root@vdc-08 ~]# cat /proc/loadavg 2715599674950.05 1351413955738.05 471218463336.32 1/479 8382
我有3个节点,都〜550GB,并增加了4个。 我希望数据能够从旧服务器迁移到新服务器。 不幸的是,一天之后,数据似乎留在了古老的地方。 同时,有一个不断的传入数据stream,每个节点增加约150GB。 所以旧的节点目前有550 + 150 = 700GB,新的〜150GB。 我应该等一下吗? 有没有一个命令或选项,我应该运行,使他们重新平衡? 或者在重新平衡的同时,复制1或插入数据时出现问题? — Address Load Tokens Owns Host ID Rack UN xxxx 702.48 GB 256 13.1% 3e9e7e79-c727-4a3f-86ad-0dbfb77a4540 rack1 UN xxxx 692.47 GB 256 15.5% ac41b3df-301e-470a-b531-12f2aeba7328 rack1 UN xxxx 660.65 GB 256 14.2% 8b1bb70d-57fe-460a-b756-4ac82b24acb6 rack1 UN xxxx 156.7 GB 256 15.1% d499acd3-8eae-4a4c-bba3-cd8e45bd1ce3 rack1 UN xxxx 140.99 […]
我正在为我操作的一些Cassandra集群创build一些脚本。 其中一些脚本需要属于集群一部分的节点列表。 nodetool status会打印一个节点列表和它们的当前状态,但是它会打印出比我需要的更多的信息。 例如: $ nodetool status mykeyspace Datacenter: datacenter1 ======================= Status=Up/Down |/ State=Normal/Leaving/Joining/Moving — Address Load Tokens Owns Host ID Rack UN 10.11.12.13 47.66 KB 1 33.3% aaa1b7c1-6049-4a08-ad3e-3697a0e30e10 rack1 UN 10.11.12.14 47.67 KB 1 33.3% 1848c369-4306-4874-afdf-5c1e95b8732e rack1 UN 10.11.12.15 47.67 KB 1 33.3% 49578bf1-728f-438d-b1c1-d8dd644b6f7f rack1 节点的列表应该只有IP(主机名是不必要的),我想清洁输出如下: 10.11.12.13 10.11.12.14 10.11.12.15 什么是最好/最简单的方法来做到这一点? 我会在下面提供我目前使用的方法,但是如果有更好的方法,我很乐意看到它。 即使它不使用nodetool命令。
我们正在使用cassandra数据库存储网站信息,但我们不确定如何保存图像。 我们可以将它们存储在cassandra中,但是我们也可以分配一个服务器来存储图像。 Cassandra在大数据存储方面有很好的性能,但是如果我们将图像存储在cassandra中,我们必须将它们保存为字节。 对于任何复制,首先我们必须从cassandra读取图像字节并将其存储在一个文件夹中,然后将其地址发送到网页。 你对这个问题有什么想法吗?
我在10GBEnetworking(网卡是英特尔82599EB 10GBE SFI / SFP +)上连接了几台机器的集群,运行在Debian 6.0下,并且遇到挂起TCP连接的问题,处于CLOSE_WAIT状态。 我知道在理论上CLOSE_WAIT状态下的连接应该被应用程序明确地closures,但是在我的情况下,至less有两个不同的应用程序会产生这些挂起的连接,我认为这个问题是另一回事。 起初,这个问题是由Cassandra在“jsvc”进程下作为守护进程运行的。 Cassandra的一个节点(“服务器”)并没有closures连接,而是closures了连接的另一个节点(“客户端”)的一端。 之后,我运行“netperf”TCP_CRRtesting,并得到错误消息: netperf -H 172.15.2.166 -t TCP_CRR -l -5 -D TCP连接/请求/响应testing从0.0.0.0(0.0.0.0)端口0 AF_INET到172.15.2.166(172.15.2.166)端口0 AF_INET:demo send_tcp_conn_rr:数据recv错误:连接重置由对等 在172.15.2.166机器上,TCP连接挂在CLOSE_WAIT状态,在Recv-Q中有奇怪的1个字节。 tcp 1 0 172.15.2.166:12865 172.15.2.161:42863 CLOSE_WAIT 我更新了'ixgbe'驱动程序到最新的3.9-NAPI,但是这个问题仍然存在,现在我想知道还有什么会导致这个问题呢?
如果/tmp被设置为noexec ,Cassandra无法启动,这几乎是默认的: java.lang.NoClassDefFoundError: Could not initialize class com.sun.jna.Native at org.apache.cassandra.utils.memory.MemoryUtil.allocate(MemoryUtil.java:82) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.util.Memory.<init>(Memory.java:74) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.util.Memory.allocate(Memory.java:97) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.sstable.IndexSummary$IndexSummarySerializer.deserialize(IndexSummary.java:323) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.sstable.format.SSTableReader.loadSummary(SSTableReader.java:836) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:692) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.sstable.format.SSTableReader.load(SSTableReader.java:664) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:458) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.sstable.format.SSTableReader.open(SSTableReader.java:363) ~[apache-cassandra-2.2.2.jar:2.2.2] at org.apache.cassandra.io.sstable.format.SSTableReader$4.run(SSTableReader.java:501) ~[apache-cassandra-2.2.2.jar:2.2.2] at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) ~[na:1.8.0_102] at java.util.concurrent.FutureTask.run(FutureTask.java:266) ~[na:1.8.0_102] at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1142) ~[na:1.8.0_102] at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:617) [na:1.8.0_102] at java.lang.Thread.run(Thread.java:745) [na:1.8.0_102] 如果我从/var/tmp mount中删除noexec标志, […]
我想在Nginx后面运行datastax cassandra opscenter。 但它不断添加opscenter端口(默认8888)到所有的URL。 有没有configuration设置来禁用或什么? 这里是我的超级简单的nginxconfiguration: server { server_name opscenter.hostname.com; location / { proxy_pass http://127.0.0.1:8888; } } 有什么我可能做错了吗?
我在Debian 7上运行Cassandra 1.2和三节点集群。集群工作正常。 但是我想为客户端启用encryption,如下所述:ttp://www.datastax.com/documentation/cassandra/1.2/webhelp/cassandra/security/secureSSLClientToNode_t.html 但是,当我重新启动Cassandra后,必要的configuration更改,我得到这个错误的日志,卡桑德拉崩溃: INFO 20:12:16,734 enabling encrypted thrift connections between client and server java.lang.reflect.InvocationTargetException at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method) at sun.reflect.NativeMethodAccessorImpl.invoke(Unknown Source) at sun.reflect.DelegatingMethodAccessorImpl.invoke(Unknown Source) at java.lang.reflect.Method.invoke(Unknown Source) at org.apache.commons.daemon.support.DaemonLoader.start(DaemonLoader.java:243) Caused by: java.lang.RuntimeException: Unable to create thrift socket to /192.168.0.1:9160 at org.apache.cassandra.thrift.CustomTThreadPoolServer$Factory.buildTServer(CustomTThreadPoolServer.java:267) at org.apache.cassandra.thrift.TServerCustomFactory.buildTServer(TServerCustomFactory.java:46) at org.apache.cassandra.thrift.ThriftServer$ThriftServerThread.<init>(ThriftServer.java:105) at org.apache.cassandra.thrift.ThriftServer.start(ThriftServer.java:52) at org.apache.cassandra.service.CassandraDaemon.start(CassandraDaemon.java:400) … 5 more Caused by: […]
我有一个有两个networking接口的服务器。 Cassandra正在eth1上侦听专用的内部数据库networking(不能从外部访问)。 所以我这样做我的隧道: ssh -f -N -L9161:192.XXX.XXX.200:9160 [email protected] -P 9922 其中XXX是内部数据库networking,YYY是ssh正在侦听的networking。 当我尝试cqlsh localhost 9161我得到follwingexception: Connection error: ('Unable to connect to any servers', {'localhost': ConnectionShutdown('Connection <AsyncoreConnection(139691023521360) localhost:9161 (closed)> is already closed',)}) 但是当我telnet本地主机9161我成功了一个telnetshell。 当然cassandra正在运行。 任何想法如何让我的隧道工作?