Elasticsearch版本:6.3.0
CentOS版本6.7
查询CentOS版本代码:cat /etc/centos-release
1.es需要jar版本为1.8以上,查询为1.7
解决:先卸载老jdk,安装需要的jdk
卸载jdk
1.查询老的jdk版本:
java -version
2.查询安装的路径:
which java
3.卸载:rm -rf [jdk地址]
4.查询文件是否存在:cd /usr/java/
5.删除环境变量:
vim /etc/profile
6.把这几个变量注掉就可以了
7.让修改的文件立即生效:
source /etc/profile
安装jdk
1.yum安装查看可安装的版本:
yum -y list java*
2.安装带有devel,不带的安装的jre,我安装的是:java-1.8.0-openjdk-devel.i686
3.安装代码:yum install -y [你要安装的版本]
4.在linux中使用yum安装jdk,会自动安装到/usr/lib/jvm下,并且自动配置环境变量,到这一步就完成 安装了
2.出现了jna无法加载的问题
问题部分代码:
unable to load JNA native support library, native methods will be disabled
解决:虽然不是致命错误,但是运行es就是卡在这过不去,所以需要安装jna类库
1.下载jna在es的lib目录下:
wget https://repo1.maven.org/maven2/net/java/dev/jna/jna/4.4.0/jna-4.4.0.jar
2.又出现了jar hell 问题,jar包冲突,前面检查过es的lib下没有其他jna文件,不知道为什么会出现jar包冲 突
问题代码:
3.问题代码中直接给出了冲突的两个jar包,直接删除不需要的就好了
rm jna-4.5.1.jar
3.问题:unable to install syscall filter
内核过低,Linux版本问题。这个插件我不需要直接禁用就好了
1.修改elasticsearch.yml文件,在最底下插入
bootstrap.system_call_filter: false
4.问题:X-Pack特性不支持
问题部分代码:
uncaught exception in thread [main] org.elasticsearch.bootstrap.StartupException: ElasticsearchException[X-Pack is not supported and Machine Learning is n ot available for [linux-x86]; you can use the other X-Pack features (unsupported) by setting xpack.ml.enabled: false in elasticsearch.yml]
解决:直接在elasticsearch.yml中禁用就好了,在文件最底部插入代码
xpack.ml.enabled: false
5.最大线程数太少
max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
解决:
修改配置,需要切换的到root用户下修改,安装es的用户修改后会提示权限不够,只有读取权限
vim /etc/security/limits.d/90-nproc.conf
1024修改为4096:
* soft nproc 4096
修改配置:
vim /etc/security/limits.conf
添加以下内容:
* soft nofile 65536 * hard nofile 131072 * soft nproc 4096 * hard nproc 4096
6.最带虚拟内存太低
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
修改配置文件:
vim /etc/sysctl.conf
执行参数立即生效:
sysctl -p
以上我所遇到的问题就全部解决了