2016-01-29 78 views
6

我在127.0.1.1上运行我自己的cassandra版本。我将rpc_addressaddress更改为127.0.1.1。datastax opscenter代理未安装

当我开始的OpsCenter提示我安装agents,我被推荐Fix now选择这样做。但是当我尝试安装时,它会要求我输入一些Node ssh证书。我不知道这是什么意思。

Entering random credentials

Install failed

什么是正确的凭据输入这里?

我试着在Linux上用root权限添加一个新用户,并尝试使用该用户名,但它不起作用。我也手动尝试运行install_agent.sh,但它不起作用。

我错过了什么吗?

编辑:

address.yaml

stomp_interface: 127.0.1.1 
agent_rpc_interface: "127.0.1.1" 
cassandra-conf: /home/kaushaya/Dropbox/Work/ITNow/olderVersions/cassandra2.11/apache-cassandra-2.1.12/conf/cassandra.yaml 
stomp_port: 61620 
jmx_host: 127.0.1.1 
jmx_port: 7199 

cassandra.yaml

http://textuploader.com/57ivn

EDIT2:

用户名和密码我正在使用我的datastax凭据。 对于私钥,我使用@apesa提到的/etc/ssh/ssh_host_rsa_key.pub中的密钥。但仍然无法安装代理。

我的address.yaml文件是否正确?

编辑3:

喜欢,你可以在下图中看到的,想到的OpsCenter没有连接到代理的时候,我仍然可以看到keyspaces和表格卡桑德拉。

enter image description here

对于sudo netstat -p | grep 127.0.1.1我没有得到任何输出。

[email protected]$ ps -ef | grep datastax-agent 
[email protected]$ ps -ef | grep cassandra 

输出是这个和这个分别。总之,是的,我可以看到罐子,我也猜测环境变量。

我问我,如何开始cassandra?

sudo ./bin/cassandra来自cassandra的文件夹。之后,我使用火花流传输将数据从卡夫卡传输到卡桑德拉。但在这里并不重要。

Even if it is not connecting to the agent the opscenter should still show the cassandra instance. Do you see your test_Cluster?是的!我做!

最后,nodetool status给了我这样的:

Datacenter: datacenter1 
======================= 
Status=Up/Down 
|/ State=Normal/Leaving/Joining/Moving 
-- Address Load  Tokens Owns Host ID        Rack 
UN 127.0.1.1 58.94 MB 256  ?  367dd1c6-291d-4e57-a2b6-e04d74154a6f rack1 

Note: Non-system keyspaces don't have the same replication settings, effective ownership information is meaningless 

我相信:

我不知道,但也许我的address.yaml是不正确的?我已经更新了我的address.yaml以上,也许我需要改变一些东西?当我运行./datastax-agent时,更改address.yaml给了我不同的输出。谢谢。

EDIT4:

尝试一切什么@apesa建议和这里的脚本的详细输出。我仍然有同样的问题。

版本:

Opscenter: 5.2.4 
datastax-agent: 5.2.4 
Cassandra: 2.1.12 

输出须藤netstat的-p | grep的:9042

tcp  0  0 localhost:38155   ganguly:9042   ESTABLISHED 15907/python2.7 
tcp  0  0 localhost:38154   ganguly:9042   ESTABLISHED 15907/python2.7 
tcp  0  0 localhost:38153   ganguly:9042   ESTABLISHED 15907/python2.7 
tcp6  0  0 localhost:38176   ganguly:9042   ESTABLISHED 15951/java  
tcp6  0  0 localhost:38179   ganguly:9042   ESTABLISHED 15951/java  
tcp6  0  0 ganguly:9042   localhost:38154   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38153   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38179   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38176   ESTABLISHED 15720/java  
tcp6  0  0 ganguly:9042   localhost:38155   ESTABLISHED 15720/java 

输出须藤netstat的-p | grep的:7199

空白须藤netstat的-p的

输出| grep的:61620

空白

This is the console log上运行sudo ./datastax-agent

总之,这是错误行:

ERROR [clojure-agent-send-off-pool-0] 2016-02-04 11:33:26,274 Can't \ 
connect to Cassandra (All host(s) tried for query failed (tried:\ 
/127.0.0.1:9042 \ 
(com.datastax.driver.core.TransportException: \ 
[/127.0.0.1:9042] Cannot connect))), retrying soon. 

但我不知道为什么它的尝试,因为Cassandra是127.0.1.1上运行连接到Cassandra的上127.0.0.1。我在这里做错了什么?

+0

看着你cassandra.yaml后你应该改变的种子提供者127.0.1.1所以它是一样的听和RPC地址。你也可能需要将address.yaml中的stomp接口改为127.0.1.1。您还应该查看日志的代理文件夹。 – apesa

+0

试过了,现在还是一样的问题。 :/ – HackCode

+0

你确定cassandra正在运行吗?另外,agent.log和opscenterd.log说什么?如果您尝试启动代理程序,它将记录失败。 – apesa

回答

1

有几种方法可以从OpsCenter安装DataStax代理。根据您的IP地址127.0.1.1,您必须运行Debian版本的Linux。我知道它说“可选”,但我从来没有能够运行没有SSH私钥。在这种情况下,你应该使用以下命令

[email protected]$ sudo apt-get install openssh-server 

然后按照这些instructions用于建立SSH密钥提供凭据的“修复剂”的对话框时,你会再使用安装openssh-server。 Datastax中用于DSE端的用户名/密码是datastax/datastax,除非您对其进行了更改。这就是你应该输入用户名/密码,然后在私钥框中复制/粘贴新的SSH密钥。 ssh密钥将在

/etc/ssh/ssh_host_rsa_key.pub 

将所有凭据放在一起继续运行“安装代理”工具。如果它仍然无法完成,您应该检查安装DSE的datastax-agent文件夹并验证是否有代理的jar文件。它应该像

datastax-agent-5.2.4-standalone.jar 

你也应该看到了代理的文件夹结构为好,垃圾桶,CONF ... etc目录中都应该有。如果一切正常,并且你的cassandra.yaml文件是正确的,你应该能够让代理运行。

您也可以通过在适当位置移动正确的目录和jar文件,然后重新启动代理程序来手动执行此操作。

编辑:

看你的最新agent.log文件后,我会说这个。 Java中的管道故障错误指的是不再启动或不可用的连接。 agent.log中失败的地方是它试图与opscenter进行通信的地方。其中一个连接未启动或者配置错误。您还有另一个cassandra日志,通常位于/ var/log/cassandra,具体取决于您安装cassandra的方式。梳理并确保它在启动过程中没有错误,警告没问题,但错误通常指出问题所在。

从这里开始,您有以下日志文​​件。请注意,文件位置可能与您的文件位置不同,具体取决于您安装的所有内容。

/var/log/cassandra 
/var/log/datastax-agent 
/var/log/OpsCenter 

并且您有以下命令来帮助理清实际运行的内容以及它绑定的端口。请看下面,这些命令告诉你什么?

[email protected]$ sudo netstat -p | grep 127.0.1.1 

您应该看到至少绑定到127.0.1.1地址以下端口:9042,8888,61620和其他几个人。

另外看看这两个命令的输出。如果您没有收到任何回复,请尝试将它们作为sudo运行。输出将取决于你是如何开始的罐子

[email protected]$ ps -ef | grep datastax-agent 
[email protected]$ ps -ef | grep cassandra 

您应该看到所有加载的jar文件以及这开始卡桑德拉和/或datastax代理时设置的环境变量。

你可以编辑你的文章并解释你是如何开始cassandra的。即作为服务或从命令行?

另外,从OpsCenter您应该能够在127.0.1.1:8888处看到test_cluster。如果提示您修复代理程序,请退出这些对话框,直到显示数据中心的主屏幕。即使它没有连接到代理,操作中心仍应显示cassandra实例。你看到你的test_Cluster了吗?基于上次编辑

它看起来好像一切,但代理运行起来:

最后,当你键入此

[email protected]$ nodetool status 

EDIT 2你得到了什么。所以说nodetool,这是很好的。另外,由于您可以在OpsCenter中看到Keyspaces,因此您肯定可以连接到正在运行的cassandra实例。

因此,看起来你的datastax代理仍然没有连接。在看你的地址。yaml文件我可以看到几个可能的问题。这是一个具有单个IP地址127.0.1.1的简单独立cassandra群集。因此127.0.1.1地址将被用于涉及IP地址或主机的所有配置中。我会对您的address.yaml文件进行以下更改。

stomp_interface: 127.0.1.1 
cassandra-conf: /home/kaushaya/Dropbox/Work/ITNow/olderVersions/cassandra2.11/apache-cassandra-2.1.12/conf/cassandra.yaml 
stomp_port: 61620 

由于不需要JMX的详细信息,因此一旦连接就会被opscenterd发送出去。此安装中也不需要agent_rpc_interface。

在cassandra/conf目录中还有cassandra-env.sh脚本。这个脚本在cassandra启动时执行。寻找附近的脚本的底部以下行,并取消它,并在地方<public name>

# jmx: metrics and administration interface 
# 
# add this if you're having trouble connecting: 
JVM_OPTS="$JVM_OPTS -Djava.rmi.server.hostname=127.0.1.1" 

最后的添加你的主机IP 127.0.1.1,有卡桑德拉工具记录HERE您可以通过几个CLI参数到cassandra shell初始化时。当您想要在更改IP或主机名后启动/重新启动cassandra集群时,下面的这个特定的选项非常有用。完成这些更改后,您需要重新启动cassandra。事实上,你应该按照这个顺序重启所有的东西。Cassandra,datastax-agent,然后是opscenter。

[email protected]$ bin/cassandra -Dcassandra.load_ring_state=false 

一旦您完成更改并尝试启动代理程序并且仍然失败,您将需要更多的调试细节。 Netstat由于我们传递给grep实用程序而返回false。请尝试以下操作,因为在使用127.0.1.1后端口可能会与您的主机名绑定。为以下端口运行它:9042,:7199和:61620。当cassandra运行时,您正在查找绑定到所有这些端口的主机名。

[email protected]$ sudo netstat -p | grep :9042 

还请编辑您的问题并添加您运行的OpsCenter和Datastax代理的版本。这很重要。

+0

“检查安装DSE的datastax代理文件夹”。我没有与DSE合作。我正在运行cassandra的apache版本。我试过你提到的一切,但它仍然不让我连接。我是否需要将'datastax-agent-5.2.4-standalone.jar'放置在特定位置?现在它在/usr/share/opscenter/agent/datastax-agent-5.2.4-standalone.jar – HackCode

+0

我还添加了我的cassandra.yaml和address.yaml以获得更好的跟踪。 – HackCode

+0

请检查我最近编辑的yaml代码。谢谢。 – HackCode

0

您可以尝试编辑datastax-agent的address.yaml文件。它应该位于/ var/lib/datastax-agent/conf /中。 在此文件中,您需要添加以下行: stomp_interface: 还要确保stomp_port设置在同一个文件中。

参考:OpsCenter 5.0 User Guide

Sabiha

+0

请检查我的最新编辑yaml代码。编辑我的address.yaml后仍然不起作用。 – HackCode

相关问题