DSE Multi-Instance(DSEマルチインスタンス)へのノードの追加
DataStax Enterpriseノードをホスト・マシーンに追加してDSE Multi-Instance(DSEマルチインスタンス)を構成する手順。
パッケージ・インストールでは、dse add-nodeコマンドにより、ホスト・マシーンでのノードの追加と構成が簡素化されます。
tarボール・インストールでは、1つのホスト・マシーンへのノードの追加がサポートされていません。tarボール・インストールでDSE Multi-Instance(DSEマルチインスタンス)をインストールするには、1つのホスト・マシーン上の複数の場所にtarボールを解凍します。各tarボール・インストールがホスト・マシーンのDataStax Enterpriseノードになります。
ホスト・マシーンでの、DSE Multi-Instance(DSEマルチインスタンス)のルート・ディレクトリーは/etc/defaultsです。このデフォルトの場所は構成できません。ノード・タイプは/etc/defaults/dse-nodeIdファイルで定義されます。
追加される各ノードに対して、以下のアクションが行われます。注: DSE Multi-Instance(DSEマルチインスタンス)はパッケージ・インストールのみでサポートされています。
- ノード構成はコマンド引数に従って変更されます。
- ノードを開始または停止できるように、スクリプトが作成されます。
- ホスト・マシーンが起動または停止するときにノードが開始または停止するように、実行レベルがデフォルト値に更新されます。
- /etc/default/dse-nodeIdファイルが作成され、デフォルトのノード・タイプがトランザクション・ノードとして設定されます。
- DSE Multi-Instance(DSEマルチインスタンス)を使用する場合、
dse
コマンドをホスト・マシーンのノード上で実行すると、ノード構成は以下から読み取られます。- パッケージ・インストール:/etc/dse/serverconfig/dse-nodeId
- tarボール・インストール:/etc/dseディレクトリーは、DataStax Enterpriseをインストールした各場所のデフォルトの構成場所です。
注: DSE Multi-Instance(DSEマルチインスタンス)を使用する場合は、複数のDataStax Enterpriseノードが1台のホスト・マシン上に置かれます。DataStax Enterpriseのノードごとに構成を分離するには、ノード固有ディレクトリー構造を使用して、構成ファイルと運用ファイルを格納します。たとえば、/etc/dse/dse.yamlに加えて、DSE Multi-Instance(DSEマルチインスタンス)のdse.yamlファイルが/etc/dse-nodeId/dse.yamlに格納されます。DSE Multi-Instance(DSEマルチインスタンス)の/etc/dse-nodeId/dse.yamlファイルでserver_idオプションが生成され、複数のインスタンスが実行されている、データベース・インスタンスごとの固有の物理サーバーを一意に識別します。
ディレクトリー | 説明 |
---|---|
/etc/dse | /etc/dse/dse.yamlは、DataStax Enterpriseの主要な構成ファイルです。 |
/etc/dse-node1 | /etc/dse-node1/dse.yamlは、dse-node1ディレクトリーにあるDataStax Enterpriseノードの構成ファイルです |
/etc/dse-node2 | /etc/dse-node2/dse.yamlは、dse-node2ディレクトリーにあるDataStax Enterpriseノードの構成ファイルです |
DSE Multi-Instance(DSEマルチインスタンス)ノードの場合、2つのファイルでノードの構成を制御します。たとえば、ノード名がdse-node1の場合は次のようになります。
パッケージ・インストールの場合、DSE Multi-Instance(DSEマルチインスタンス)クラスター内のファイル場所の総合リストについては、「DSE Multi-Instance(DSEマルチインスタンス)のディレクトリー」を参照してください。- /etc/dse/serverconfig/dse-node1で、構成ファイルに対するディレクトリーを指定します。
- /etc/dsefault/dse-node1で、ノード・タイプを含むノードの動作を構成し、DSEサービスで開始する再試行回数を構成します。
手順
- 既存のDataStax Enterpriseインストールが、/etc/dseディレクトリーでデフォルトのノード構成になっていることを確認します。デフォルトのノードに対する構成ファイルには、/etc/dse/dse.yamlと/etc/dse/cassandra/cassandra.yamlが含まれます。
- デフォルトのクラスターに意味のある名前を付けます。たとえば、デフォルトのクラスター名dseをpayrollに変更します。
- ノードが作業用のIPアドレスにバインドしていることを確認します。
-
DataStax EnterpriseノードをDSE Multi-Instance(DSEマルチインスタンス)クラスターに追加します。
- パッケージ・インストールの場合、
dse add-node
コマンドを使用できます。たとえば、起動時にクラスターpayrollに参加するノードを追加するには、次のようにします。sudo dse add-node nodeId --cluster payroll --listen-address unused_ip_of_server --rpc-address unused_ip_of_server --seeds ip_of_default_node
- tarボール・インストールの場合、product.tar.gzファイルを複数回解凍し、各場所のノードを構成します。
- パッケージ・インストールの場合、
-
新しいノードを開始する前に、/etc/default/dse-nodeIdファイルでノード・タイプを設定します。
- DSE Search:
SOLR_ENABLED=1
- DSE Analytics:
SPARK_ENABLED=1
- DSE Search:
-
必要に応じてノードの構成を続行します。
「DSE Multi-Instance(DSEマルチインスタンス)のファイルの場所」を参照してください。
-
構成の変更を行った後、ノードを開始します。
以下のエラーが表示された場合、「起動時のDataStax Enterpriseのタイムアウト」を参照してください。
WARNING: Timed out while waiting for DSE to start.
-
ノードが実行中で、クラスターの一部であることを確認します。
たとえば、DSE Multi-Instance(DSEマルチインスタンス)クラスターのdse-node1というローカル・ノードからクラスターの状態を確認するには、次のようにします。
sudo dse dse-node1 dsetool ring
DSE Multi-Instance(DSEマルチインスタンス)を使用する場合、出力にサーバーIDが含まれます。Server ID Address DC Rack Workload Graph Status State Load Owns VNodes Health [0,1) 42-01-0A-F0-00-02 10.240.0.2 Cassandra rack1 Cassandra no Up Normal 92.13 KB 46.86% -9223372036854775808 0.17 42-01-0A-F0-00-02 127.0.0.1 Cassandra rack1 Cassandra no Up Normal 150.6 KB 53.14% 579561378715200106
標準のdsetool ringコマンドを使用すると、デフォルトのノードdseの状態が示されます。sudo dsetool ring
クラスター内にDSE Multi-Instance(DSEマルチインスタンス)サーバーが存在すると、DSE Multi-Instance(DSEマルチインスタンス)ホスト・マシーンであるサーバー上でコマンドを実行する場合でも、出力には常にサーバーIDカラムが含まれます。Server ID Address DC Rack Workload Graph Status State Load Owns VNodes Health [0,1) 42-01-0A-F0-00-02 10.240.0.2 Cassandra rack1 Cassandra no Up Normal 92.13 KB 46.86% -9223372036854775808 0.17 42-01-0A-F0-00-02 127.0.0.1 Cassandra rack1 Cassandra no Up Normal 150.6 KB 53.14% 579561378715200106
-
DataStax Enterprise標準コマンドをDSE Multi-Instance(DSEマルチインスタンス)のホスト・マシンのノードに対して実行するには、以下の構文を使用してノード名を指定します。
sudo dse dse-nodeId subcommand [command_arguments]
add-nodeコマンドで指定されたノードIDの前に、自動的にdse-が付けられます。add-nodeを除くすべてのインスタンスで、コマンド構文にdse-のプレフィックスが必要です。
たとえば、DSE Multi-Instance(DSEマルチインスタンス)を使用して、dse-spark-nodeというノード上でSparkシェルを開始するコマンドは次のとおりです。sudo dse dse-spark-node spark
一方、DSE Multi-Instance(DSEマルチインスタンス)を使用しないでSparkシェルを開始するコマンドは次のとおりです。dse spark