2017-03-10 126 views
1

我是cassandra的新手,需要有關在Unix機器上啓動cassandra服務器的幫助。我有一個卡桑德拉安裝在執行./bin/cassandra -f我收到以下錯誤 -無法在UNIX計算機上啓動Cassandra服務器

./bin/cassandra:測試:未知運營商>

另一個錯誤是在執行cqlsh在同一個目錄。

cqlsh:在第21行語法錯誤:'打印」意外

我有JDK 1.8和Python 2.4.4在我的環境。我也嘗試過使用tcsh和bash。

請提供建議和欣賞解決方案。

回答

0

獲得Cassandra在某些品牌的UNIX上運行肯定有一些技巧。這也有助於瞭解你試圖運行哪個版本的Cassandra。

首先,你絕對應該從Bash運行它。

./bin/cassandra: test: unknown operator > 

接下來,這是因爲conf/cassandra-env.sh正在嘗試檢查您的Java版本。根據您所使用的卡珊德拉的版本,它試圖做這樣的事情:

if [ "$JVM_VENDOR" != "OpenJDK" -o "$JVM_VERSION" \> "1.6.0" ] 

在bash在Linux上運行良好。但對於某些品牌的UNIX,運營商可能無法以相同的方式工作。老實說,只要你知道你的Java版本是好的,你應該能夠編輯conf/cassandra-env.sh並註釋掉這些檢查。

cqlsh: syntax error at line 21: `print' unexpected 

此錯誤是因爲該行的情況發生:

python -c 'import sys; sys.exit(not (0x020700b0 < sys.hexversion < 0x03000000))' 2>/dev/null \ 
&& exec python "`python -c "import os;print(os.path.dirname(os.path.realpath('$0')))"`/cqlsh.py" "[email protected]" 

這可能是由於一個事實,即cqlsh包裝腳本是無法找到的Python你的機器上選擇一個合適的版本。我不知道cqlsh能夠使用Python 2.4,所以我會嘗試將其升級到2.7。

簡而言之,如果你可以得到一種Linux來運行Cassandra,你將有更多的成功機會。即使你解決了這些錯誤,我敢打賭,你會碰到更多的問題,所以現在只需要改用Linux即可。

+0

謝謝Aaron。因爲我們有現有的環境設置,Linux對我的項目不可行。我有java版本「1.8.0_121」。評論jvm行給我另外一組錯誤 - ./cassandra:numactl:找不到 ./cassandra:錯誤替換 –

相關問題