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の場合は次のようになります。
  • /etc/dse/serverconfig/dse-node1で、構成ファイルに対するディレクトリーを指定します。
  • /etc/dsefault/dse-node1で、ノード・タイプを含むノードの動作を構成し、DSEサービスで開始する再試行回数を構成します。
パッケージ・インストールの場合、DSE Multi-Instance(DSEマルチインスタンス)クラスター内のファイル場所の総合リストについては、「DSE Multi-Instance(DSEマルチインスタンス)のディレクトリー」を参照してください。

手順

  1. 既存のDataStax Enterpriseインストールが、/etc/dseディレクトリーでデフォルトのノード構成になっていることを確認します。デフォルトのノードに対する構成ファイルには、/etc/dse/dse.yaml/etc/dse/cassandra/cassandra.yamlが含まれます。
  2. デフォルトのクラスターに意味のある名前を付けます。たとえば、デフォルトのクラスター名dseをpayrollに変更します。
  3. ノードが作業用のIPアドレスにバインドしていることを確認します。
  4. 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ファイルを複数回解凍し、各場所のノードを構成します。
  5. 新しいノードを開始する前に、/etc/default/dse-nodeIdファイルでノード・タイプを設定します。
    • DSE Search:
      SOLR_ENABLED=1
    • DSE Analytics:
      SPARK_ENABLED=1
  6. 必要に応じてノードの構成を続行します。
    1. デフォルトのDataStax Enterprise構成値を変更するには、/etc/nodeIdの構成ファイルを編集します。
      JMXポートが各ノードで構成されていることを確認します。7199がDSE JMXメトリクス監視ポートです。ローカル・ノードからの接続のみ許可することが推奨されます。他のノードからの接続を許可する場合は、SSLおよびJMX認証を構成します。
    2. デフォルトのデータベース構成値を変更するには、/etc/dse-nodeId/cassandra/cassandra.yamlファイルを編集します。
  7. 構成の変更を行った後、ノードを開始します
    以下のエラーが表示された場合、「起動時のDataStax Enterpriseのタイムアウト」を参照してください。
    WARNING: Timed out while waiting for DSE to start. 
  8. ノードが実行中で、クラスターの一部であることを確認します。
    たとえば、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 
  9. 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