GNU/Linux >> Belajar Linux >  >> Ubuntu

Cara Mengatur Replikasi Cassandra di Ubuntu 16.04

Jika Anda memiliki data yang tidak cocok untuk database relasional, kemungkinan Anda mencari solusi NoSQL. Opsi NoSQL beragam, Aerospike, MongoDB, Redis, dan banyak lainnya mencoba memecahkan masalah Big Data dengan cara yang berbeda. Pada artikel ini kita akan berkonsentrasi pada replikasi dengan cassandra. Basis data ini sebenarnya mendapat nama dari Mitologi Yunani, cassandra adalah peramal yang selalu memprediksi masa depan dengan benar tetapi semua orang tidak mempercayainya. Jadi pembuat database ini memperkirakan bahwa NoSQL di masa depan akan menggantikan database relasional, tetapi mereka tidak berharap orang-orang RDBMS mempercayainya.

Persyaratan

Untuk mengikuti artikel ini, Anda harus menyiapkan 3 node satu per satu menggunakan panduan penyiapan cassandra kami sebelumnya. Anda harus memiliki ketiga node yang aktif dan berjalan dan tiga jendela terminal dengan sesi ssh di masing-masingnya. Setelah Anda memilikinya, kami mulai menghubungkan node Cassandra menjadi satu cluster.

Membangun sebuah cluster

Masuk sebagai pengguna Cassandra, Anda perlu mengedit konfigurasi Cassandra di masing-masing dari tiga node. File tersebut bernama cassandra.yaml

nano ~/conf/cassandra.yaml

Ini perlu dikonfigurasi pada semua 3 server. Baris benih dapat dimasukkan dalam satu server dan kemudian disalin, tetapi alamat ip setiap server harus dimasukkan asli.

cluster_name: 'Test Cluster'

seed_provider:
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
parameters:
- seeds: "your-server-ip,your-server-ip-2,your-server-ip-3"

listen_address: your-server-ip

rpc_address: your-server-ip

Untuk menyiapkan entpoint snitch, rekatkan oneliner ini ke ketiga node:

sed -i 's/endpoint_snitch: SimpleSnitch/endpoint_snitch: GossipingPropertyFileSnitch/g' ~/conf/cassandra.yaml

Dan gunakan perintah ini untuk menambahkan baris bootstrap ke akhir file.

echo 'auto_bootstrap: false' >> ~/conf/cassandra.yaml

Pengadu yang kami siapkan memiliki nama pusat data yang tidak kompatibel, dc1 alih-alih pusat data1 jadi mari kita perbaiki itu di ketiga node:

sed -i 's/dc=dc1/dc=datacenter1/g' ~/conf/cassandra-rackdc.properties

Mulai ulang ketiga node jika diperlukan, dan setelah itu status sh bin/nodetool akan memberi Anda sesuatu seperti ini:

Hal berikutnya yang perlu kita lakukan adalah menghubungkan ke konsol dari salah satu node ke node lainnya. Kita perlu mengetikkan alamat server dan port 9042 setelah cqlsh seperti ini:

cqlsh ip.addr.of.node 9042

Login host lokal dengan cqlsh saja tidak akan berfungsi.

Penyiapan replikasi

Jika Anda bertanya-tanya mengapa kami mengubah konfigurasi snitch default, sekarang saya akan menjelaskannya. Umumnya ada dua strategi replikasi dengan Cassandra. SimpleStrategy dan NetworkTopologyStrategy. Pertama menggunakan snitch default, yang kedua menggunakan snitch yang telah kita atur. Kami membutuhkan strategi lanjutan ini jika kami ingin melakukan penskalaan cluster dengan mudah. Dengan strategi ini, Anda dapat menambahkan lebih banyak node di pusat data lain dan menjangkau cluster di seluruh dunia.

Jadi di dalam konsol cqlsh kita perlu mengetik ini:

CREATE KEYSPACE linoxide WITH replication = {'class': 'NetworkTopologyStrategy', 'datacenter1' : 3};

Ini akan membuat keyspace baru bernama linoxide, dengan replikasi yang disetel dengan NetworkTopologyStrategy dan akan membuat 3 replika di datacenter1.

Ok, mari kita lihat apa yang kita buat. Perintahnya dicetak tebal, sisanya adalah output.

SELECT * FROM system_schema.keyspaces;
 keyspace_name | durable_writes | replication
--------------------+----------------+---------------------------------------------------------------------------------------
linoxide | True | {'class': 'org.apache.cassandra.locator.NetworkTopologyStrategy', 'datacenter1': '3'}
system_auth | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '1'}
system_schema | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
system_distributed | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '3'}
system | True | {'class': 'org.apache.cassandra.locator.LocalStrategy'}
system_traces | True | {'class': 'org.apache.cassandra.locator.SimpleStrategy', 'replication_factor': '2'}

Mari keluar dari cqlsh dan jalankan perintah nodetool sekali lagi, untuk melihat perubahan di cluster.

nodetool status
Datacenter: datacenter1
=======================
Status=Up/Down
|/ State=Normal/Leaving/Joining/Moving
-- Address Load Tokens Owns (effective) Host ID Rack
UN 45.33.77.49 250.7 KiB 256 100.0% 34689c1e-939c-4bd3-8774-ac4534880744 rack1
UN 45.56.109.42 188.02 KiB 256 100.0% 7542e062-d6d3-473a-b79c-4f5e11547c1f rack1
UN 45.33.69.15 236.58 KiB 256 100.0% 2f10690c-1e6e-4297-bda6-c3fb36279495 rack1

Perhatikan bahwa setiap node sekarang memiliki 100% data, naik dari 66 persen sebelumnya. Itu karena faktor replikasi 3 yang kami tetapkan, kami sekarang memiliki satu salinan data di setiap node.

Kesimpulan

Jadi di sana, kami telah menyiapkan cluster Cassandra dengan replikasi. Dari sini, Anda dapat menambahkan lebih banyak node, rak, dan pusat data, Anda dapat mengimpor jumlah data yang berubah-ubah dan mengubah faktor replikasi di semua atau beberapa pusat data. Untuk cara bagaimana melakukannya, Anda dapat merujuk ke dokumentasi resmi Cassandra. Saya harap panduan ini membantu Anda menyelami masa depan teknologi basis data dan Anda memutuskan untuk mempercayai Cassandra. Terima kasih telah membaca dan semoga harimu menyenangkan.


Ubuntu
  1. Cara Menginstal Cassandra di Ubuntu 18.04

  2. Cara Mengatur HAProxy di Ubuntu 16.04

  3. Cara Mengatur Firewall UFW di Ubuntu 18.04

  1. Cara Mengatur Elasticsearch di Ubuntu 18.04 &16.04 LTS

  2. Setup Rsyslog Server di Ubuntu 20.04 - Bagaimana cara melakukannya?

  3. Cara Mengatur Replikasi Master Slave MariaDB di Ubuntu 18.04

  1. Cara Menginstal Cassandra di Ubuntu

  2. Cara mengatur server OpenVPN di Ubuntu 20.04

  3. Cara Menginstal Apache Cassandra di Ubuntu 18.04