Database
 sql >> Baza danych >  >> RDS >> Database

Jak zainstalować Apache Cassandra na Ubuntu 20.10/Ubuntu 20.04

W tym blogu wyjaśnimy, jak zainstalować Apache Cassandra na Ubuntu 20.10/Ubuntu 20.04. Apache Cassandra to baza danych typu open source NoSQL przeznaczona do przechowywania dużych ilości danych w zdecentralizowanym klastrze o wysokiej dostępności, zapewniająca odporność na awarie, spójność na wielu serwerach i liniową skalowalność.

Kroki instalacji Apache Cassandra na Ubuntu

Krok 1:Zainstaluj Javę na Ubuntu 20

$ sudo apt install openjdk-8-jdk

W moim systemie Java już tam była, więc zamierza się zaktualizować.

Krok 2:Sprawdź instalację Java

$ java -version

Przykładowe wyjście:

root@Cassandra:~# java -version
openjdk version "1.8.0_292"
OpenJDK Runtime Environment (build 1.8.0_292-8u292-b10-0ubuntu1~20.10-b10)
OpenJDK 64-Bit Server VM (build 25.292-b10, mixed mode)

Krok 3:Zainstaluj pakiet zależności:

$ sudo apt install apt-transport-https

Krok 4:Importuj klucz GPG:

$ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -

Przykładowe wyjście:

root@Cassandra:~# wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
Warning: apt-key is deprecated. Manage keyring files in trusted.gpg.d instead (see apt-key(8)).
OK
root@Cassandra:~#

Krok 5:Dodaj repozytorium Apache Cassandra

$ sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'

Przykładowe wyjście:

root@Cassandra:~# sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
root@Cassandra:~#

Krok 6:Zaktualizuj system Ubuntu

$ sudo apt update

Krok 7:Zainstaluj Apache Cassandra w Ubuntu

$ sudo apt install cassandra

Możesz także wyświetlić najnowszą wersję Cassandry

Po instalacji usługa Cassandra uruchamia się automatycznie.

Przykładowe wyjście:

root@Cassandra:~# sudo apt install cassandra
Reading package lists... Done
Building dependency tree 
Reading state information... Done
The following package was automatically installed and is no longer required:
virtualbox-guest-utils
Use 'sudo apt autoremove' to remove it.
The following additional packages will be installed:
libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python-is-python2 python2 python2-minimal python2.7 python2.7-minimal
Suggested packages:
cassandra-tools python2-doc python-tk python2.7-doc binutils binfmt-support
The following NEW packages will be installed:
cassandra libpython2-stdlib libpython2.7-minimal libpython2.7-stdlib
python-is-python2 python2 python2-minimal python2.7 python2.7-minimal
0 upgraded, 9 newly installed, 0 to remove and 332 not upgraded.
Need to get 34.4 MB of archives.
After this operation, 56.9 MB of additional disk space will be used.
Do you want to continue? [Y/n] Y
Get:2 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 libpython2.7-minimal amd64 2.7.18-1build2 [335 kB]
Get:1 https://downloads.apache.org/cassandra/debian 311x/main amd64 cassandra all 3.11.10 [30.7 MB]
Get:3 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2.7-minimal amd64 2.7.18-1build2 [1,264 kB]
Get:4 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2-minimal amd64 2.7.18-2 [13.5 kB]
Get:5 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 libpython2.7-stdlib amd64 2.7.18-1build2 [1,867 kB]
Get:6 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2.7 amd64 2.7.18-1build2 [248 kB]
Get:7 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 libpython2-stdlib amd64 2.7.18-2 [7,332 B]
Get:8 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python2 amd64 2.7.18-2 [9,068 B]
Get:9 http://us.archive.ubuntu.com/ubuntu groovy/universe amd64 python-is-python2 all 2.7.17-4 [2,496 B]
Fetched 34.4 MB in 1min 12s (474 kB/s) 
Selecting previously unselected package libpython2.7-minimal:amd64.
(Reading database ... 155984 files and directories currently installed.)
Preparing to unpack .../0-libpython2.7-minimal_2.7.18-1build2_amd64.deb ...
Unpacking libpython2.7-minimal:amd64 (2.7.18-1build2) ...
Selecting previously unselected package python2.7-minimal.
Preparing to unpack .../1-python2.7-minimal_2.7.18-1build2_amd64.deb ...
Unpacking python2.7-minimal (2.7.18-1build2) ...
Selecting previously unselected package python2-minimal.
Preparing to unpack .../2-python2-minimal_2.7.18-2_amd64.deb ...
Unpacking python2-minimal (2.7.18-2) ...
Selecting previously unselected package libpython2.7-stdlib:amd64.
Preparing to unpack .../3-libpython2.7-stdlib_2.7.18-1build2_amd64.deb ...
Unpacking libpython2.7-stdlib:amd64 (2.7.18-1build2) ...
Selecting previously unselected package python2.7.
Preparing to unpack .../4-python2.7_2.7.18-1build2_amd64.deb ...
Unpacking python2.7 (2.7.18-1build2) ...
Selecting previously unselected package libpython2-stdlib:amd64.
Preparing to unpack .../5-libpython2-stdlib_2.7.18-2_amd64.deb ...
Unpacking libpython2-stdlib:amd64 (2.7.18-2) ...
Setting up libpython2.7-minimal:amd64 (2.7.18-1build2) ...
Setting up python2.7-minimal (2.7.18-1build2) ...
Linking and byte-compiling packages for runtime python2.7...
Setting up python2-minimal (2.7.18-2) ...
Selecting previously unselected package python2.
(Reading database ... 156719 files and directories currently installed.)
Preparing to unpack .../python2_2.7.18-2_amd64.deb ...
Unpacking python2 (2.7.18-2) ...
Selecting previously unselected package python-is-python2.
Preparing to unpack .../python-is-python2_2.7.17-4_all.deb ...
Unpacking python-is-python2 (2.7.17-4) ...
Selecting previously unselected package cassandra.
Preparing to unpack .../cassandra_3.11.10_all.deb ...
Unpacking cassandra (3.11.10) ...
Setting up libpython2.7-stdlib:amd64 (2.7.18-1build2) ...
Setting up python2.7 (2.7.18-1build2) ...
Setting up libpython2-stdlib:amd64 (2.7.18-2) ...
Setting up python2 (2.7.18-2) ...
Setting up python-is-python2 (2.7.17-4) ...
Setting up cassandra (3.11.10) ...
Adding group `cassandra' (GID 141) ...
Done.
vm.max_map_count = 1048575
net.ipv4.tcp_keepalive_time = 300
update-rc.d: warning: start and stop actions are no longer supported; falling b
ack to defaults
Processing triggers for mime-support (3.64ubuntu1) ...
Processing triggers for gnome-menus (3.36.0-1ubuntu1) ...
Processing triggers for systemd (246.6-1ubuntu1) ...
Processing triggers for man-db (2.9.3-2) ...
Processing triggers for desktop-file-utils (0.24-1ubuntu4) ...
root@Cassandra:~#

Aby automatycznie uruchomić usługę Cassandra podczas uruchamiania:

sudo systemctl enable cassandra

Przykładowe wyjście:

root@Cassandra:~# sudo systemctl enable cassandra
cassandra.service is not a native service, redirecting to systemd-sysv-install.
Executing: /lib/systemd/systemd-sysv-install enable cassandra
root@Cassandra:~#

Krok 8:Sprawdź stan Cassandry i nodetool

$ sudo systemctl status cassandra

Zweryfikuj statystyki swojego węzła

$ sudo nodetool status

ONZ litery w sygnale wyjściowym, że klaster działa.

Krok 9:Zaloguj się do terminala Cassandra

$ cqlsh

Przykładowe wyjście:

root@Cassandra:~# cqlsh
Connected to Test Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.10 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>

Krok 10:Konfiguracja Apache Cassandra w Ubuntu

  • Pliki konfiguracyjne –> /etc/cassandra 
  • Dane są przechowywane –> /var/lib/cassandra
  • Plik startowy –> /etc/default/cassandra

Domyślna nazwa klastra Cassandra to „Test Cluster”, aby zaktualizować login nazwy klastra do Cassandra.

$ cqlsh

W moim przypadku ustawię nazwę klastra Cassandra na „SysAdminXpert Cluster”

UPDATE system.local SET cluster_name = 'SysAdminXpert Cluster' WHERE KEY = 'local';

Polecenie wyjścia z monitu Cassandry

EXIT;

Zalecamy wykonanie kopii zapasowej przed edycją pliku „cassandra.yaml” plik

sudo cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.org-backup

Znajdź i edytuj „cassandra.yaml” pliku i zaktualizuj nazwę klastra.

$ sudo vim /etc/cassandra/cassandra.yaml

Wyszukaj „nazwa_klastra” i zaktualizować nazwę klastra, ustawiłem go na „Klaster SysAdminXpert”.

Dodaj adresy IP węzłów Cassandra. Otwórz plik konfiguracyjny i w sekcji seed _provider znajdź nasiona wpis:

Zapisz i zamknij „cassandra.yaml” pliku, aby odzwierciedlić zmiany, uruchom ponownie usługę Cassandra.

Uruchom ponownie usługę Cassandra i sprawdź stan:

$ sudo systemctl restart cassandra && sudo systemctl status cassandra

Zaloguj się ponownie do terminalu Cassandra i zweryfikuj nazwę klastra, która jest zaktualizowana, jak pokazano na poniższym zrzucie ekranu.

$ cqlsh

Użycie Cassandry cqlsh:

Cassandra Query Language Shell (CQLSH) jest w zasadzie środkiem komunikacji między Cassandrą a użytkownikiem. CQLSH to platforma, która pozwala użytkownikowi uruchomić język zapytań Cassandra (CQL).

root@Cassandra:~# cqlsh --help
Usage: cqlsh.py [options] [host [port]]

CQL Shell for Apache Cassandra

Options:
--version show program's version number and exit
-h, --help show this help message and exit
-C, --color Always use color output
--no-color Never use color output
--browser=BROWSER The browser to use to display CQL help, where BROWSER
can be:
- one of the supported browsers in
https://docs.python.org/2/library/webbrowser.html.
- browser path followed by %s, example: /usr/bin
/google-chrome-stable %s
--ssl Use SSL
--no_compact No Compact
-u USERNAME, --username=USERNAME
Authenticate as user.
-p PASSWORD, --password=PASSWORD
Authenticate using password.
-k KEYSPACE, --keyspace=KEYSPACE
Authenticate to the given keyspace.
-f FILE, --file=FILE Execute commands from FILE, then exit
--debug Show additional debugging information
--encoding=ENCODING Specify a non-default encoding for output. (Default:
utf-8)
--cqlshrc=CQLSHRC Specify an alternative cqlshrc file location.
--cqlversion=CQLVERSION
Specify a particular CQL version, by default the
highest version supported by the server will be used.
Examples: "3.0.3", "3.1.0"
--protocol-version=PROTOCOL_VERSION
Specify a specific protcol version otherwise the
client will default and downgrade as necessary
-e EXECUTE, --execute=EXECUTE
Execute the statement and quit.
--connect-timeout=CONNECT_TIMEOUT
Specify the connection timeout in seconds (default: 5
seconds).
--request-timeout=REQUEST_TIMEOUT
Specify the default request timeout in seconds
(default: 10 seconds).
-t, --tty Force tty mode (command prompt).

Connects to 127.0.0.1:9042 by default. These defaults can be changed by
setting $CQLSH_HOST and/or $CQLSH_PORT. When a host (and optional port number)
are given on the command line, they take precedence over any defaults.
root@Cassandra:~#

Polecenie pobrania wersji:

To polecenie pokaże wersję cqlsh, Cassandra, CQL i natywnego protokołu.

Przykład:

root@Cassandra:~# cqlsh
Connected to SysAdminXpert Cluster at 127.0.0.1:9042.
[cqlsh 5.0.1 | Cassandra 3.11.10 | CQL spec 3.4.4 | Native protocol v4]
Use HELP for help.
cqlsh>

Polecenie, aby pokazać hosta:

To polecenie wyświetli nazwę klastra, adres IP z portem.

Przykład:

cqlsh> show host
Connected to Test Cluster at 127.0.0.1:9042.
cqlsh>

Polecenie do OPISU:

To polecenie zawiera opis wszystkich poniższych elementów schematu, jak wspomniano poniżej:

Składnia:

DESCRIBE CLUSTER
DESCRIBE SCHEMA
DESCRIBE TABLES
DESCRIBE TABLE <table name>
DESCRIBE INDEX <index name>
DESCRIBE KEYSPACES
DESCRIBE KEYSPACE <keyspace name>
DESCRIBE TYPES
DESCRIBE TYPE <type name>
DESCRIBE FUNCTIONS
DESCRIBE FUNCTION <function name>
DESCRIBE AGGREGATES
DESCRIBE AGGREGATE <aggregate function name>
DESCRIBE MATERIALIZED VIEW <view name>

Przykład:

cqlsh> describe cluster

Cluster: SysAdminXpert Cluster
Partitioner: Murmur3Partitioner

cqlsh>

Polecenie wyczyszczenia konsoli:

Składnia:

CLEAR
CLS

Koniec artykułu. Widzieliśmy, jak zainstalować Apache Cassandra na Ubuntu 20.10.


  1. Database
  2.   
  3. Mysql
  4.   
  5. Oracle
  6.   
  7. Sqlserver
  8.   
  9. PostgreSQL
  10.   
  11. Access
  12.   
  13. SQLite
  14.   
  15. MariaDB
  1. Wszystko, co musisz wiedzieć o standardach kodowania zapytań SQL

  2. Jak upuścić tabelę w SQL?

  3. Różnica między SQL a NoSQL

  4. Uruchamianie zadań konserwacji bazy danych SQL przy użyciu SQLCMD

  5. Operator SQL mniejszy lub równy (=) dla początkujących