第七色在线视频,2021少妇久久久久久久久久,亚洲欧洲精品成人久久av18,亚洲国产精品特色大片观看完整版,孙宇晨将参加特朗普的晚宴

為了賬號安全,請及時綁定郵箱和手機立即綁定
已解決430363個問題,去搜搜看,總會有你想問的

如何取消Cassandra的node發(fā)現(xiàn)嗎?

如何取消Cassandra的node發(fā)現(xiàn)嗎?

胡說叔叔 2019-03-01 10:39:18
我用docker在本地部署了單節(jié)點的Cassandra,只暴露了9160端口,但是我啟動Java客戶端時除了連接上127.0.0.1:9160,程序還探測到172.18.0.5(這個地址是隨記生成的,我進入到Cassandra的docker里面,用nodetool status可以看到這個地址)。 docker中的Cassandra版本是 2.1.10 java程序中引用的Cassandra包的版本是2.1.0 異常: m.p.cassandra.connection.NodeDiscovery : Found a node we don't know about 172.18.0.5(172.18.0.5):9160 for TokenRange TokenRange(start_token:2797529887040935278, end_token:2862413517619411597, endpoints:[172.18.0.5], rpc_endpoints:[172.18.0.5], endpoint_details:[EndpointDetails(host:172.18.0.5, datacenter:datacenter1, rack:rack1)]) m.p.c.connection.HConnectionManager : Transport exception host to HConnectionManager: 172.18.0.5(172.18.0.5):9160 me.prettyprint.hector.api.exceptions.HectorTransportException: Unable to open transport to 172.18.0.5(172.18.0.5):9160 , java.net.SocketTimeoutException: connect timed out at me.prettyprint.cassandra.connection.client.HThriftClient.open(HThriftClient.java:185) at me.prettyprint.cassandra.connection.client.HThriftClient.open(HThriftClient.java:40) at me.prettyprint.cassandra.connection.ConcurrentHClientPool.createClient(ConcurrentHClientPool.java:179) at me.prettyprint.cassandra.connection.ConcurrentHClientPool.<init>(ConcurrentHClientPool.java:61) at me.prettyprint.cassandra.connection.LatencyAwareHClientPool.<init>(LatencyAwareHClientPool.java:27) at me.prettyprint.cassandra.connection.DynamicLoadBalancingPolicy.createConnection(DynamicLoadBalancingPolicy.java:124) at me.prettyprint.cassandra.connection.HConnectionManager.addCassandraHost(HConnectionManager.java:95) at me.prettyprint.cassandra.connection.NodeDiscovery.doAddNodes(NodeDiscovery.java:49) at me.prettyprint.cassandra.connection.NodeAutoDiscoverService.doAddNodes(NodeAutoDiscoverService.java:45) at me.prettyprint.cassandra.connection.NodeAutoDiscoverService$QueryRing.run(NodeAutoDiscoverService.java:51) at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:511) at java.util.concurrent.FutureTask.runAndReset(FutureTask.java:308) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.access$301(ScheduledThreadPoolExecutor.java:180) at java.util.concurrent.ScheduledThreadPoolExecutor$ScheduledFutureTask.run(ScheduledThreadPoolExecutor.java:294) at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149) at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624) at java.lang.Thread.run(Thread.java:748) Caused by: org.apache.thrift.transport.TTransportException: java.net.SocketTimeoutException: connect timed out at org.apache.thrift.transport.TSocket.open(TSocket.java:185) at org.apache.thrift.transport.TFramedTransport.open(TFramedTransport.java:81) at me.prettyprint.cassandra.connection.client.HThriftClient.open(HThriftClient.java:179) ... 16 common frames omitted Caused by: java.net.SocketTimeoutException: connect timed out at java.net.PlainSocketImpl.socketConnect(Native Method) at java.net.AbstractPlainSocketImpl.doConnect(AbstractPlainSocketImpl.java:350) at java.net.AbstractPlainSocketImpl.connectToAddress(AbstractPlainSocketImpl.java:206) at java.net.AbstractPlainSocketImpl.connect(AbstractPlainSocketImpl.java:188) at java.net.SocksSocketImpl.connect(SocksSocketImpl.java:392) at java.net.Socket.connect(Socket.java:589) at org.apache.thrift.transport.TSocket.open(TSocket.java:180) ... 18 common frames omitted
查看完整描述

1 回答

?
繁華開滿天機

TA貢獻1816條經(jīng)驗 獲得超4個贊

Cassandra的docker中那個隨機生成的ip(172.18.0.5)映射的其實和它內(nèi)部localhost是同一個node,但是從外部的host是只能訪問localhost地址,而訪問不到那個隨機生成的ip(172.18.0.5)地址的,因為localhost地址是做了映射的,那個隨機生成的ip(172.18.0.5)地址是沒有做映射。

所以,我就想如何讓外部的host可以訪問那個隨機生成的ip(172.18.0.5),我想了一會兒之后,發(fā)現(xiàn)這樣比較麻煩,得每次啟動Cassandra的docker之后,手動去改外部的hosts文件。

然后,我想可不可以不隨機生成ip(172.18.0.5),我就找到了Cassandra的CASSANDRA_LISTEN_ADDRESS這個環(huán)境變量,dockerhub上的解釋如下:

This variable is for controlling which IP address to listen for incoming connections on. The default value is auto, which will set the listen_address option in cassandra.yaml to the IP address of the container as it starts. This default should work in most use cases.

大概意思就是不設(shè)置CASSANDRA_LISTEN_ADDRESS變量,就會隨機生成ip(172.18.0.5)。

于是,我就設(shè)置了這個CASSANDRA_LISTEN_ADDRESS變量的值為localhost,然后運行程序也沒有報上面的那個錯誤了。

查看完整回答
反對 回復(fù) 2019-03-01
  • 1 回答
  • 0 關(guān)注
  • 440 瀏覽
慕課專欄
更多

添加回答

舉報

0/150
提交
取消
微信客服

購課補貼
聯(lián)系客服咨詢優(yōu)惠詳情

幫助反饋 APP下載

慕課網(wǎng)APP
您的移動學(xué)習(xí)伙伴

公眾號

掃描二維碼
關(guān)注慕課網(wǎng)微信公眾號