halo sobat sekolahlinux kali ini saya akan sedikit memberikan sebuah artikel tentang bagaimana cara setup cockcroachdb cluster pada ubuntu 18.x, artikel ini sendiri saya buat dikarenakan official doc dari cockcroachdb sendiri menurut saya kurang begitu jelas, oke langsung saja.
pada tutorial kali ini saya beranggapan sobat sudah menyiapkan 3 buah vm dengan detail ip address sebagai berikut
- node1 = 192.168.10.5
- node2 = 192.168.10.6
- node3 = 192.168.10.7
setup install cockroachdb
oh iya untuk cockcroachdb ini sendiri akan saya setup di dalam folder /opt/, jalankan perintah dibawah ini pada ke 3 node
cd /opt/ mkdir certs
selanjutnya jalankan perintah installasi dibawah ini pada ke 3 node
wget -qO- https://binaries.cockroachdb.com/cockroach-v19.1.5.linux-amd64.tgz | tar xvz cp -i cockroach-v19.1.5.linux-amd64/cockroach /usr/local/bin
generate the certificate authority
selanjutnya jika sudah jalankan perintah dibawah ini hanya pada node1 saja
cockroach cert create-ca --certs-dir=/opt/certs --ca-key=/opt/certs/ca.key
jika sudah jalankan perintah dibawah dari node1 untuk copy hasil generate security certificates diatas ke node2 dan node3
scp /opt/certs/* root@192.168.10.6:/opt/certs/ scp /opt/certs/* root@192.168.10.7:/opt/certs/
generate client certificate and key
jika sudah jalankan perintah dibawah ini pada node1, node2 & node3 untuk generate client certificate and key
cockroach cert create-client root --certs-dir=/opt/certs --ca-key=/opt/certs/ca.key
lalu jalankan perintah dibawah ini pada node1 untuk generate node certificate and key
cockroach cert create-node localhost $(hostname) 192.168.10.5 --certs-dir=/opt/certs --ca-key=/opt/certs/ca.key
lalu jalankan perintah dibawah ini pada node2 untuk generate node certificate and key
cockroach cert create-node localhost $(hostname) 192.168.10.6 --certs-dir=/opt/certs --ca-key=/opt/certs/ca.key
lalu jalankan perintah dibawah ini pada node3 untuk generate node certificate and key
cockroach cert create-node localhost $(hostname) 192.168.10.7 --certs-dir=/opt/certs --ca-key=/opt/certs/ca.key
start cluster cockroachdb
jika sudah maka lakukan perintah dibawah ini untuk mulai menjalankan cluster cockcroachdb, lakukan di node1
cockroach start --background --certs-dir=/opt/certs --store=/opt/cockroach-data --advertise-host=192.168.10.5 --listen-addr=192.168.10.5 --join=192.168.10.5:26257,192.168.10.6:26257,192.168.10.7:26257 --log-dir=/opt/cockroach-log --log-dir-max-size=4GiB --log-file-max-size=1GiB;
lalu jalankan perintah ini pada node2
cockroach start --background --certs-dir=/opt/certs --store=/opt/cockroach-data --advertise-host=192.168.10.6 --listen-addr=192.168.10.6 --join=192.168.10.5:26257,192.168.10.6:26257,192.168.10.7:26257 --log-dir=/opt/cockroach-log --log-dir-max-size=4GiB --log-file-max-size=1GiB;
lalu jalankan perintah ini pada node3
cockroach start --background --certs-dir=/opt/certs --store=/opt/cockroach-data --advertise-host=192.168.10.7 --listen-addr=192.168.10.7 --join=192.168.10.5:26257,192.168.10.6:26257,192.168.10.7:26257 --log-dir=/opt/cockroach-log --log-dir-max-size=4GiB --log-file-max-size=1GiB;
jika sudah dijalankan perintah-perintah diatas sekarang jalankan perintah dibawah ini pada node1 untuk initialization cluster untuk pertama kali
cockroach init --certs-dir=/opt/certs --host=192.168.10.5:26257
check cluster status
jalankan perintah dibawah pada node1, untuk ip yang digunakan pada paramater --host
menyesuaikan dengan ip vm dimana perintah dibawah ini dijalankan, karena ini saya jalankan di node1 maka ip yang saya gunakan di --host
adalah ip 192.168.10.5
cockroach node --certs-dir=/opt/certs status --host=192.168.10.5
jika sudah menjalankan perintah diatas maka akan muncul output seperti dibawah ini
id | address | build | started_at | updated_at | is_available | is_live +----+--------------------+---------+----------------------------------+----------------------------------+--------------+---------+ 1 | 192.168.10.5:26257 | v19.1.5 | 2019-11-30 08:37:23.56232+00:00 | 2019-11-30 08:37:33.495189+00:00 | true | true 2 | 192.168.10.6:26257 | v19.1.5 | 2019-11-30 08:28:48.974302+00:00 | 2019-11-30 08:37:31.17658+00:00 | true | true 3 | 192.168.10.7:26257 | v19.1.5 | 2019-11-30 08:28:55.444789+00:00 | 2019-11-30 08:37:33.087236+00:00 | true | true (3 rows)
use cockroachdb sql client cli
jalankan perintah dibawah pada node1, untuk ip yang digunakan pada paramater --host
menyesuaikan dengan ip vm dimana perintah dibawah ini dijalankan, karena ini saya jalankan di node1 maka ip yang saya gunakan di --host
adalah ip 192.168.10.5
cockroach sql --certs-dir=/opt/certs --host=192.168.10.5
jalankan perintah dibawah ini untuk membuat user admin dan password, yang mana user ini nanti bisa kamu gunakan untuk authentication pada web-ui
CREATE USER admin WITH PASSWORD 'sekolahlinux2019!';
admin web-ui
jika sudah maka kalian bisa membuka web-ui admin untuk check cluster, web-ui bisa di lihat dari web browser dengan url https://ip_node_cockroachdb:8080
oke sekian tutorial kali ini, semoga bermanfaat jika ada yang ditanyakan silahkan comment atau bisa japri di linkedin saya