關(guān)于Python連接Cassandra容器進行查詢的問題
首先Cassandra是使用docker-swarm同微服務(wù)一同部署的。
問題的關(guān)鍵在于尋找到Cassandra的9042端口,從而獲取數(shù)據(jù)。
問題一:在主節(jié)點Ping Cassandra容器的IP,由于利用docker-swarm網(wǎng)橋連接的容器,兩者的IP不在同一網(wǎng)段,所以ping失敗,無法獲取9042端口。

問題二:在 Cassandra容器內(nèi)輸入ip addr,得到結(jié)果如下:

得到兩個IP字段,其中下面的IP字段對應(yīng)的是docker-swarm創(chuàng)建的網(wǎng)橋,在主節(jié)點嘗試ping一下,竟然可以ping通。但訪問IP:9042訪問被拒絕。
問題三:進入到同網(wǎng)段下的容器內(nèi),ping兩個IP字段都可以ping通,而且可以訪問9042端口。但是在容器內(nèi)操作較麻煩,我的目的是在節(jié)點中進行操作。
解決辦法: 嘗試在Cassandra容器所在的節(jié)點ping兩者,雖然前者仍無法ping通,但后者可以ping通,進入容器執(zhí)行
cqlsh 172.18.0.3 #網(wǎng)橋分配IP
發(fā)現(xiàn)可以進入數(shù)據(jù)庫,應(yīng)該是網(wǎng)橋分配的IP是可以連接的,但是在節(jié)點上沒有打開9042端口,所以導(dǎo)致訪問被拒絕。打開9042端口即可。由于時間問題,我直接在容器節(jié)點上進行測試。代碼如下:
#!/usr/bin/env python3
from cassandra.cluster import Cluster
from cassandra.query import tuple_factory
from cassandra.policies import DCAwareRoundRobinPolicy
from cassandra.policies import DowngradingConsistencyRetryPolicy
from cassandra import ConsistencyLevel
from cassandra.query import dict_factory
import sys
def conn():
cluster = Cluster(["172.18.0.3"])
session=cluster.connect('jaeger_v1_dc1')
return session
if __name__ == '__main__':
session = conn()
data = session.execute("select duration from traces limit 10;")
for i in data:
print (i)
session.shutdown()
到此這篇關(guān)于關(guān)于Python連接Cassandra容器進行查詢的問題的文章就介紹到這了,更多相關(guān)Python連接Cassandra內(nèi)容請搜索腳本之家以前的文章或繼續(xù)瀏覽下面的相關(guān)文章希望大家以后多多支持腳本之家!
相關(guān)文章
Python2.7+pytesser實現(xiàn)簡單驗證碼的識別方法
這篇文章主要介紹了Python2.7+pytesser實現(xiàn)簡單驗證碼的識別方法,簡單分析了pytesser的安裝及Python2.7環(huán)境下實現(xiàn)驗證碼識別的相關(guān)操作技巧,需要的朋友可以參考下2017-12-12
打包Python代碼的常用方法實現(xiàn)程序exe應(yīng)用
Python是一門強大的編程語言,但在將Python代碼分享給其他人時,讓他們安裝Python解釋器并運行腳本可能有點繁瑣,這時,將Python代碼打包成可執(zhí)行的應(yīng)用程序(.exe)可以大大簡化這個過程,本文將介紹幾種常用的方法,輕松地將Python代碼變成獨立的可執(zhí)行文件2023-12-12
pytorch模型訓(xùn)練的時候GPU使用率不高的問題
這篇文章主要介紹了pytorch模型訓(xùn)練的時候GPU使用率不高的問題,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2023-09-09
一文教會你使用win10實現(xiàn)電腦的定時任務(wù)執(zhí)行
這篇文章主要介紹了一文教會你使用win10實現(xiàn)電腦的定時任務(wù)執(zhí)行,利用Windows任務(wù)計劃程序創(chuàng)建定時執(zhí)行自定義腳本的步驟,包括配置環(huán)境、編寫腳本、新建任務(wù)文件夾、設(shè)置觸發(fā)器、編輯任務(wù)信息以及手動運行測試,需要的朋友可以參考下2024-09-09

