Interface

遠端訪問在本地環回 IP/埠 127.0.0.1 上執行的 cassandra

  • September 1, 2017

我使用 ccm 已經有一段時間了,它是一個非常棒的工具來測試管理員的東西。現在,我真的想通過嘗試從遠端主機(不是本地)使用基於 Thrift 的 pycassaShell 客戶端訪問執行 cassandra 的 ccm 來測試建模數據。我的設置是這樣的:

可以說,這台機器的私有IP是:10.11.12.13(只是一個例子)

lo    Link encap:Local Loopback  
     inet addr:127.0.0.1  Mask:255.0.0.0
     inet6 addr: ::1/128 Scope:Host
     UP LOOPBACK RUNNING  MTU:16436  Metric:1
     RX packets:67392708 errors:0 dropped:0 overruns:0 frame:0
     TX packets:67392708 errors:0 dropped:0 overruns:0 carrier:0
     collisions:0 txqueuelen:0 
     RX bytes:7398829042 (6.8 GiB)  TX bytes:7398829042 (6.8 GiB)

lo:1  Link encap:Local Loopback  
     inet addr:127.0.0.2  Mask:255.255.255.0
     UP LOOPBACK RUNNING  MTU:16436  Metric:1

lo:2  Link encap:Local Loopback  
     inet addr:127.0.0.3  Mask:255.0.0.0
     UP LOOPBACK RUNNING  MTU:16436  Metric:1

lo:3  Link encap:Local Loopback  
     inet addr:127.0.0.4  Mask:255.0.0.0
     UP LOOPBACK RUNNING  MTU:16436  Metric:1

和 127.0.0.1 (node1)、127.0.0.2 (node2)、127.0.0.3 (node3)、127.0.0.4 (node4)

$ ccm status
 node1: UP  
 node3: UP
 node2: UP
 node4: UP

如何從非本地主機連接到任何實例?當我這樣做時:pycassaShell –host 10.11.12.13 –port 9160,它會引發異常,

thrift.transport.TTransport.TTransportException:無法連接到 10.11.12.13:9160

有沒有辦法讓它工作?

參考

如果您不熟悉,CCM 或 Cassandra Cluster Manager是用於管理 Cassandra 節點實例的腳本。

摘抄

用於在 localhost 上創建、啟動和刪除 Apache Cassandra 集群的腳本/庫。

ccm 和 ccmlib 的目標是讓本地機器上的小型集群易於創建、管理和銷毀。它用於測試 Cassandra 集群。

您可以使用 ssh 建立一個隧道,以使 pycassaShell 看起來是從執行 Cassandra 的伺服器連接的。

在遠端主機上,使用以下命令建立 SSH 隧道 -

ssh -N -L 9160:127.0.0.1:9160 10.11.12.13

然後在遠端主機上,執行pycassaShell --host 127.0.0.1 --port 9160

或者,您可以設置 ccm 以偵聽非本地主機埠。

引用自:https://unix.stackexchange.com/questions/103423