序文
最近、Huawei Cloud Yaoyun Server L インスタンスがリリースされ、私も構築して遊んでみましたが、その過程でさまざまな問題に遭遇し、問題を解決する過程での運用保守について多くのことを学びました。
このブログでは、Docker版Elasticsearchのインストールとパラメータ設定、ポート開放とブラウザアクセスについて紹介します。
その他の関連する Huawei Cloud Yaoyun Server L インスタンスの評価記事のリストは次のとおりです。
-
Java8 環境のインストール & 環境変数の設定 & Spring プロジェクトのデプロイ & [!] 未解決の問題があります
-
Spring プロジェクトのデプロイ ポート開放問題の解決策とサーバー プロジェクト環境のセットアップ MySQL、Redis、Minio... ガイド
-
Redis の不正アクセスの脆弱性と脆弱性の部分的な再発を理解し、接続パスワードを設定し、他の Redis コマンドを学習する
-
Canal イメージ設定関連のパラメータを取得して作成し、MySQL データベースに接続するために Canal を構築し、Spring プロジェクト アプリケーションの Canal を準備します
-
Minio の Docker バージョンのインストールと Springboot プロジェクトでの使用、およびイメージ アクセス用の vue との組み合わせ
-
Redis Docker コンテナに BloomFilter をインストールし、Spring で Bloom フィルターの Redis プラグイン バージョンを使用する
導き出す
1. Docker版Elasticsearchのインストールとパラメータ設定;
2. ポート開放とブラウザアクセス;
1. ES (docker) のクエリとダウンロード
https://www.elastic.co/cn/elasticsearch/
Elasticsearch は、さまざまな新たなユースケースを解決できる分散型 RESTful 検索およびデータ分析エンジンです。Elastic Stack の中心となる Elasticsearch はデータを一元管理するため、迅速な検索、関連性の微調整、強力な分析の実行、および簡単な拡張が可能になります。
お問い合わせ
ドッカー検索 elasticsearch
イメージをプルする
docker pull elasticsearch:バージョン番号
docker pull elasticsearch:7.17.7
2. ESコンテナの作成
1. フォルダーを作成する
elasticsearch フォルダーを作成し、以下にサブフォルダー data と config を作成します
2. フォルダーのアクセス権限を変更する
chmod 777 elasticsearch/**
elasticsearch.yml
config フォルダーに elasticsearch.yml ファイルを作成し、読み取り、書き込み、および実行のアクセス許可を設定するように変更します。
touch elasticsearch/config/elasticsearch.yml
chmod 777 elasticsearch/config/elasticsearch.yml
elasticsearch.yml の内容を変更する
xpack.security.enabled: セキュリティを構成します。ただし、無料なのは 1 か月間のみです。このマシンにはセキュリティ モジュールが使用されていません。
http:
host: 0.0.0.0
cors:
enabled: true
allow-origin: "*"
xpack:
security:
enabled: false
3. 環境を構成する
max_map_count を調整する
max_map_count ファイルには、プロセスが持つことができるVMA (仮想メモリ領域)の数の制限が含まれています。デフォルト値は 65536 です。
root@hcss-ecs-52b8:~# sysctl -a | grep vm.max_map_count
vm.max_map_count = 65530
root@hcss-ecs-52b8:~# sysctl -w vm.max_map_count=262144
vm.max_map_count = 262144
root@hcss-ecs-52b8:~# sysctl -a | grep vm.max_map_count
vm.max_map_count = 262144
4. 実行中のコンテナを作成する
docker run -itd \
--name es \
--privileged \
-p 9200:9200 \
-p 9300:9300 \
-e "discovery.type=single-node" \
-e ES_JAVA_OPTS="-Xms84m -Xmx512m" \
-v /usr/local/software/es/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
-v /usr/local/software/es/elasticsearch/data:/usr/share/elasticsearch/data \
-v /usr/local/software/es/elasticsearch/plugins:/usr/share/elasticsearch/plugins \
elasticsearch:7.17.7
ポート
9200
9200 は HTTP プロトコルであり、主に外部通信に使用されます。通常、ElasticSearch に接続するツールに使用されますが、このポートは Java が ES に接続するためにも必要です。
9300
これは、クラスター内のノード間の通信に使用されるカスタム バイナリ プロトコルです。クラスターの変更、マスターノードの選択、ノードの参加/離脱、シャードの割り当てなどに使用されます。
ES_JAVA_OPTS
コンテナ内の JVM メモリ構成を指定します。512M 以上を推奨します。
3. es関連パラメータの変更
5. ESメモリサイズの変更
コンテナに入る
[root@localhost config]# docker exec -it es bash
設定フォルダーに入る
jvm.optionsのデフォルトのメモリサイズを変更する
root@6fa12b7a6ddb:/usr/share/elasticsearch/config# echo "-Xms4g" >> jvm.options
root@6fa12b7a6ddb:/usr/share/elasticsearch/config# echo "-Xmx4g" >> jvm.options
コンテナを終了して再起動する
root@6fa12b7a6ddb:/usr/share/elasticsearch/config# exit
exit
[root@localhost config]# docker restart es
4. ポート開放とアクセス
1. ポートを開く
2. ブラウザアクセス
付録: Docker コンテナーでのインストール コマンド
dockerコンテナにコマンドをインストールするにはどうすればよいですか?
apt update && apt -y install ツリー
#在容器内
root@af35113d7d48:/usr/share/elasticsearch/plugins/ik# apt update && apt -y install tree
Get:1 http://archive.ubuntu.com/ubuntu focal InRelease [265 kB]
Get:2 http://archive.ubuntu.com/ubuntu focal-updates InRelease [114 kB]
Get:3 http://archive.ubuntu.com/ubuntu focal-backports InRelease [108 kB]
要約する
1. Docker版Elasticsearchのインストールとパラメータ設定;
2. ポート開放とブラウザアクセス;