对于我们希望使用 Active Active 配置实现零数据库和应用程序停机时间的应用程序。我们的 dB 是 Oracle
以下是我的问题:
感谢和问候, 希拉尔
假设情况:
replication_factor为 1 并使用SimpleStrategy.这是否意味着现在缺少 1/N 的数据?
我们正在使用 cassandra 数据库存储网站信息,但我们不确定如何保存图像。
我们可以将它们存储在 cassandra 中,但我们也可以分配一个服务器来存储图像。
Cassandra 对于大数据存储有很好的性能,但是如果我们在 cassandra 中存储图像,我们必须将它们保存为字节。对于任何检索,首先我们必须从 cassandra 读取图像字节并将其存储在一个文件夹中,然后将其地址发送到网页。
你对这个问题有什么想法吗?
我在 Debian 7 上运行带有三节点集群的 Cassandra 1.2。集群运行良好。但我想为客户端启用加密,如此处所述:ttp://www.datastax.com/documentation/cassandra/1.2/webhelp/cassandra/security/secureSSLClientToNode_t.html
但是当我在进行必要的配置更改后重新启动 Cassandra 时,我在日志中收到此错误,并且 Cassandra 崩溃:
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: org.apache.thrift.transport.TTransportException: Could not bind to port 9160
at org.apache.thrift.transport.TSSLTransportFactory.createServer(TSSLTransportFactory.java:117)
at org.apache.thrift.transport.TSSLTransportFactory.getServerSocket(TSSLTransportFactory.java:103)
at org.apache.cassandra.thrift.CustomTThreadPoolServer$Factory.buildTServer(CustomTThreadPoolServer.java:257)
... 9 more
Caused by: java.lang.IllegalArgumentException: …Run Code Online (Sandbox Code Playgroud) 我正在为我操作的一些 Cassandra 集群创建一些脚本。其中一些脚本需要属于集群一部分的节点列表。
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
Run Code Online (Sandbox Code Playgroud)
节点列表应该只是 IP(不需要主机名),我想要像下面这样的干净输出:
10.11.12.13
10.11.12.14
10.11.12.15
Run Code Online (Sandbox Code Playgroud)
最好/最简单的方法是什么?
我将在下面提供我当前的方法来执行此操作,但如果有更好的方法,我很乐意看到它。即使它不使用nodetool命令。
我刚刚建立了一个 IP 地址为“192.168.0.101”、“192.168.0.102”、“192.168.0.103”的 3 节点系统。我已将所有三台机器的配置上的种子值设置为
seeds: "192.168.0.101,192.168.0.102,192.168.0.103"
但是,在其中任何一个上运行 nodetool 时,只会103发现机器。
node101:/opt/cassandra/apache-cassandra-0.8.5/bin# ./nodetool ring -h 192.168.0.101 地址 DC 机架状态状态负载拥有令牌
192.168.0.103 datacenter1 rack1 Up 正常 151.96 KB
100.00% 38174485210079977599903748344879358256
有人能告诉我问题出在哪里吗?
目标:在Centos7上配置多节点Cassandra集群
方法
本文档用于配置多节点 Cassandra 集群。
[user@cassandra01 ~]$ cat /etc/cassandra/conf/cassandra.yaml
cluster_name: 'MyCassandraCluster'
num_tokens: 256
seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "<ipaddress_cassandra01>,<ipaddress_cassandra02>"
listen_address:
rpc_address: 0.0.0.0
endpoint_snitch: GossipingPropertyFileSnitch
Run Code Online (Sandbox Code Playgroud)
问题
当第一个 Cassandra 节点通过发出以下命令启动时:
sudo systemctl start cassandra
Run Code Online (Sandbox Code Playgroud)
该节点似乎没有启动,并且/var/log/cassandra/cassandra.log指示:
INFO 12:56:38,057 Loading settings from file:/etc/cassandra/default.conf/cassandra.yaml
INFO 12:56:40,073 Data files directories: null
INFO 12:56:40,089 Commit log directory: null
ERROR 12:56:40,097 Fatal configuration error
org.apache.cassandra.exceptions.ConfigurationException: Missing required directive CommitLogSync
at org.apache.cassandra.config.DatabaseDescriptor.applyConfig(DatabaseDescriptor.java:148)
at org.apache.cassandra.config.DatabaseDescriptor.<clinit>(DatabaseDescriptor.java:112)
at org.apache.cassandra.service.CassandraDaemon.setup(CassandraDaemon.java:213)
at org.apache.cassandra.service.CassandraDaemon.activate(CassandraDaemon.java:554)
at org.apache.cassandra.service.CassandraDaemon.main(CassandraDaemon.java:643)
Missing required directive …Run Code Online (Sandbox Code Playgroud)