目次
3. IK トークナイザーをインストールします (したがって、すべてのノードをインストールする必要があります)
序文
マシン構成により、elasticsearch はここに 2 つのノードのみをインストールし、両方のノードがマスターとデータの機能を引き受けます。
1. 設定ファイルを書き込む
- 左側の構成センター - 構成 - 作成、基本情報の入力、次のステップ
- 構成をそれぞれ個別に入力します。
- 構成アイテム(es-node1ノード)
#集群名称,同名称的可以加入同一个集群
cluster.name: es-cluster
#节点名称
node.name: es-node1
network.host: 0.0.0.0
#主节点
node.master: true
#数据节点
node.data: true
#集群中节点的初始列表,可以通过这些节点来自动发现其他节点加入集群。
discovery.seed_hosts: es-node1.mall-project:9300,es-node2.mall-project:9300
#新集群初始节点的候选节点
cluster.initial_master_nodes: es-node1
ヒント: Discovery.seed_hosts: 構成項目のドメイン名は、kubesphere によって生成された DNS です。このドメイン名は、ノードの作成後に自動的に生成されます (下図に示すように)。その生成ルールは <ノード名>.<プロジェクト名> であるため、次の 2 つのノードを es-node1 と es-node2 という名前にすることを事前に合意しました。
- 構成アイテム(es-node2ノード)
内容はes-node1とほぼ同じですが、node.nameをes-node2に変更するだけです。
cluster.name: es-cluster
node.name: es-node2
network.host: 0.0.0.0
node.master: true
node.data: true
discovery.seed_hosts: es-node1.mall-swarm-project:9300,es-node2.mall-swarm-project:9300
cluster.initial_master_nodes: es-node1
2. サービスノードの作成
- es-node1 ノードを作成する
ステートフルなサービスを作成する
名前を入力します。この名前は、前の手順 es-node1 の構成ファイル Discovery.seed_hosts のドメイン名と同じである必要があります。
部数は1部です
コンテナ elasticsearch の追加:7.6.2 デフォルト ポートの選択
環境変数を設定し、構成ファイルを参照し、すべての構成アイテムを参照します。
デプロイメントモード
- ストレージをマウントする
ストレージテンプレートの追加
/usr/share/elasticsearch/data ディレクトリにマウントします
別のストレージを /usr/share/elasticsearch/plugins にマウントします
セッションは維持され、ノード スケジューリングでは実行ノードを指定して、2 つの es を異なるサービス ノードで実行できます。
- 正常に作成されました
注: イメージの DNS は、構成ファイルの Discovery.seed_hosts 構成項目と一致している必要があります。矛盾している場合は、構成ファイルを変更して再デプロイできます。
- es-node2 ノードの作成
es-node1ノードの作成と同様に、環境変数をnode2の設定ファイルに置き換えます。
3. IK トークナイザーをインストールします (したがって、すべてのノードをインストールする必要があります)
- es コンテナー グループを入力します。スケジューリング情報を表示し、スケジューリングが行われているノードを記録します。
この例は 2 番目のノードにスケジュールされています
- リソースのステータスを表示 - コンテナ名を記憶
- 対応するノード(この例ではnode2)のホストに接続し、対応するコンテナのIDを確認します。
docker ps |grep 容器名
- 対応するコンテナに入れる
docker exec -it 容器id /bin/bash
- ik トークナイザーをダウンロードします。そして再起動します
#此命令需要在容器中运行 elasticsearch-plugin install https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.6.2/elasticsearch-analysis-ik-7.6.2.zip docker restart elasticsearch
4. テストクラスター
- 任意のノードのターミナルを入力してください
- DNS 経由で 2 つのノードにアクセスし、2 つのノードの名前とクラスター名を表示します。
curl es-node1.mall-swarm-project:9200
curl es-node2.mall-swarm-project:9200
- クラスターノードの表示
* はマスターノードを表します - はデータノードを表します
5、kibanaのインストール
1. 設定ファイルを書き込む
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://es-node1.mall-swarm-project:9200","http://es-node2.mall-swarm-project:9200" ]
xpack.monitoring.ui.container.elasticsearch.enabled: true
ヒント: elasticsearch.hosts は es ノードの DNS を入力します。
2. サービスを作成する
kibana はステートレスです。ステートレス サービスを選択し、基本情報を入力します
1 部選択してください
elasticsearch のバージョンと一致するミラー kibana:7.6.2 を選択します。デフォルトのポートを使用し、リソースの使用量を設定します。
設定ファイルをマウントし、ディレクトリ /usr/share/kibana/config/ をマウントします。
外部から kibana にログインする必要があるため、外部ネットワークへのアクセス方法を NodePort に設定する必要があります。
作成が成功すると、公開されたポートが表示されます。
任意のクラスター IP とポート番号を介してアクセスできます。
キバナを訪問
192.168.56.102 は仮想マシンの IP アドレスであり、私のマシンはこのアドレスを通じて仮想マシンに接続できます。
kibana の起動には時間がかかる場合があります。接続できない場合は、しばらくお待ちください。