使用带有指定IP地址和OpsCenter社区的Cassandra CCM的问题

时间:2013-10-21 16:47:00

标签: cassandra datastax opscenter

我可以使用标准的自动配置版本和loopbacks

ccm create local-cluster -v 1.2.10 -n 3

当我尝试使用真实的IP地址时,我可以连接到VM以外的群集,但事情变得很糟糕。这是我跑的:

ccm create local-cluster -v 1.2.10
ccm add --itf 192.168.1.20 --jmx-port 7100 -b -s -r 2000 node1
ccm add --itf 192.168.1.21 --jmx-port 7200 -b -r 2001 node2
ccm add --itf 192.168.1.22 --jmx-port 7300 -b -r 2002 node3
ccm node1 start
ccm node2 start
ccm node3 start
ccm node1 status

问题1)我不能使用“ccm start”。它超时了。如果我独立启动每个节点它就可以工作 问题2)节点不平衡.21拥有87.6%而其他两个拥有6.2%。另外我认为种子不对,但如果我尝试在添加它时看到每个节点,那么我无法启动群集,因为它抱怨它找不到种子节点所以我只能在第一个上使用-s 问题3)OpsCenter一段时间后显示第一个然后三个节点中的两个不可用,尽管“ccm node1 status”node2,node3都显示它们很好并且向上 问题4)我能够手动配置OpsCenter代理有一些小问题,但是在我输入“local_interface”之前它们没有工作,所以广播地址有问题。即使在看到所有代理之后,OpsCenter仍然表现出奇怪的抱怨节点向下并且没有在所有图中显示数据。使用ccm压力我能够看到i / o和cpu加载,但不能看到集群读写,而不是延迟。以下是我配置代理的方法:

cd /usr/share/opscenter

mkdir ~/opsagent1
tar -C ~/opsagent1 -xzf agent.tar.gz
mkdir ~/opsagent2
tar -C ~/opsagent2 -xzf agent.tar.gz
mkdir ~/opsagent3
tar -C ~/opsagent3 -xzf agent.tar.gz

cd ~/opsagent1/agent
bin/setup 192.168.1.22
echo '
agent_rpc_interface: 192.168.1.20
jmx_host: 192.168.1.20
jmx_port: 7100
local_interface: 192.168.1.20
' >> conf/address.yaml
bin/opscenter-agent

cd ~/opsagent2/agent
bin/setup 192.168.1.22
echo '
agent_rpc_interface: 192.168.1.21
jmx_host: 192.168.1.21
jmx_port: 7200
local_interface: 192.168.1.21
' >> conf/address.yaml
bin/opscenter-agent

cd ~/opsagent3/agent
bin/setup 192.168.1.22
echo '
agent_rpc_interface: 192.168.1.22
jmx_host: 192.168.1.22
jmx_port: 7300
local_interface: 192.168.1.22
' >> conf/address.yaml
bin/opscenter-agent

1 个答案:

答案 0 :(得分:2)

您还应该将以下内容添加到每个代理配置文件中:

stomp_interface:OpsCenter用于stomp的IP

默认为127.0.0.1,除非您设置它,或者除非它能找出正确的IP。如果您有多个IP,则可能不会使用您指定的IP。所以我通过添加以下部分在opscenterd.conf中手动设置它:

[stomp]
port = 61619
interface = 192.168.1.22

此外,如果您要手动添加它们,您希望它们都是种子。当您使用populate时,它会将它们全部设置为种子:https://github.com/pcmanus/ccm/blob/master/ccmlib/cluster.py#L156