ElasticSearchインストールエラーの整理
9812 ワード
スタンドアロンインストールエラー
初回起動サービス
rootアカウント呼び出し起動コマンドを使用してエラーメッセージが表示された場合、エラーメッセージは次のとおりです.
新規ユーザーの作成
Elasticsearchは、ユーザが入力したスクリプトを受信して実行することができるため、システムのセキュリティ上の考慮のためにrootアカウントの起動を許可しないため、
コマンドフォーマット
アクセスグループ権限の付与
コマンド形式:
root権限の付与
コマンドフォーマット:ymqユーザーroot権限
次のエラーが発生した場合
次のエラーは、
エラー
編集
エラー
編集
実行
dataディレクトリのデータを削除します(新しい解凍されたインストールパッケージであれば必要ありません)
異常
インストールディレクトリの削除
異常
クラスタインストールディレクトリの削除
異常
サービスの再起動
jvmメモリ変更
ログの表示
ポートの表示
アクセスのテスト
ブラウザのアクセスが失敗した場合は、ファイアウォールを閉じ、指定した92009300ポートを開きます.便宜上、生産はファイアウォールを無効にしないでください.
その他の例外:
Elasticsearchレプリケーションクラスタ構成
以下の手順に従って、上記の単機構成に従って順次インストールすることをお勧めしません.
ネイティブ構成のファイルをnode 2,node 3クラスタにコピーする
Node.name:名前を変えて
バックグラウンド起動
バックグラウンドでnode 1,node 2,node 3サービスを開始
Node 1,node 2,node 3ポートの使用状況の表示
初回起動サービス
/opt/elasticsearch-5.5.2/bin/elasticsearch
rootアカウント呼び出し起動コマンドを使用してエラーメッセージが表示された場合、エラーメッセージは次のとおりです.
[2017-08-30T13:32:17,003][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [ELK-node1] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:127) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:114) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.cli.EnvironmentAwareCommand.execute(EnvironmentAwareCommand.java:67) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:122) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.cli.Command.main(Command.java:88) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:91) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:84) ~[elasticsearch-5.5.2.jar:5.5.2]
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
at org.elasticsearch.bootstrap.Bootstrap.initializeNatives(Bootstrap.java:106) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Bootstrap.setup(Bootstrap.java:194) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Bootstrap.init(Bootstrap.java:351) ~[elasticsearch-5.5.2.jar:5.5.2]
at org.elasticsearch.bootstrap.Elasticsearch.init(Elasticsearch.java:123) ~[elasticsearch-5.5.2.jar:5.5.2]
... 6 more
新規ユーザーの作成
Elasticsearchは、ユーザが入力したスクリプトを受信して実行することができるため、システムのセキュリティ上の考慮のためにrootアカウントの起動を許可しないため、
Elasticsearch
を実行するためにElasticsearch
に単独で1人のユーザを作成することを推奨する.コマンドフォーマット
useradd ymq( ) -g ymq( ) -p ymq( )
groupadd ymq
useradd ymq -g ymq -p ymq
アクセスグループ権限の付与
コマンド形式:
chown -R ymq
(所属ユーザ):
ymq
(所属ユーザグループ名)/opt/elasticsearch-5.5.2
(変更するファイルパス)chown -R ymq:ymq /opt/elasticsearch-5.5.2
chmod -R 777 /opt/elasticsearch-5.5.2
root権限の付与
コマンドフォーマット:ymqユーザーroot権限
NOPASSWD
パスワードを入力しないことを意味しますchmod 777 /etc/sudoers
vi /etc/sudoers
root ALL=(ALL) ALL
# ymq root
ymq ALL=(ALL) NOPASSWD:ALL
pkexec chmod 0440 /etc/sudoers
su ymq
/opt/elasticsearch-5.5.2/bin/elasticsearch
次のエラーが発生した場合
[2017-08-30T13:41:13,631][INFO ][o.e.n.Node ] [ELK-node1] starting ...
[2017-08-30T13:41:14,093][INFO ][o.e.t.TransportService ] [ELK-node1] publish_address {192.168.252.121:9300}, bound_addresses {[::]:9300}
[2017-08-30T13:41:14,121][INFO ][o.e.b.BootstrapChecks ] [ELK-node1] bound or publishing to a non-loopback or non-link-local address, enforcing bootstrap checks
[2017-08-30T13:41:14,127][ERROR][o.e.b.Bootstrap ] [ELK-node1] node validation exception
[2] bootstrap checks failed
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
[2017-08-30T13:41:14,142][INFO ][o.e.n.Node ] [ELK-node1] stopping ...
[2017-08-30T13:41:14,186][INFO ][o.e.n.Node ] [ELK-node1] stopped
[2017-08-30T13:41:14,186][INFO ][o.e.n.Node ] [ELK-node1] closing ...
[2017-08-30T13:41:14,204][INFO ][o.e.n.Node ] [ELK-node1] closed
次のエラーは、
root
ユーザー入力変更に切り替えられました.su root
エラー
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536
編集
limits.conf
は、最初の行に次の内容を追加します.cat /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
エラー
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
編集
limits.conf
は、最初の行に次の内容を追加します.cat /etc/sysctl.conf
vm.max_map_count = 655360
実行
sysctl -p
sysctl -p
dataディレクトリのデータを削除します(新しい解凍されたインストールパッケージであれば必要ありません)
異常
IllegalStateException
Caused by: java.lang.IllegalStateException: failed to obtain node locks, tried [[/opt/elasticsearch-5.5.2/data/ymq]] with lock id [0]; maybe thes
インストールディレクトリの削除
cd /opt/elasticsearch-5.5.2/data
rm -rf nodes
異常
/data
[2017-09-01T11:40:42,115][INFO ][o.e.d.z.ZenDiscovery ] [ELK-node2] failed to send join request to master [{ELK-node1}{DKCwxkubTFufsBaOSXj9Nw}{UIMSNeuIT6m8SFGGTi4wSg}{192.168.252.121}{192.168.252.121:9300}], reason [RemoteTransportException[[ELK-node1][192.168.252.121:9300][internal:discovery/zen/join]]; nested: NotMasterException[Node [{ELK-node1}{DKCwxkubTFufsBaOSXj9Nw}{UIMSNeuIT6m8SFGGTi4wSg}{192.168.252.121}{192.168.252.121:9300}] not master for join request]; ], tried [3] times
クラスタインストールディレクトリの削除
RemoteTransportException
cd /opt/elasticsearch-5.5.2/data
rm -rf nodes
異常
/data
前回の起動に失敗し、ポートを占有しました[2017-08-30T22:02:14,463][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [ELK-node2] uncaught exception in thread [main]
org.elasticsearch.bootstrap.StartupException: BindHttpException[Failed to bind to [9200]]; nested: BindException[Address already in use];
jps
2824 Elasticsearch
3165 Jps
kill -9 2824
サービスの再起動
ElasticsearchUncaughtExceptionHandler
ユーザーがサービスを開始しようとすると、ymq
バックグラウンドで起動します.su ymq
/opt/elasticsearch-5.5.2/bin/elasticsearch -d
jvmメモリ変更
vi /opt/elasticsearch-5.5.2/config/jvm.options
-Xms2g --》 512m
-Xmx2g --》 512m
ログの表示
-d
タイムリークラスタ名less /opt/elasticsearch-5.5.2/logs/ymq.log
ポートの表示
netstat -nltp
(Not all processes could be identified, non-owned process info
will not be shown, you would have to be root to see it all.)
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN -
tcp 0 0 127.0.0.1:25 0.0.0.0:* LISTEN -
tcp6 0 0 :::9200 :::* LISTEN 2944/java
tcp6 0 0 :::9300 :::* LISTEN 2944/java
tcp6 0 0 :::22 :::* LISTEN -
tcp6 0 0 ::1:25 :::* LISTEN -
アクセスのテスト
curl -X GET http://localhost:9200/
{
"name" : "ELK-node1",
"cluster_name" : "ymq",
"cluster_uuid" : "jxWzvSFNTCWtToD6wrVIpA",
"version" : {
"number" : "5.5.2",
"build_hash" : "b2f0c09",
"build_date" : "2017-08-14T12:33:14.154Z",
"build_snapshot" : false,
"lucene_version" : "6.6.0"
},
"tagline" : "You Know, for Search"
ブラウザのアクセスが失敗した場合は、ファイアウォールを閉じ、指定した92009300ポートを開きます.便宜上、生産はファイアウォールを無効にしないでください.
systemctl stop firewalld.service
その他の例外:
Elasticsearchレプリケーションクラスタ構成
以下の手順に従って、上記の単機構成に従って順次インストールすることをお勧めしません.
ymq
ROOTユーザーの下で操作su root
ネイティブ構成のファイルをnode 2,node 3クラスタにコピーする
for a in {2..3} ; do scp -r /opt/elasticsearch-5.5.2/ node$a:/opt/elasticsearch-5.5.2/ ; done
node1
node 2,node 3クラスタ、新規ユーザーの作成、アクセスグループ権限の付与、root権限へのアクセスの付与ssh
for a in {2..3} ; do ssh node$a "source /etc/profile; groupadd ymq; useradd ymq -g ymq -p ymq; chown -R ymq:ymq /opt/elasticsearch-5.5.2; chmod 777 /etc/sudoers;" ; done
for a in {2..3} ; do scp -r /etc/sudoers node$a:/etc/sudoers ; done
/etc/sudoers
をnode 2,node 3クラスタにコピーfor a in {2..3} ; do scp -r /etc/security/limits.conf node$a:/etc/security/limits.conf ; done
limits.conf
をnode 2,node 3クラスタにコピーfor a in {2..3} ; do scp -r /etc/sysctl.conf node$a:/etc/sysctl.conf ; done
sysctl.conf
をnode 2,node 3クラスタにコピーfor a in {2..3} ; do scp -r /opt/elasticsearch-5.5.2/config/jvm.options node$a:/opt/elasticsearch-5.5.2/config/jvm.options ; done
jvm.options
操作の実行for a in {2..3} ; do ssh node$a "source /etc/profile; sysctl -p ; " ; done
vi /opt/elasticsearch-5.5.2/config/elasticsearch.yml
Node.name:名前を変えて
sysctl -p
、ELK-node2
node.name: ELK-node1
バックグラウンド起動
バックグラウンドでnode 1,node 2,node 3サービスを開始
su ymq
/opt/elasticsearch-5.5.2/bin/elasticsearch -d
Node 1,node 2,node 3ポートの使用状況の表示
netstat -nltp