elasticSearch6.X使用问题汇总

1、开启ES时报错:

1

2

3

4

5

6

7

8

9

10

11

12

13

14

15

16

[2016-11-14T10:05:29,358][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [] 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:116) ~[elasticsearch-

5.0.0.jar:5.0.0]

at org.elasticsearch.bootstrap.Elasticsearch.execute(Elasticsearch.java:103) ~[elasticsearch-

5.0.0.jar:5.0.0]

at org.elasticsearch.cli.SettingCommand.execute(SettingCommand.java:54) ~[elasticsearch-

5.0.0.jar:5.0.0]

at org.elasticsearch.cli.Command.mainWithoutErrorHandling(Command.java:96) ~[elasticsearch-

5.0.0.jar:5.0.0]

at org.elasticsearch.cli.Command.main(Command.java:62) ~[elasticsearch-5.0.0.jar:5.0.0]

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:80) ~[elasticsearch-

5.0.0.jar:5.0.0]

at org.elasticsearch.bootstrap.Elasticsearch.main(Elasticsearch.java:73) ~[elasticsearch-

5.0.0.jar:5.0.0]

解决方案:

因为安全问题elasticsearch不让用root用户直接运行,所以要创建新用户

·        建议创建一个单独的用户用来运行ElasticSearch

·        创建elsearch用户组及elsearch用户

groupadd elsearch

useradd elsearch -gelsearch -p elasticsearch

使用elsearch启动ES又会遇到以下问题

ERROR: bootstrapchecks failed

max file descriptors[10240]for elasticsearch process likely too low, increase to at least[65536]

max number of threads[1024]for user [elsearch] likely too low, increase to at least [2048]

max virtual memory areasvm.max_map_count [65530] likely too low, increase to at least [262144]

[2016-11-14T10:22:17,569][INFO ][o.e.n.Node               ] [mysteel-node1] stopping ...

[2016-11-14T10:22:17,615][INFO ][o.e.n.Node               ] [mysteel-node1] stopped

[2016-11-14T10:22:17,615][INFO ][o.e.n.Node               ] [mysteel-node1] closing ...

[2016-11-14T10:22:17,638][INFO ][o.e.n.Node               ] [mysteel-node1] closed

 

临时解决方案:

 

 

sudo su

ulimit –n 65536

su zth

 

 

永久解决方案:

解决方法参考 http://www.cnblogs.com/sloveling/p/elasticsearch.html

切换到root用户

vi/etc/security/limits.conf

添加如下内容:

* soft nofile65536

 

* hard nofile131072

 

* soft nproc2048

 

* hard nproc4096


vi /etc/security/limits.d/90-nproc.conf

修改如下内容:

 

* soft nproc1024

 

#修改为

 

* soft nproc2048

 

vi /etc/sysctl.conf 

添加下面配置:

 

vm.max_map_count=655360

并执行命令:

 

sysctl -p

然后,重新启动elasticsearch,即可启动成功。

二、插入数据

问题描述

curl -XPOST 192.168.14.173:32000/test_index_1221/test_type/5-d '{'user_name':"xiaoming"}'

{"error":"Content-Typeheader [application/x-www-form-urlencoded] is not supported","status":406}

1

2

官方解释: 
官方改变

解决方法

curl -H "Content-Type:application/json" -XPOST 192.168.14.173:32000/test_index_1221/test_type/5 -d'{'user_name':"xiaoming"}'

{"error":"Content-Typeheader [application/x-www-form-urlencoded] is not supported","status":406}

1

2

指定header头即可

 as the final mapping would have more than 1 type:

as the final mapping would have more than 1 type:

三、java  index api插入数据

nested: IllegalArgumentException[Rejecting mapping update to [lzn] as the final mapping would have more than 1 type: [lzn, test]];
产生问题的原因是6.0.1之后的es每个index下只能放一个type

修改方式就是换一个index或者采取该index下唯一的type


你可能感兴趣的:(ElasticSearch,错误记录)