2016-01-29 74 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

相關問題