このブログでは、Ubuntu 20.10 /Ubuntu20.04にApacheCassandraをインストールする方法について説明します。 Apache Cassandraは、分散型で可用性の高いクラスターに大量のデータを格納することを目的としたオープンソースのNoSQLデータベースであり、フォールトトレランス、複数のサーバー間での一貫性、および線形スケーラビリティを提供します。
UbuntuにApacheCassandraをインストールする手順
ステップ1:Ubuntu20にJavaをインストールする
$ sudo apt install openjdk-8-jdk
私のシステムでは、Javaがすでに存在していたので、アップグレードする予定です。
ステップ2:Javaのインストールを確認する
$ java -version
サンプル出力:
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)
ステップ3:依存関係パッケージをインストールする:
$ sudo apt install apt-transport-https
ステップ4:GPGキーをインポートする:
$ wget -q -O - https://www.apache.org/dist/cassandra/KEYS | sudo apt-key add -
サンプル出力:
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:~#
ステップ5:ApacheCassandraのリポジトリを追加する
$ sudo sh -c 'echo "deb http://www.apache.org/dist/cassandra/debian 311x main" > /etc/apt/sources.list.d/cassandra.list'
サンプル出力:
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:~#
ステップ6:Ubuntuシステムを更新する
$ sudo apt update
ステップ7:UbuntuにApacheCassandraをインストールする
$ sudo apt install cassandra
最新のCassandraバージョンを表示することもできます
インストール後、Cassandraサービスが自動的に開始されます。
サンプル出力:
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:~#
起動時にCassandraサービスを自動的に自動起動するには:
sudo systemctl enable cassandra
サンプル出力:
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:~#
ステップ8:Cassandraとnodetoolのステータスを確認する
$ sudo systemctl status cassandra
ノードの統計を確認する
$ sudo nodetool status
UN クラスターが機能していることを示す出力信号の文字。
ステップ9:Cassandraターミナルにログインします
$ cqlsh
サンプル出力:
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>にHELPを使用します
ステップ10:UbuntuでのApacheCassandraの構成
- 構成ファイル–> / etc / cassandra
- データが保存されます–> / var / lib / cassandra
- 起動ファイル–> / etc / default / cassandra
デフォルトのCassandraクラスター名は「TestCluster」で、クラスター名のログインをCassandraに更新します。
$ cqlsh
私の場合、Cassandraクラスター名を「SysAdminXpertクラスター」に設定します
UPDATE system.local SET cluster_name = 'SysAdminXpert Cluster' WHERE KEY = 'local';
Cassandraプロンプトを終了するコマンド
EXIT;
「cassandra.yaml」を編集する前にバックアップを取ることをお勧めします ファイル
sudo cp /etc/cassandra/cassandra.yaml /etc/cassandra/cassandra.yaml.org-backup
「cassandra.yaml」を見つけて編集します ファイルを作成し、クラスター名を更新します。
$ sudo vim /etc/cassandra/cassandra.yaml
「cluster_name」を検索します クラスタ名を更新し、「SysAdminXpertCluster」に設定しました。
CassandraノードのIPアドレスを追加します。構成ファイルを開き、seed_providerセクションでseedsを見つけます。 エントリ:
「cassandra.yaml」を保存して終了します ファイル、変更を反映するには、Cassandraサービスを再起動します。
Cassandraサービスを再起動し、ステータスを確認します:
$ sudo systemctl restart cassandra && sudo systemctl status cassandra
Cassandra Terminalに再ログインし、以下のスクリーンショットに示すように更新されたクラスター名を確認します。
$ cqlsh
Cassandra cqlshの使用法:
Cassandraクエリ言語シェル(CQLSH) 基本的にはカサンドラとユーザーの間のコミュニケーション媒体です。 CQLSHは、ユーザーが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:~#
バージョンを取得するコマンド:
このコマンドは、cqlsh、Cassandra、CQL、およびネイティブプロトコルのバージョンを表示します。
例:
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>にHELPを使用します
ホストを表示するコマンド:
このコマンドは、クラスターの名前、ポート付きのIPアドレスを表示します。
例:
cqlsh> show host Connected to Test Cluster at 127.0.0.1:9042. cqlsh>
説明するコマンド:
このコマンドは、以下に説明するように、以下のすべてのスキーマ要素の説明を提供します。
構文:
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>
例:
cqlsh> describe cluster Cluster: SysAdminXpert Cluster Partitioner: Murmur3Partitioner cqlsh>
コンソールをクリアするコマンド:
構文:
CLEAR CLS
記事の終わり。 Ubuntu20.10にApacheCassandraをインストールする方法を見てきました。