我在127.0.1.1上运行自己的cassandra版本。我将style="word-wrap:break-word";
和rpc_address
更改为127.0.1.1。
当我开始 Opscenter 时,系统会提示我安装address
,我是按照推荐的agents
选项进行安装的。但是当我尝试安装它时,我会询问一些Node ssh凭据。我不知道这意味着什么。
在此处输入的正确凭据是什么?
我尝试在Linux上添加具有root权限的新用户,并尝试使用该用户名,但它不起作用。我手动尝试运行Fix now
但它不起作用。
我错过了什么吗?
修改
address.yaml
install_agent.sh
cassandra.yaml
EDIT2:
用于用户名和密码我正在使用我的数据存储凭据。
对于私钥,我使用@apesa提到的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
中的密钥。但它仍然无法安装代理。
我的address.yaml文件是否正确?
编辑3:
您可以在下图中看到,当Opscenter未连接到代理时,我仍然可以在cassandra中看到键空间和表格。
对于/etc/ssh/ssh_host_rsa_key.pub
我没有输出。
sudo netstat -p | grep 127.0.1.1
输出分别是这个和这个。简而言之,是的,我可以看到罐子,我也猜测环境变量。
我怎么开始cassandra,你问?
来自cassandra文件夹的 xyz@ubuntu$ ps -ef | grep datastax-agent
xyz@ubuntu$ ps -ef | grep cassandra
。之后,我使用spark stream将数据从kafka传输到cassandra。但这不应该是重要的。
sudo ./bin/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
时,更改address.yaml会给出不同的输出。感谢。
EDIT4:
尝试了@apesa建议的所有内容,这里是脚本的详细输出。我仍然有同样的问题。
版本:
./datastax-agent
输出 sudo netstat -p | grep:9042
Opscenter: 5.2.4
datastax-agent: 5.2.4
Cassandra: 2.1.12
输出 sudo netstat -p | grep:7199
空白
输出 sudo netstat -p | grep:61620
空白
This is the console log正在运行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
。
简而言之,这是错误行:
sudo ./datastax-agent
但我不知道为什么它会尝试连接到127.0.0.1上的cassandra,因为cassandra在127.0.1.1上运行。我在这里做错了什么?
答案 0 :(得分:1)
有几种方法可以从OpsCenter安装DataStax代理。根据您的IP地址127.0.1.1,您必须运行Debian版本的Linux。我知道它说"可选"但是我没有能够在没有ssh私钥的情况下运行。在这种情况下,您应该使用以下命令
安装OpenSSH服务器xyz@ubuntu$ sudo apt-get install openssh-server
然后按照这些instructions设置一个SSH密钥,然后在向"修复代理提供凭据时使用该密钥。对话框。除非您更改了DSE端,否则DSE端的Datastax中的用户名/密码是datastax / datastax。这就是您应该输入的用户名/密码,然后在私钥框中复制/粘贴新的SSH密钥。可以在
中找到ssh密钥/etc/ssh/ssh_host_rsa_key.pub
获得所有凭据后,请继续运行“安装代理”工具。如果仍然无法完成,则应检查安装DSE的datastax-agent文件夹,并验证代理程序是否有jar文件。它应该类似于
datastax-agent-5.2.4-standalone.jar
您还应该看到代理的文件夹结构,bin,conf ...等目录都应该存在。如果一切就绪并且你的cassandra.yaml文件是正确的,那么你应该可以让代理运行。
您也可以通过移动正确的目录和jar文件然后重新启动代理来手动执行此操作。
修改强>
在查看最新的agent.log文件后,我会这样说。 Java中的管道错误是指不再启用或不可用的连接。在agent.log中失败的地方是尝试与opscenter通信的地方。您的一个连接未启动或配置错误。您还有另一个cassandra日志,通常在/ var / log / cassandra中,具体取决于您如何安装cassandra。梳理它并确保它在启动期间没有错误,警告很好,但错误通常指向问题。
从这一点开始,您将拥有以下日志文件。请注意,文件位置可能与您的不同,具体取决于您安装所有内容的方式。
/var/log/cassandra
/var/log/datastax-agent
/var/log/OpsCenter
并且您有以下命令来帮助理清实际运行的内容以及绑定的端口。看看下面这些命令告诉你什么?
xyz@ubuntu$ sudo netstat -p | grep 127.0.1.1
您应该至少看到绑定到127.0.1.1地址的以下端口:9042,8888,61620以及其他几个。
同样查看这两个命令的输出。如果你没有得到任何回报,请尝试将它们作为sudo运行。输出将取决于你如何开始罐子
xyz@ubuntu$ ps -ef | grep datastax-agent
xyz@ubuntu$ ps -ef | grep cassandra
您应该看到所有已加载的jar文件以及启动cassandra和/或datastax-agent时设置的环境变量。
您可以编辑您的帖子并解释您是如何开始使用cassandra的。即作为服务或从命令行?
此外,从OpsCenter,您应该能够在127.0.1.1:8888看到test_cluster。如果提示您修复代理,则只需退出这些对话框,直到您显示数据中心的主屏幕。即使它没有连接到代理,opscenter仍应显示cassandra实例。你看到你的test_Cluster了吗?
最后,当你输入
时,你会得到什么?xyz@ubuntu$ nodetool status
编辑2:
根据您的上次编辑,它看起来好像除了代理之外的所有内容都已启动并正在运行所以说nodetool,这很好。此外,因为您可以在OpsCenter中看到Keyspace,所以您肯定会连接到正在运行的cassandra实例。
因此,进一步看来,您的datastax-agent仍未连接。在查看你的address.yaml文件时,我可以看到几个可能的问题。这是一个简单的独立cassandra集群,其单个IP地址为127.0.1.1。因此,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启动时执行此脚本。查找脚本底部附近的以下行并取消注释,并添加主机IP 127.0.1.1代替<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"
最后,记录了cassandra实用程序HERE初始化时,可以将几个cli参数传递给cassandra shell。当您想要在更改IP或主机名后启动/重新启动cassandra集群时,下面的这个特别有用。完成这些更改后,您需要重新启动cassandra。实际上你按照这个顺序重新启动所有内容.Cassandra,datastax-agent然后是opscenter。
xyz@ubuntu$ bin/cassandra -Dcassandra.load_ring_state=false
完成更改并尝试启动代理后,它仍然会失败,您将需要更多调试详细信息。由于我们通过管道连接到grep实用程序,Netstat返回false。尝试以下操作,因为您使用127.0.1.1可能会将端口绑定到您的主机名。运行以下端口:9042,:7199和:61620。
,当您正在运行Cassandra时,您正在查找绑定到所有这些端口的主机名。xyz@ubuntu$ sudo netstat -p | grep :9042
请同时编辑您的问题并添加正在运行的OpsCenter和Datastax-Agent版本。这很重要。
答案 1 :(得分:0)
您可以尝试编辑datastax-agent的address.yaml文件。它应位于/ var / lib / datastax-agent / conf /中。 在此文件中,您需要添加以下行: stomp_interface: 还要确保stomp_port设置在同一个文件中。