壹、前言
寫這篇文的原因與心得可以用同一句話來述說:「千萬不要無腦rm -rf 。」不小心把整個環境的東西刪除的下場就是只能全部從來一遍,就趁這個機會紀錄一下環境的設定以免之後又發生一樣的事。貳、安裝環境
1. 作業系統:CentOS7
2. 節點數量:4
centos02: 192.168.1.2 (使用這台作為seed node)
centos03: 192.168.1.3
centos04: 192.168.1.4
centos05: 192.168.1.5
3. Cassandra版本:DataStax Distribution of Apache Cassandra 3.2
3. Cassandra版本:DataStax Distribution of Apache Cassandra 3.2
註:使用這個版本的原因如Cassandra Tutorial - 安裝篇這篇文所說,在這邊就不再贅述,但是有一點很重要,官方版本的Cassandra在目前(20170220)已經更新到3.10了,Datastax也不再提供版本的更新與維護,因此對於使用新版本的人這篇文章或許不是很能符合你的需求,在參考前可能會需要注意一下。
參、步驟
1. 修改Cassandra設定檔
設定檔預設是放在 /etc/cassandra/conf/cassandra.yaml
修改第10行
cluster_name: 'Test Cluster'
cluster中的每個實體都必須使用相同設定
修改第343行
- seeds: "127.0.0.1"
將所有節點的 - seeds: "127.0.0.1" 設定為 seed node 的 ip,讓他們知道在加入 cluster 時(只有在加入當下才需要)要從哪一台電腦取得其他節點的資訊,此外 seed 可以一個以上,如果有超過一個 seed 的話,ip 以逗號隔開,例如 "<ip>,<ip>,<ip>"。
在本例中設定為 - seeds: "192.168.1.2"
修改第472行
listen_address: localhost
Cassandra內部在溝通資料時使用的ip就在這邊設定 (Cassandra's internal storage protocol uses the listen_address.),因此所有節點皆要將之設為自己的 ip 或 hostname ,以便讓其他節點知道傳送資料時知道要送到哪裡去,如果是設定為 hostname 的話,所有節點的 /etc/hostname, /etc/hosts 或 DNS 等皆要進行設定。
centos02>>listen_address: 192.168.1.2
centos03>>listen_address: 192.168.1.3
centos04>>listen_address: 192.168.1.4
centos05>>listen_address: 192.168.1.5
修改第546行
rpc_address: localhost
Client端與server溝通時 (Thrift RPC service and native transport) 使用的地址
centos02>>rpc_address: 192.168.1.2
centos03>>rpc_address: 192.168.1.3
centos04>>rpc_address: 192.168.1.4
centos05>>rpc_address: 192.168.1.5
註:之後如果要使用cqlsh的話必須在後面接上想要連接的server的ip才可以用,例如cqlsh 192.168.1.4
到這裡cassandra.yaml的設定就算完成了 ^_^
2. 啟動cluster
因為所有node在啟動時都會先與seed溝通,因此必須先啟動seed node,啟動完seed node後再啟動其他節點
# service cassandra start
沒有留言:
張貼留言