「Apache Cassandra」の版間の差分
(翻訳) |
(→Configuration: 項目を整理) |
||
(3人の利用者による、間の6版が非表示) | |||
1行目: | 1行目: | ||
− | [[Category: |
+ | [[Category:データベース管理システム]] |
− | [[ |
+ | [[Category:Apache]] |
+ | [[en:Apache Cassandra]] |
||
{{Related articles start}} |
{{Related articles start}} |
||
{{Related|Apache Spark}} |
{{Related|Apache Spark}} |
||
− | {{Related4|Apache Mesos}} |
||
{{Related articles end}} |
{{Related articles end}} |
||
Apache Cassandra はリニアにスケールする NoSQL データベースです。詳しくは [http://docs.datastax.com/en/cassandra/2.0/cassandra/gettingStartedCassandraIntro.html 公式ドキュメント] を読んでください。 |
Apache Cassandra はリニアにスケールする NoSQL データベースです。詳しくは [http://docs.datastax.com/en/cassandra/2.0/cassandra/gettingStartedCassandraIntro.html 公式ドキュメント] を読んでください。 |
||
11行目: | 11行目: | ||
{{AUR|cassandra}} パッケージを[[インストール]]してください。 |
{{AUR|cassandra}} パッケージを[[インストール]]してください。 |
||
− | == |
+ | == 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 を切り替える必要があります。