ElasticSearch 全文搜索引擎问题锦集(Ubuntu版 v6.6.2)
- 一、 启动时问题锦集
- 1.1 can not run elasticsearch as root 不能使用root账号启动,报错为下:
- 1.2 Exception in thread "main" java.nio.file.AccessDeniedException 启动权限问题,报错如下:
- 1.3 max virtual memory areas vm.maxmapcount [65530] is too low. increase to at least[262144]
- 1.4 [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
一、 启动时问题锦集
1.1 can not run elasticsearch as root 不能使用root账号启动,报错为下:
解决办法:
创建一个新用户,命令行如下:(es文件不能在root下)
#1. 新建用户(可更换用户名)--后续会设置密码不展示了
adduser ubuntu
#2. 给用户该文件权限 xxxx为该ElasticSearch父级文件夹名
chown -R ubuntu xxxx
#3. 切换账号进行启动
su ubuntu
#4. 启动就行了,一般这种情况如果在root根目录下是没有权限的
1.2 Exception in thread “main” java.nio.file.AccessDeniedException 启动权限问题,报错如下:
解决办法:
一般这种属于权限问题,启动该服务的账号对此目录没有权限,使用root给一点权限就好了
#1. 切换root账号、给改账号赋权限
su root
#2. 给用户该文件权限 user为启动es账号, fileName为es父级目录名
chown -R [user] [filename]
#3. 切换账号进行启动,user为启动es账号
su [user]
#4. 启动就行了,一般这种情况如果在root根目录下是没有权限的
1.3 max virtual memory areas vm.maxmapcount [65530] is too low. increase to at least[262144]
解决办法:
elasticsearch用户拥有的内存权限太小,至少需要262144,多给点内存就好了
#1. 切换root账号、给改账号赋权限
su root
#2. 给点内存
sudo sysctl -w vm.max_map_count=262144
#3. 切换账号进行启动,user为启动es账号
su [user]
#4. 启动就行了,一般这种情况如果在root根目录下是没有权限的
1.4 [1]: max file descriptors [65535] for elasticsearch process is too low, increase to at least [65536]
elasticsearch用户拥有的文件读写权限太小,加一点就好了
解决办法 1:(修改配置文件)
#1. 切换root账号、给改账号赋权限
su root
#2. 修改配置文件limits.conf
#2.1 打开该文件
vi /etc/security/limits.conf
#2.2 将后面的修改为65536就好了
*** hard nofile 65536
*** soft nofile 65536
#3. 切换账号进行启动,user为启动es账号
su [user]
#4. 启动就行了,一般这种情况如果在root根目录下是没有权限的
解决办法 2:(命令行方式)
#1. 切换root账号、给改账号赋权限
su root
#2. 查看权限大小
ulimit -Hn
#显示为:65536
#3. 覆盖修改
ulimit -Hn 65536
#2. 再次查看权限大小
ulimit -Hn
#显示为:65536
#3. 切换账号进行启动,user为启动es账号
su [user]
#4. 启动就行了,一般这种情况如果在root根目录下是没有权限的
截屏如下: