ElasticSearchインストールエラーの整理

9812 ワード

スタンドアロンインストールエラー
初回起動サービス
/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 -pELK-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