JAVA依赖
- 运行elasticsearch,本地需要安装并配置JDK
- elasticsearch 5 需要java 8 以上版本
- elasticsearch 从6.5 开始支持java 11
- 7.0 开始,内置了java环境
Elasticsearch文件目录结构
- bin : 存放脚本文件,包括启动elasticsearch,安装插件。运行统计数据等。
- config: 配置文件有elasticsearch.yml,放置集群配置文件,user,role based相关配置
- JDK: java运行环境
- lib : java类库
- logs: 配置文件有path.log, 存放日志文件
- modules: 包含了所有的ES模块
- plugins: 包含所有已安装插件
JVM 配置
- config / jvm.options 是对java虚拟机的配置
- 7.1 下载的默认设置是1GB
- 配置建议
- Xmx和Xms设置为一样的
- Xmx不要超过机器内存的50%
- 内存总量不要超过30GB
- https://www.elastic.co/cn/blog/a-heap-of-trouble
安装插件命令
安装插件:[root@study bin]# ./elasticsearch-plugin install analysis-icu
查看安装的插件: localhost:9200/_cat/plugins
查看节点: localhost:9200/_cat/nodes
安装配置
-
ES安装(官网下载tar包,解压)
-
创建elk 用户组,elk用户(elasticsearch不能以root用户启动)
a.[root@study home]# groupadd elk
b.[root@study home]# useradd -g elk elk
c. 修改elasticsearch目录的拥有者
[root@study elasticsearch-7.2.1]# chown -R elk:elk .
-
进入config目录,对es集群进行配置
a.[root@study config]# vi elasticsearch.yml
###主节点基本配置 cluster.name: es_cluster #集群名,通过集群名 在集群中发现 node.name: es_node1 #当前节点名 path.data: /usr/local/data/es/data #存放数据目录 path.logs: /usr/local/data/es/log #存放日志目录 network.host: 192.168.72.131 http.port: 9200 http.cors.enabled: true http.cors.allow-origin: "*" discovery.seed_hosts: ["192.168.72.131", "192.168.72.132","192.168.72.133","192.168.72.134"] cluster.initial_master_nodes: ["192.168.72.131", "192.168.72.132"]
b.
[root@study bin]# vim /etc/security/limits.conf
* soft nofile 65536
* hard nofile 131072
* soft nproc 2048
* hard nproc 4096
[root@study bin]# vi /etc/sysctl.conf
vm.max_map_count=655360
[root@study bin]# sysctl -p
- 将主节点的配置文件拷贝至其他节点,并修改相应IP等配置(略)
- 切换到elk用户,启动es
启动时 报如下错误
- 原因:存储数据和日志的目录所属用户为root,而普通用户elk不能访问,因此将存储数据和日志的所属者改为elk,成功启动
- 测试是否成功启动