「Apache Cassandra」の版間の差分

提供: ArchWiki
ナビゲーションに移動 検索に移動
(→‎Configuration: 項目を整理)
 
(同じ利用者による、間の1版が非表示)
34行目: 34行目:
 
=== cassandra.yaml ===
 
=== cassandra.yaml ===
   
There is copious amounts of documentation in the default {{ic|cassandra.yaml}}. When installed via the {{AUR|cassandra}} package, it is located in {{ic|/etc/cassandra/cassandra.yaml}}
+
デフォルトの {{ic|cassandra.yaml}} には膨大な量のドキュメントがあります。{{AUR|cassandra}} パッケージ経由でインストールされた場合、{{ic|/etc/cassandra/cassandra.yaml}} にあります。
   
===== Basic config items to change =====
+
===== 基本的な設定項目 =====
   
  +
クラスターの名前を設定します。これは、このクラスターに含める予定のすべてのノードで一貫している必要があります。
Setting the name of the cluster. This needs to be consistent for all nodes that you intend to have in this cluster.
 
   
 
cluster_name: 'Test Cluster'
 
cluster_name: 'Test Cluster'
   
  +
cassandra が書き込むディレクトリも設定します。以下は、設定されていない場合に使用されるデフォルトです。可能であれば、これを cassandra データの保存にのみ使用されるディスクに設定します
Set the directory where cassandra will write too, below is the default that will be used if unset. If possible set this to a disk used only for storing cassandra data
 
   
 
data_file_directories:
 
data_file_directories:
 
- /var/lib/cassandra/data
 
- /var/lib/cassandra/data
   
  +
最初のノード (種となるノード) には、その IP アドレスを種に含め、少なくとも他の1つのノードを設定します。他のすべてのノードには、クラスタの広い範囲のノードを設定してみてください。起動時にこの設定にあるシードのいずれかに接続できない場合、そのノードは起動に失敗します。
For the first node (the seed node) make sure to include its IP address in the seeds, and atleast 1 other node. for all other nodes, try and set a broad range of nodes in the cluster. If a node cannot connect to one of the seeds listed in this configuration at startup - it will fail to start.
 
   
 
seed_provider:
 
seed_provider:
54行目: 54行目:
 
- seeds: "192.168.1.53, 192.168.1.52"
 
- seeds: "192.168.1.53, 192.168.1.52"
   
  +
cassandra が {{ic|ssd}} または {{ic|spinning}} にデータを保存するために使用しているディスクのタイプに基づいて、これを設定します
set this based on what type of disk cassandra is using to store data on {{ic|ssd}} or {{ic|spinning}}
 
   
 
disk_optimization_strategy: ssd|spinning
 
disk_optimization_strategy: ssd|spinning
   
  +
これは、Cassandra がクライアント接続をリッスンするアドレスです。
This is the address Cassandra will listen for client connections on
 
   
 
listen_address: 192.168.1.51
 
listen_address: 192.168.1.51
   
  +
これは、このノードがアドバタイズするアドレスです。クライアントとノードの両方がこのアドレスでこのノードに到達できることを確認してください。
This is the address this node will advertise itself as, ensure both your clients and nodes can reach this node on this address
 
   
 
broadcast_address: 192.168.1.51
 
broadcast_address: 192.168.1.51
   
  +
これは、thrift 接続に使用されるアドレスであり、{{ic|0.0.0.0}} に設定されています。すべてのインターフェイスでリッスンします。これは、セキュリティのためにファイアウォールで保護されている限り問題ありません。
This is the address used for thrift connections, set to {{ic|0.0.0.0}} it will listen on all interfaces, which is fine as long as its firewalled for security
 
   
 
rpc_address: 0.0.0.0
 
rpc_address: 0.0.0.0
   
  +
===== トラブルシューティング =====
   
  +
Cassandra がサービスとして実行できない場合は、Cassandra を実行してみてください
===== Recommended settings for linux specifically =====
 
 
hsha stands for "half synchronous, half asynchronous." All thrift clients are handled asynchronously using a small number of threads that does not vary with the amount of thrift clients (and thus scales well to many clients). This is not recommended on windows machines hsha is about 30% slower
 
 
rpc_server_type: hsha
 
 
Because we're using hsha, {{ic|rpc_max_threads}} must be set, or cassandra will refuse to start. {{ic|rpc_max_threads}} represents the maximum number of client requests this server may execute concurrently.
 
 
rpc_max_threads: 100
 
 
 
===== Troubleshooting =====
 
 
If Cassandra fails to run as a service, try running Cassandra
 
   
 
$ cassandra
 
$ cassandra
   
  +
次のエラーが表示された場合:
If you receive the following error:
 
   
 
Improperly specified VM option 'ThreadPriorityPolicy=42'
 
Improperly specified VM option 'ThreadPriorityPolicy=42'
94行目: 82行目:
 
Error: A fatal exception has occurred. Program will exit.
 
Error: A fatal exception has occurred. Program will exit.
   
Cassandra only runs on Java 8. You will need to install Java per directions here [[Java]] to install Java 8 and switch your jvm using `archlinux-java`
+
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 を切り替える必要があります。