技術共有

docker install ElasticSearch

2024-07-12

한어Русский языкEnglishFrançaisIndonesianSanskrit日本語DeutschPortuguêsΕλληνικάespañolItalianoSuomalainenLatina

この記事は以下の2つの記事を参考にしています

✅ElasticSearch&Kibana の導入 · クラウド効果に関する考察 · エンタープライズレベルのナレッジベース (aliyun.com)

ElasticSearch&KibanaのDockerインストール - Feishu

elasticsearch をインストールする

Docker を使用して ES をダウンロードします。

docker pull elasticsearch:8.13.0

マウント構成

ハングファイルディレクトリを作成する

  1. mkdir -p /home/docker/es/config
  2. mkdir -p /home/docker/es/data
  3. mkdir -p /home/docker/es/plugins
  4. mkdir -p /home/docker/es/logs
  5. #权限
  6. chmod 777 /home/docker/es/config
  7. chmod 777 /home/docker/es/data
  8. chmod 777 /home/docker/es/plugins
  9. chmod 777 /home/docker/es/logs

/home/docker/es/config/elasticsearch.yml ファイルを編集します

  1. cluster.name: "nfturbo-cluster"
  2. network.host: 0.0.0.0
  3. http.cors.enabled: true
  4. http.cors.allow-origin: "*"
  5. xpack.security.enabled: true

ブートイメージ

  1. docker run --name elasticsearch
  2. -p 9200:9200
  3. -p 9300:9300
  4. -e "discovery.type=single-node"
  5. -e ES_JAVA_OPTS="-Xms256m -Xmx512m"
  6. -v /home/docker/es/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml
  7. -v /home/docker/es/data:/usr/share/elasticsearch/data
  8. -v /home/docker/es/plugins:/usr/share/elasticsearch/plugins
  9. -v /home/docker/es/logs:/usr/share/elasticsearch/logs
  10. -d elasticsearch:8.13.0

組み込みのユーザーパスワードを設定する

Docker 環境で Elasticsearch の組み込みユーザー パスワードを設定するには、次の使用をお勧めします。 elasticsearch-setup-passwords auto コマンドを実行すると、組み込みユーザーのランダムなパスワードが自動的に生成され、コンソールに直接表示されます。この方法は、自動展開またはスクリプト化された操作に適しています。

パスワードを手動で入力して対話的に設定したい場合は、次のコマンドを使用できます。 elasticsearch-setup-passwords interactive 注文。この方法は対話的にパスワードを設定するのに適しており、必要に応じて各ユーザーのパスワードを手動で入力できます。

  1. # 进入es容器内部
  2. docker exec -it a46f2f8bdfd7 /bin/bash
  3. #手动设置用户密码
  4. elasticsearch-setup-passwords interactive
  5. #重启es容器

ただし、これは機能しません。後で kibana を起動すると、このような問題が発生します。なぜなら最新バージョン エラスティックサーチ 特に Kibana がアクセスする必要があるシステム インデックスに関しては、より厳格なセキュリティ ポリシーが導入されました。具体的には、エラー メッセージには次のことが示されています。elastic スーパー ユーザー アカウントですが、このアカウントでは Kibana に必要なシステム インデックスへの書き込みは許可されません

エラー: [[elasticsearch].username] の設定検証: 「elastic」の値は禁止されています

es コンテナに入り、新しいユーザーを追加し、ロールの権限を設定し、プロンプトに従ってパスワードを作成し、パスワードを再度確認します。

  1. bin/elasticsearch-users useradd gxj
  2. #密码123456
  3. bin/elasticsearch-users roles -a superuser gxj
  4. bin/elasticsearch-users roles -a kibana_system gxj

警告は関係ありません、心配しないでください

警告: ファイル [/usr/share/elasticsearch/config/users_roles] の所有者は以前は [root] でしたが、現在は [elasticsearch] です

ブラウザアクセス

ip:9200, ファイアウォールのオープンマッピングを記憶するポート

キバナのインストール

Docker を使用して kibana をダウンロードする

docker pull kibana:8.13.0

ESのIPを確認する

docker inspect elasticsearch|grep IPAddress

マウント構成

  1. #创建挂载文件
  2. touch /home/docker/es/config/kibana.yml
  3. #权限
  4. chmod 777 /home/docker/es/config/kibana.yml

編集キバナ、先ほど見つけた es IP を次のように設定する必要があります。elasticsearch.ホスト、その他の設定は自分で適切に調整できます。

  1. server.name: kibana
  2. #server.port: 5601
  3. server.host: 0.0.0.0
  4. #改成 es 的内网 ip
  5. elasticsearch.hosts: [ "http://172.17.0.2:9200" ]
  6. elasticsearch.username: "gxj"
  7. elasticsearch.password: "123456"
  8. xpack.monitoring.ui.container.elasticsearch.enabled: true
  9. i18n.locale: "zh-CN"

キバナを開始する

  1. docker run --name kibana
  2. -p 5601:5601
  3. -v /home/docker/es/config/kibana.yml:/usr/share/kibana/config/kibana.yml
  4. -d kibana:8.13.0

ブラウザアクセス

http://ip:5601, ファイアウォールのオープンマッピングを記憶するポート

ユーザー名 (gxj)、パスワード (123456)) を入力してアクセスします

 
  1. #kibana容器运行日志
  2. docker logs kibana