「Apache Cassandra」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(カテゴリ変更)
(→‎Configuration: 項目を整理)
 
(2人の利用者による、間の5版が非表示)
1行目: 1行目:
 
[[Category:データベース管理システム]]
 
[[Category:データベース管理システム]]
 
[[Category:Apache]]
 
[[Category:Apache]]
[[en:Apache]]
+
[[en:Apache Cassandra]]
 
{{Related articles start}}
 
{{Related articles start}}
 
{{Related|Apache Spark}}
 
{{Related|Apache Spark}}
11行目: 11行目:
 
{{AUR|cassandra}} パッケージを[[インストール]]してください。
 
{{AUR|cassandra}} パッケージを[[インストール]]してください。
   
== Python API ==
+
== Configuration ==
Python API を使用したい場合、適切な Cassandra ドライバーをインストールしてください:
 
   
  +
=== Systemd unit ===
$ pip install cassandra-driver
 
   
  +
===== journald へのロギング =====
Cassandra の Python API の使用方法については [https://datastax.github.io/python-driver/api/index.html API ドキュメント] を参照。
 
  +
  +
パッケージはデフォルトで {{ic|/var/log/cassandra/system.log}} にログを記録しています。代わりに journald にログを記録するには、ユニットを [[編集]] して、{{ic|ExecStart}} 行に {{ic|-f}} を追加してサービスをフォアグラウンドで実行するように設定して、プロセスがフォークしないように Type を {{ic|simple}} に設定する必要があります。
  +
  +
これは systemd [[ドロップインファイル]] を使っても可能です。
  +
  +
{{hc|/etc/systemd/system/cassandra.service.d/override.conf|2=
  +
[Service]
  +
Type=simple
  +
ExecStart=
  +
ExecStart=/usr/bin/cassandra -p /run/cassandra/cassandra.pid -f
  +
}}
  +
  +
Cassandra が起動していた場合は、Cassandra の電源を切り、[[再起動]] する必要があります。
  +
  +
$ nodetool drain
  +
  +
=== cassandra.yaml ===
  +
  +
デフォルトの {{ic|cassandra.yaml}} には膨大な量のドキュメントがあります。{{AUR|cassandra}} パッケージ経由でインストールされた場合、{{ic|/etc/cassandra/cassandra.yaml}} にあります。
  +
  +
===== 基本的な設定項目 =====
  +
  +
クラスターの名前を設定します。これは、このクラスターに含める予定のすべてのノードで一貫している必要があります。
  +
  +
cluster_name: 'Test Cluster'
  +
  +
cassandra が書き込むディレクトリも設定します。以下は、設定されていない場合に使用されるデフォルトです。可能であれば、これを cassandra データの保存にのみ使用されるディスクに設定します
  +
  +
data_file_directories:
  +
- /var/lib/cassandra/data
  +
  +
最初のノード (種となるノード) には、その IP アドレスを種に含め、少なくとも他の1つのノードを設定します。他のすべてのノードには、クラスタの広い範囲のノードを設定してみてください。起動時にこの設定にあるシードのいずれかに接続できない場合、そのノードは起動に失敗します。
  +
  +
seed_provider:
  +
- class_name: org.apache.cassandra.locator.SimpleSeedProvider
  +
parameters:
  +
- seeds: "192.168.1.53, 192.168.1.52"
  +
  +
cassandra が {{ic|ssd}} または {{ic|spinning}} にデータを保存するために使用しているディスクのタイプに基づいて、これを設定します
  +
  +
disk_optimization_strategy: ssd|spinning
  +
  +
これは、Cassandra がクライアント接続をリッスンするアドレスです。
  +
  +
listen_address: 192.168.1.51
  +
  +
これは、このノードがアドバタイズするアドレスです。クライアントとノードの両方がこのアドレスでこのノードに到達できることを確認してください。
  +
  +
broadcast_address: 192.168.1.51
  +
  +
これは、thrift 接続に使用されるアドレスであり、{{ic|0.0.0.0}} に設定されています。すべてのインターフェイスでリッスンします。これは、セキュリティのためにファイアウォールで保護されている限り問題ありません。
  +
  +
rpc_address: 0.0.0.0
  +
  +
===== トラブルシューティング =====
  +
  +
Cassandra がサービスとして実行できない場合は、Cassandra を実行してみてください
  +
  +
$ cassandra
  +
  +
次のエラーが表示された場合:
  +
  +
Improperly specified VM option 'ThreadPriorityPolicy=42'
  +
Error: Could not create the Java Virtual Machine.
  +
Error: A fatal exception has occurred. Program will exit.
  +
  +
Cassandra は Java 8 でのみ実行されます。ここ [[Java]] の指示に従って Java の Java 8 をインストールして `archlinux-java` を使用して jvm を切り替える必要があります。

2023年2月23日 (木) 02:33時点における最新版

関連記事

Apache Cassandra はリニアにスケールする NoSQL データベースです。詳しくは 公式ドキュメント を読んでください。

インストール

cassandraAUR パッケージをインストールしてください。

Configuration

Systemd unit

journald へのロギング

パッケージはデフォルトで /var/log/cassandra/system.log にログを記録しています。代わりに journald にログを記録するには、ユニットを 編集 して、ExecStart 行に -f を追加してサービスをフォアグラウンドで実行するように設定して、プロセスがフォークしないように Type を simple に設定する必要があります。

これは systemd ドロップインファイル を使っても可能です。

/etc/systemd/system/cassandra.service.d/override.conf
[Service]
Type=simple
ExecStart=
ExecStart=/usr/bin/cassandra -p /run/cassandra/cassandra.pid -f

Cassandra が起動していた場合は、Cassandra の電源を切り、再起動 する必要があります。

$ nodetool drain

cassandra.yaml

デフォルトの cassandra.yaml には膨大な量のドキュメントがあります。cassandraAUR パッケージ経由でインストールされた場合、/etc/cassandra/cassandra.yaml にあります。

基本的な設定項目

クラスターの名前を設定します。これは、このクラスターに含める予定のすべてのノードで一貫している必要があります。

cluster_name: 'Test Cluster'

cassandra が書き込むディレクトリも設定します。以下は、設定されていない場合に使用されるデフォルトです。可能であれば、これを cassandra データの保存にのみ使用されるディスクに設定します

data_file_directories:
    - /var/lib/cassandra/data

最初のノード (種となるノード) には、その IP アドレスを種に含め、少なくとも他の1つのノードを設定します。他のすべてのノードには、クラスタの広い範囲のノードを設定してみてください。起動時にこの設定にあるシードのいずれかに接続できない場合、そのノードは起動に失敗します。

seed_provider:
    - class_name: org.apache.cassandra.locator.SimpleSeedProvider
      parameters:
          - seeds: "192.168.1.53, 192.168.1.52"

cassandra が ssd または spinning にデータを保存するために使用しているディスクのタイプに基づいて、これを設定します

disk_optimization_strategy: ssd|spinning

これは、Cassandra がクライアント接続をリッスンするアドレスです。

listen_address: 192.168.1.51

これは、このノードがアドバタイズするアドレスです。クライアントとノードの両方がこのアドレスでこのノードに到達できることを確認してください。

broadcast_address: 192.168.1.51

これは、thrift 接続に使用されるアドレスであり、0.0.0.0 に設定されています。すべてのインターフェイスでリッスンします。これは、セキュリティのためにファイアウォールで保護されている限り問題ありません。

rpc_address: 0.0.0.0
トラブルシューティング

Cassandra がサービスとして実行できない場合は、Cassandra を実行してみてください

$ cassandra

次のエラーが表示された場合:

Improperly specified VM option 'ThreadPriorityPolicy=42'
Error: Could not create the Java Virtual Machine.
Error: A fatal exception has occurred. Program will exit.

Cassandra は Java 8 でのみ実行されます。ここ Java の指示に従って Java の Java 8 をインストールして `archlinux-java` を使用して jvm を切り替える必要があります。