首页 文章

datastax opscenter代理不安装

提问于
浏览
6

我在127.0.1.1上运行自己的cassandra版本 . 我将 rpc_addressaddress 更改为127.0.1.1 .

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

Entering random credentials

Install failed

What are the correct credentials to input here?

我尝试在Linux上添加具有root权限的新用户,并尝试使用该用户名,但它不起作用 . 我手动尝试运行 install_agent.sh 但它不起作用 .

我错过了什么吗?

EDIT:

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:

用户名和密码我'm using my datastax credentials. For the Private key, I' m使用_apesa提到的 /etc/ssh/ssh_host_rsa_key.pub 中的密钥 . 但它仍然无法安装代理 .

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

EDIT 3:

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

enter image description here

对于 sudo netstat -p | grep 127.0.1.1 我没有输出 .

xyz@ubuntu$ ps -ef | grep datastax-agent
xyz@ubuntu$ ps -ef | grep cassandra

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

How did I start cassandra, you ask?

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

What I believe:

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

EDIT4:

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

版:

Opscenter: 5.2.4
datastax-agent: 5.2.4
Cassandra: 2.1.12

输出 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

输出 sudo netstat -p | grep :7199

空白

输出 sudo 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.

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

2 回答

  • 0

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

    xyz@ubuntu$ sudo apt-get install openssh-server
    

    然后按照这些instructions设置SSH密钥,然后在向"fix agent"对话框提供凭据时使用该密钥 . 除非您更改了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文件,然后重新启动代理来手动执行此操作 .

    EDIT:

    在查看了您最新的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以及其他几个端口 .

    Also 看看这两个命令的输出 . 如果你什么都不回来尝试将它们作为sudo运行 . 输出将取决于您如何开始 jar

    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
    

    EDIT 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

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

    参考:OpsCenter 5.0 User Guide

    Sabiha

相关问题