Riak è un database NoSQL distribuito che offre alta disponibilità, tolleranza ai guasti, semplicità operativa e scalabilità. Riak è stato scritto in Erlang e fa parte della linea di prodotti "Basho" che include Riak KV (Key-value), Riak TS (ottimizzato per IoT/Time Series) e Riak CS (Riak Cloud Storage).
In questo tutorial, ti mostrerò come installare e configurare il database NoSQL Riak KV sul server CentOS 7. Creeremo il cluster Riak KV con tre server CentOS.
Prerequisiti
- 3 server CentOS 7
- riak01 10.1.1.10
- riak02 10.1.1.11
- riak03 10.1.1.12
- Privilegi di root
Cosa faremo
- Installa Riak KV su CentOS 7
- Configurazione di base Riak KV
- Impostazione del cluster Riak KV
- Test
Passaggio 1:installa Riak KV su CentOS 7
Il primo passo che faremo per questa guida è installare i pacchetti Riak KV su tutti e tre i server CentOS, quindi esegui tutti i comandi in questa fase su tutti i server.
Installeremo Riak KV dal repository cloud del pacchetto e utilizzeremo i pacchetti Riak KV per il server CentOS 7.
Aggiungi il repository eseguendo il comando seguente.
curl -s https://packagecloud.io/install/repositories/basho/riak/script.rpm.sh | sudo bash
Il comando scaricherà il repository riak e la chiave nel sistema.
Ora installa il pacchetto Riak KV usando il comando yum qui sotto.
sudo yum install riak-2.2.3-1.el7.centos.x86_64
Attendi le installazioni.
Fase 2 - Configurazione di base Riak KV
In questo passaggio, configureremo il Riak KV per il nostro cluster NoSQL. Prima di configurare il Riak KV stesso, dobbiamo impostare il limite di file aperti sul sistema Ubuntu.
Modifica il file '/etc/security/limits.conf' usando l'editor vim.
vim /etc/security/limits.conf
Ora incolla la configurazione di seguito alla fine del file.
riak soft nofile 65536 riak hard nofile 200000
Salva ed esci.
Ora vai nella directory '/etc/riak' e modifica il file di configurazione predefinito 'riak.conf'.
cd /etc/riak/
vim riak.conf
Modifica il nome del nodo predefinito "[email protected]" con "[email protected]".
nodename = [email protected]
Ora decommenta quelle righe di pianificazione di seguito.
erlang.schedulers.force_wakeup_interval = 500 erlang.schedulers.compaction_of_load = false
Decommenta la riga 'ring_size' e lascia il valore predefinito '64'.
ring_size = 64
Modifica il listener HTTP e i buffer di protocollo con 'ServerIP'.
listener.http.internal = 10.1.1.10:8098 listener.protobuf.internal = 10.1.11.10:8087
Salva ed esci.
Ora prova le configurazioni riak, quindi avvia il servizio riak.
riak chkconfig
riak start
Il seguente è il risultato.
Successivamente, testeremo la nostra configurazione del servizio riak eseguendo i comandi seguenti.
riak ping
curl -v http://10.1.1.10:8098/types/default/props
Assicurati di ottenere il risultato 'pong' dal comando 'riak ping' e ottenere il codice di stato HTTP '200' dal comando curl.
Le configurazioni di base di Riak KV distribuito NoSQL sono state completate e siamo pronti per configurare il Riak KV Cluster.
Nota:
- Esegui tutti i comandi in questa fase su tutti i nodi del server.
Fase 3 - Configurazione del cluster Riak KV
In questo passaggio, configureremo il cluster unendo i nodi "riak02" e "riak03" al primo nodo.
- Secondo nodo
Sul nodo 'riak02', esegui riak-admin di seguito.
riak-admin cluster join [email protected]
Ora torna al nodo 'riak01', esegui i comandi riak-admin di seguito.
riak-admin cluster plan
riak-admin cluster commit
E il nodo 'riak02' è stato aggiunto al cluster, controllalo usando il comando seguente.
riak-admin cluster status
- Terzo nodo
Sul nodo 'riak03', esegui il comando riak-admin di seguito.
riak-admin cluster join [email protected]
Ora torna al nodo 'riak01', esegui i comandi riak-admin di seguito.
riak-admin cluster plan
riak-admin cluster commit
Tutti i nodi server 'riak02' e 'riak03' sono stati aggiunti al cluster, controlla di nuovo usando il comando seguente.
riak-admin cluster status
L'installazione e la configurazione del cluster Riak KV sono state completate.
Fase 4 - Test
Il cluster Riak KV NoSQL è stato creato, ora vogliamo testare il cluster caricando un'immagine di dati nel cluster e testare l'accesso dagli altri nodi per garantire la replica dei dati tra tutti i nodi.
Sul server 'riak01', scarica un'immagine utilizzando il comando wget di seguito.
cd ~/
wget https://vignette.wikia.nocookie.net/nichijou/images/a/a0/113407.jpg -O hakase.jpg
Ora carica l'immagine nel cluster Riak KV usando il comando curl.
curl -XPUT http://10.1.1.10:8098/riak/images/hakase.jpg -H "Content-type: image/jpg" --data-binary @hakase.jpg
Apri il tuo browser web e digita l'indirizzo IP di altri nodi e otterrai la stessa immagine.
'riak02'.
http://10.1.1.11:8098/riak/images/hakase.jpg
'riak03'.
http://10.1.1.12:8098/riak/images/hakase.jpg
Se vuoi eliminare i dati dell'immagine, usa il comando curl qui sotto.
curl -XDELETE 'http://10.1.1.10:8098/riak/images/hakase.jpg'
L'installazione e la configurazione del cluster Riak KV su CentOS 7 sono state completate con successo.