ElasticSearch 学习1:linux 安装 ElasticSearch7.6.1

1.进入elastic官网下载elasticsearch 点击打开链接,,选择tar,右键复制链接

2.进入命令行输入: wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.6.1.tar.gz 下载到当前目录

3.输入命令:tar -vxf elasticsearch-7.6.1.tar.gz 解压,此时会生成 elasticsearch-7.6.1 文件

4.在 bin目录下./elasticsearch  或者./elasticsearch -d

这四个步骤弄完就已经理论上已经安装好 ElasticSearch,但是:ElasticSearch为了安全和兼容埋了很多坑,不明白别的软件都是傻瓜安装,你这还得配置这,配置那的

1.不能用root用户登录

报错:asticsearch.bootstrap.StartupException: java.lang.RuntimeException: can not run elasticsearch as root

新加一个用户:useradd elastic

并把elasticsearch的所有权限给elastic :chown elastic elasticsearch-7.6.1 -R

2.jdk版本兼容问题

报错:Exception in thread "main" java.lang.RuntimeException: Java version: Oracle Corporation 1.7.0_45 [OpenJDK 64-Bit Server VM 24.45-b08] suffers from critical bug https://bugs.openjdk.java.net/browse/JDK-8024830 which can cause data corruption.

elasticsearch是基于java开发出的项目所以要用jdk,不同版本的es是用不同版本的jdk

用自己的jdk一般是不行的,es7.6用的是jdk12,实际生产环境没几个人会用吧,别慌着下jdk12,因为这个安装包里自带有jdk12,只是他没用,用的是你的环境变量的jdk.

修改环境变量

cd bin

vim elasticsearch-env

#在文档的最上面加入,引用自己的变量得了,您有干嘛还用环境变量中的
export JAVA_HOME=/usr/local/elasticsearch-7.16.1/jdk
export PATH=$JAVA_HOME/bin:$PATH

3.centos6.x版本兼容问题(7.x以上版本不用看此问题)

报错:system call filters failed to install; check the logs and fix your configuration or disable system call filters at your own risk

cd ../config
vim elasticsearch.yml
#elasticsearch.yml中加入下面两行:是因为centos6.x操作系统不支持SecComp,而elasticsearch 5.5.2默认bootstrap.system_call_filter为true进行检测,所以导致检测失败,失败后直接导致ES不能启动。

bootstrap.system_call_filter: false
bootstrap.memory_lock: false

4.远程连接问题

同样在elasticsearch.yml中,加入下面两行配置

# 开启跨域
http.cors.enabled: true
# # 允许所有
http.cors.allow-origin: "*"

5.缺少集群配置问题

启动报错:the default discovery settings are unsuitable for production use; at least...

同样在elasticsearch.yml中

#添加配置 至少一个节点
discovery.seed_hosts: ["127.0.0.1"]
cluster.initial_master_nodes: ["node-1"]

6.文件权限与内存大小问题

启动报错:[2] bootstrap checks failed. You must address the points described in th

elasticsearch用户拥有的可创建文件描述的权限太低,至少需要65536,               

 处理办法:   #切换到root用户修改

vim /etc/security/limits.conf   # 在最后面追加下面内容

* soft nofile 65536
* hard nofile 65536

 max_map_count文件包含限制一个进程可以拥有的VMA(虚拟内存区域)的数量 

处理办法:    #切换到root用户修改

 vim /etc/sysctl.conf    # 在最后面追加下面内容

 vm.max_map_count=655360

 执行  sysctl -p

ElasticSearch 学习1:linux 安装 ElasticSearch7.6.1

 最后在 bin目录下./elasticsearch  或者./elasticsearch -d

启动成功,撒花,完结

ElasticSearch 学习1:linux 安装 ElasticSearch7.6.1

ElasticSearch 学习1:linux 安装 ElasticSearch7.6.1

上一篇:tina 编译选项


下一篇:Elasticsearch Index Shard Allocation索引分片分配