簡體   English   中英

如何在 EC2 中正確配置 Cassandra 以連接到它?

[英]How do I properly configure Cassandra in EC2 to connect to it?

我有一個帶有Centos 8AWS EC2實例。

在這個實例中,我已經成功安裝了Cassandra ( 3.11.10 ) 數據庫。

在這個數據庫中,我已經通過這個CQL查詢成功地創建了鍵空間:

create keyspace if not exists dev_keyspace with replication={'class': 'SimpleStrategy', 'replication_factor' : 2};

然后我編輯了配置文件/etc/cassandra/default.conf/cassandra.yaml ):

cluster_name: "DevCluster"
seeds: <ec2_private_ip_address>
listen_address: <ec2_private_ip_address>
start_rpc: true
rpc_address: 0.0.0.0
broadcast_rpc_address: <ec2_private_ip_address>
endpoint_snitch: Ec2Snitch

之后,重新啟動數據庫:

Datacenter: eu-central
======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
--  Address                   Load       Tokens       Owns (effective)  Host ID                               Rack
UN  <ec2_private_ip_address>  75.71 KiB  256          100.0%            XXXXXXXX-XXXX-XXXX-XXXX-XXXXXXXXXXXX  1a

當我嘗試使用此類憑據連接到 Cassandra 數據庫時,會引發錯誤:

host: <ec2_public_ip_address>
port: 9042
keyspace: dev_keyspace
username: cassandra (default)
password: cassandra (default)

錯誤

嘗試查詢的所有主機均失敗(已嘗試:/<ec2_private_ip_address>:9042 (com.datastax.driver.core.exceptions.TransportException: [/<ec2_private_ip_address>:9042] 無法連接))

我忘了配置什么? 如果您需要更多信息,請與我們聯系。

您將無法遠程訪問集群,因為您已將 Cassandra 配置為僅使用以下設置偵聽私有 IP 上的客戶端:

broadcast_rpc_address: <ec2_private_ip_address>

為了讓節點接受來自外部客戶端的請求,您需要在cassandra.yaml中設置以下內容:

listen_address: private_ip
rpc_address: public_ip

請注意,您不需要設置廣播 RPC 地址。 您需要重新啟動 Cassandra 才能使更改生效。

您還需要在 AWS 管理控制台上定義一個具有入站規則的安全組,以允許在端口9042上進入您的 EC2 實例。 干杯!

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM