ElasticSearch 安装时一些错误以及解决方法

第1章 ElasticSearch 安装时一些错误以及解决方法

1.1 JDK版本问题

1.1.1 问题:

[2020-01-16T09:26:22,296][WARN ][o.e.b.ElasticsearchUncaughtExceptionHandler] [node-1] uncaught exception in thread [main]

org.elasticsearch.bootstrap.StartupException: org.elasticsearch.common.inject.CreationException: Guice creation errors:

 

1) An exception was caught and reported. Message: access denied ("java.lang.RuntimePermission" "accessClassInPackage.jdk.internal.vm.annotation")

  at _unknown_

Caused by: java.security.AccessControlException: access denied ("java.lang.RuntimePermission" "accessClassInPackage.jdk.internal.vm.annotation")

    at java.base/java.security.AccessControlContext.checkPermission(AccessControlContext.java:472)

    at java.base/java.security.AccessController.checkPermission(AccessController.java:1036)

    at java.base/java.lang.SecurityManager.checkPermission(SecurityManager.java:408)

    at java.base/java.lang.SecurityManager.checkPackageAccess(SecurityManager.java:1324)

 

1.1.2 解决方法:

JDK版本不对

java -version看了下是jdk13,卸载装jdk11以及以下版本(版本也不能太低)

 

1.2 启动用户问题

问题:

java.lang.RuntimeException:can not run elasticsearch as root

解决方法:

useradd es(加用户)

passwd es(给密码)

chown –R es:es /usr/local/elasticsearch(给权限)

su – es(切换用户)

./usr/local/elasticsearch/bin/elasticsearch &(后台启动)

 

1.3 安装phantomjs出错

问题:

npm install

Phantom installation failed { Error: EACCES: permission denied, link '/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1496325965675/phantomjs-2.1.1-linux-x86_64' -> '/XXX/node_modules/phantomjs-prebuilt/lib/phantom'

at Error (native)

errno: -13,

code: 'EACCES',

syscall: 'link',

path: '/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1496325965675/phantomjs-2.1.1-linux-x86_64',

dest: '/XXX/node_modules/phantomjs-prebuilt/lib/phantom' } Error: EACCES: permission denied, link '/tmp/phantomjs/phantomjs-2.1.1-linux-x86_64.tar.bz2-extract-1496325965675/phantomjs-2.1.1-linux-x86_64' -> '/XXX/node_modules/phantomjs-prebuilt/lib/phantom'

at Error (native)

npm ERR! code ELIFECYCLE

npm ERR! errno 1

npm ERR! phantomjs-prebuilt@2.1.14 install: `node install.js`

npm ERR! Exit status 1

 

解决方法:

rm -rf node_modules(删除前面构建错的目录)

npm install --unsafe-perm(重新构建)

 

1.4 文件描述符内存限制

1.4.1 问题:

[1]: max file descriptors [65535] 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]

[3]: max number of threads [3895] for user [es] is too low, increase to at least [4096]

1.4.2 解决方法:

vi /etc/security/limits.conf

增加(加完重启)

* soft nofile 65536

* hard nofile 131072

 

vim /etc/sysctl.conf

增加(加完执行sysctl -p)

vm.max_map_count=262144

posted @ 2020-01-16 11:18  Frank-hui  阅读(4005)  评论(0编辑  收藏  举报