这是我参与11月更文挑战的第4天,活动详情查看:2021最后一次更文挑战
下载ES安装包
ElasticSearch下载地址:点我
我这里是下载的linux已经编译好的包,直接配置启动就行了,因为它自带了JDK等环境。
如果你想要使用你自己配置好的 Java 版本,需要设置 JAVA_HOME
环境变量 —— 参考
下载好之后,我们进行tar
包解压
1 | bash复制代码# 创建es文件夹 |
解压后的目录组成:
1 | shell复制代码. |
准备工作
不能使用 root 用户启动 es,否则会报错:
Caused by: java.lang.RuntimeException: can not run elasticsearch as root
我们需要新建一个操作es的用户:
1 | bash复制代码# 创建用户 |
为了让我们的es用户能更好的操作es应用,我们修改es的文件所有者
1 | bash复制代码# 递归修改es文件所有者 |
ElasticSearch相关配置
单节点
1 | yml复制代码vim config/elasticsearch.yml |
集群
192.168.200.130
1 | yml复制代码vim config/elasticsearch.yml |
192.168.200.131
1 | yml复制代码vim config/elasticsearch.yml |
192.168.200.132
1 | yml复制代码vim config/elasticsearch.yml |
这里的配置基本上和单机启动一样,只不过在discovery.seed_hosts中指定了节点列表。然后将每个节点启动即可,然后分别访问各服务的9200端口,查看服务是否正常启动。
同时,也可以访问任意节点的http://host:9200/_cluster/health查看集群状态:green表示正常,yellow表示警告,red表示异常
注:并不是每个节点都需要配置cluster.initial_master_nodes
JVM 配置
JVM 参数设置可以通过 jvm.options
文件(推荐方式)或者 ES_JAVA_OPTS
环境变量来修改。
jvm.options
位于
$ES_HOME/config/jvm.options
当通过tar
orzip
包安装/etc/elasticsearch/jvm.options
当通过 Debian or RPM packages
官网也介绍了如何设置堆大小。
默认情况,ES 告诉 JVM 使用一个最小和最大都为 1GB 的堆。但是到了生产环境,这个配置就比较重要了,确保 ES 有足够堆空间可用。
ES 使用 Xms(minimum heap size)
和 Xmx(maxmimum heap size)
设置堆大小。你应该将这两个值设为同样的大小。
Xms
和 Xmx
不能大于你物理机内存的 50%。
设置的示例:
1 | shell复制代码-Xms2g |
测试
1 | bash复制代码#启动es |
ES-FAQ
Q1:[1]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
1 | shell复制代码echo "vm.max_map_count=262144" > /etc/sysctl.conf |
Q2:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
1 | shell复制代码sudo vim /etc/security/limits.conf |
修改了limits.conf,不需要重启,重新登录即生效。
查看当前用户的软限制
命令:ulimit -n 等价于 ulimit -S -n
查看当前用户的硬限制
命令:ulimit -H -n
Q3:master_not_discovered_exception
主节点指定的名字要保证存在,别指定了不存在的节点名
其他配置
我们使用浏览器连接es可能无法连接上,这时候看一看是不是防火墙端口是否放行
1 | bash复制代码# 查看防火墙状态 |
ik分词器
ElasticSearch应用时,我们常常会使用到中文,这样ElasticSearch原来的分词器就不够用了,需要安装一个中文分词器,用的多的就是IK分词器,下载地址(下载.zip包):github.com/medcl/elast…
下载好之后,在ElasticSearch主目录下的plugins目录新建一个目录,然后将下载好的ik分词器压缩包放进去,再使用unzip解压:
1 | bash复制代码# 在ElasticSearch主目录下的plugins目录新建一个目录:analysis-ik |
做完之后重启ElasticSearch就可以了
Kibana安装
Kibana下载地址:www.elastic.co/downloads/p…
同样的,下载编译好的包(7.15.1)
然后解压,然后修改config/kibana.yml,添加ElasticSearch的节点配置
1 | yml复制代码# 服务端口,默认5601 |
然后就可以启动了:
1 | bash复制代码#修改文件所有者 |
防火墙放行端口
1 | bash复制代码#开放端口 |
不过我们开发常用的就是它的Dev-Tools了,用来发送Restfull的请求来访问操作ElasticSearch:
进入dev-tools后就可以自行操作了:
本文转载自: 掘金