datastax opscenter代理不安装

Hac*_*ode 6 cassandra opscenter datastax cassandra-2.1

我在127.0.1.1上运行自己的cassandra版本.我改变了rpc_address,也address改为127.0.1.1.

当我启动Opscenter时,我被提示安装agents,我是按照推荐的Fix now选项进行安装的.但是当我尝试安装它时,我会询问一些Node ssh凭据.我不知道这意味着什么.

输入随机凭证

安装失败

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

我尝试在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
Run Code Online (Sandbox Code Playgroud)

cassandra.yaml

http://textuploader.com/57ivn

EDIT2:

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

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

编辑3:

就像你在下图中看到的那样,当认为Opscenter没有连接到代理时,我仍然可以看到cassandra中的键空间和表格.

在此输入图像描述

因为sudo netstat -p | grep 127.0.1.1我得不到输出.

xyz@ubuntu$ ps -ef | grep datastax-agent
xyz@ubuntu$ ps -ef | grep cassandra
Run Code Online (Sandbox Code Playgroud)

输出分别是这个和这个.简而言之,是的,我可以看到罐子,我猜环境变量也是如此.

你问我怎么开始cassandra?

sudo ./bin/cassandra来自cassandra的文件夹.之后,我使用spark stream将数据从kafka传输到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
Run Code Online (Sandbox Code Playgroud)

我相信什么:

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

EDIT4:

尝试了@apesa建议的所有内容,这里是脚本的详细输出.我还有同样的问题.

版:

Opscenter: 5.2.4
datastax-agent: 5.2.4
Cassandra: 2.1.12
Run Code Online (Sandbox Code Playgroud)

输出sudo 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  
Run Code Online (Sandbox Code Playgroud)

输出sudo netstat -p | grep:7199

空白

输出sudo netstat -p | grep:61620

空白

这是运行时的控制台日志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.
Run Code Online (Sandbox Code Playgroud)

但我不知道为什么它试图连接到127.0.0.1上的cassandra,因为cassandra运行在127.0.1.1上.我在这做错了什么?

ape*_*esa 1

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

xyz@ubuntu$ sudo apt-get install openssh-server
Run Code Online (Sandbox Code Playgroud)

然后按照以下说明设置 SSH 密钥,然后在向“修复代理”对话框提供凭据时将使用该密钥。DSE 端的 Datastax 中的用户名/密码是 datastax/datastax,除非您更改了它。这就是您应该输入的用户名/密码,然后将新的 SSH 密钥复制/粘贴到私钥框中。ssh 密钥将在以下位置找到

/etc/ssh/ssh_host_rsa_key.pub
Run Code Online (Sandbox Code Playgroud)

获得所有凭据后,请继续运行安装代理工具。如果仍然无法完成,您应该检查安装 DSE 的 datastax-agent 文件夹并验证是否有该代理的 jar 文件。它应该类似于

datastax-agent-5.2.4-standalone.jar
Run Code Online (Sandbox Code Playgroud)

您还应该看到代理的文件夹结构,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
Run Code Online (Sandbox Code Playgroud)

您可以使用以下命令来帮助弄清楚实际正在运行的内容以及它绑定在哪个端口上。看看下面这些命令告诉你什么?

xyz@ubuntu$ sudo netstat -p | grep 127.0.1.1
Run Code Online (Sandbox Code Playgroud)

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

请查看这两个命令的输出。如果你没有得到任何回报,请尝试以 sudo 身份运行它们。输出将取决于你如何启动罐子

xyz@ubuntu$ ps -ef | grep datastax-agent
xyz@ubuntu$ ps -ef | grep cassandra
Run Code Online (Sandbox Code Playgroud)

您应该看到所有加载的 jar 文件以及启动 cassandra 和/或 datastax-agent 时设置的环境变量。

您可以编辑您的帖子并解释您如何开始 cassandra。即作为服务还是从命令行?

此外,您应该能够从 OpsCenter 看到位于 127.0.1.1:8888 的 test_cluster。如果提示您修复代理,只需退出这些对话框,直到您进入显示数据中心的主屏幕。即使它没有连接到代理,opscenter 仍应显示 cassandra 实例。你看到你的 test_Cluster 了吗?

最后,当你输入这个时你会得到什么

xyz@ubuntu$ nodetool status
Run Code Online (Sandbox Code Playgroud)

编辑2:

根据您上次的编辑,看起来除了代理之外的所有内容都已启动并运行。nodetool 是这么说的,这很好。此外,由于您可以在 OpsCenter 中看到 Keyspaces,因此您肯定已连接到正在运行的 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/$username/Dropbox/Work/ITNow/olderVersions/cassandra2.11/apache-cassandra-2.1.12/conf/cassandra.yaml
stomp_port: 61620
Run Code Online (Sandbox Code Playgroud)

保留 JMX 详细信息,因为它们不是必需的,并且将在连接后由 opscenterd 发送。此安装中也不需要 agent_rpc_interface。

cassandra-env.sh在 cassandra/conf 目录中还可以找到脚本。该脚本在 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"
Run Code Online (Sandbox Code Playgroud)

最后,这里记录了 cassandra 实用程序,您可以在初始化时将多个 cli 参数传递给 cassandra shell。当您想要在更改 IP 或主机名后启动/重新启动 cassandra 集群时,下面的这一特定功能非常有用。完成这些更改后,您将需要重新启动 cassandra。事实上,您应该按此顺序重新启动所有内容。Cassandra、datastax-agent,然后是 opscenter。

xyz@ubuntu$ bin/cassandra -Dcassandra.load_ring_state=false
Run Code Online (Sandbox Code Playgroud)

完成更改并尝试启动代理但仍然失败时,您将需要更多调试详细信息。由于我们通过管道传输到 grep 实用程序的内容,Netstat 返回 false。尝试以下操作,因为自从您使用 127.0.1.1 以来,端口可能绑定到您的主机名。针对以下端口运行它:9042、:7199 和:61620。您正在查找 cassandra 运行时绑定到所有这些端口的主机名。

xyz@ubuntu$ sudo netstat -p | grep :9042
Run Code Online (Sandbox Code Playgroud)

另请编辑您的问题并添加您运行的 OpsCenter 和 Datastax-Agent 的版本。这很重要。