一、环境准备
下载es后要先确认es匹配的jdk版本和kibana版本,kibana版本要与es版本保持一致
es版本: elasticsearch-7.10.2
jdk版本: jdk-17.0.9
kibana版本:kibana-7.10.2
注意:es7之后会自带jdk组件,可以不单独安装jdk
二、安装jdk17
1、检查本机linux是否已经安装了jdk,
检查是否安装了jdk:rpm -qa|grep java,若没有输出,则表示未安装
检查安装jdk的版本:rpm -qa|grep jdk,若没有输出,则表示未安装
若本机已经安装了jdk,则卸载,
批量卸载含有java的nodes :rpm -qa | grep java | xargs rpm -e --nodeps
2、使用tar命令解压jdk安装包,先看下解压后的目录是否包含jre,若未包含jre,
则需要手动生成jre
3、手动生成jre,
3.1)进入bin 目录下,执行下面命令生成jre
jlink --module-path jmods --add-modules java.desktop --output jre
3.2)jre目录一般放在与bin平级,执行 mv jre ../jre 命令将jre移到上一级
4、配置环境变量
一般在配置文件 /etc/profile 中 或 当前用户下的配置文件 .bash_profile 中配置
环境变量;
/etc/profile 配置的环境变量是全局的,在所有的用户或目录下都可以使用;
.bash_profile 中的变量只有在当前用户下可以使用,配置方式如下:
export JAVA_HOME=/home/liangbf/java/jdk-17.0.9
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=$PATH:${JAVA_HOME}/bin
环境变量配置成功后,执行命令 source ‘配置文件’ 来刷新环境变量,生效自己
的配置; 如:source profile
注意:有时刷新环境变量可能不上小,还需要重新登录xshell工具
5、查看jdk是否安装成功
命令:java -version
三、安装es
1、下载地址:Download Elasticsearch | Elastic
在下载页面选择自己对应的系统和版本下载,如下图:
2、解压ES安装包
es 安装包各个目录含义:
bin:存放ES的启动、关闭等脚本文件
config:ES配置文件所在目录
jdk:ES自带的jdk目录
lib:ES运行所需要的jar包目录
logs:存储ES运行日志
modules:存放ES已经安装的模块
plugins:存放ES已经安装的插件
3、创建用户,
注意ES不允许在root用户下启动,若你的linux系统存在除root之外的
用户,则这一步可以省略
在root用户下创建新用户,命令如下:
新增 username 用户:
useradd username
为 username 用户设置密码 :
passwd username
删除用户:
userdel -r username
设置用户的群组和所有持有的文件,用户群组一般跟用户名称保持一致
chown -R username :username “ES所在目录”
4、修改配置文件
4.1、若你的linux内存比较小,可以在配置文件 jvm.options 中适当调小es运行
时的内存,ES运行内存默认是1g,配置如下:
-Xms1g
-Xmx1g
4.2、配置文件 elasticsearch.yml 是ES的核心配置,可以根据自己的要求修改
配置文件 elasticsearch.yml,配置文件属性解析
#集群名称,一个集群中每个节点的集群名称必须一致
cluster.name: my-application
#节点名称
node.name: node-3
#表示当前节点是否可以作为master主节点,true-可以作为主节点,false-不可以作为主节点
node.master: false
#标识该节点是否可以作为数据节点,true-是,false-否
node.data: true
#指定es运行数据的目录
path.data: /home/liangbf/es/elasticsearch-7.10.2/data
#是定es运行日志目录
path.logs: /home/liangbf/es/elasticsearch-7.10.2/logs
#Es绑定和监听的ip,一般是当前主机的ip
network.host: 192.168.0.8
#http请求的端口,一般是外部访问
http.port: 9200
#节点间通讯的端口,默认9300
transport.port: 9300
#集群节点列表
discovery.seed_hosts: ["host1", "host2"]
#集群主节点列表,值可以是节点名称、ip或 ip:transport.port
cluster.initial_master_nodes: ["node-1", "node-2"]
#设置集群中n个节点启动时进行数据恢复,默认是1
gateway.recover_after_nodes: 1
#是否锁定内存,true-可以锁定 JVM 堆内存,防止其被交换到硬盘
bootstrap.memory_lock: true
#设置分片个数,默认5
index.number_of_shards: 5
#设置索引副本个数,默认1
index.number_of_replicas: 1
#启用xpack安全功能,并设置SSL加密
#xpack.security.enabled: true
#xpack.security.transport.ssl.enabled: true
注意:集群配置时需要关闭防火墙,因为集群中各个节点在不同的主机,若不关闭
防火墙,节点之间的通信会失败,主节点选举失败,从而导致集群启动失败
5、jdk选择,es运行时选择我们环境的jdk,还是采用ES内置的jdk,这是在es的
bin/elasticsearch-env 中设置的。默认情况下是采用我们本地的jdk;
指定采用es内置jdk配置如下:
将获取本地jdk的代码注释掉,直接采用ES内置的jdk
# now set the path to java
#if [ ! -z "$JAVA_HOME" ]; then
# JAVA="$JAVA_HOME/bin/java"
# JAVA_TYPE="JAVA_HOME"
#else
if [ "$(uname -s)" = "Darwin" ]; then
# macOS has a different structure
JAVA="$ES_HOME/jdk.app/Contents/Home/bin/java"
else
JAVA="$ES_HOME/jdk/bin/java"
fi
JAVA_TYPE="bundled jdk"
#fi
6、系统设置,解决启动报错:
[1]: max file descriptors [4096] for elasticsearch process is too low, increase to at least [65535]
[2]: max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
6.1)修改 /etc/security/limits.conf文件,在文件最底下添加下边2行配置,
设置每个进程可以打开的最大文件数,否则启动会报错:
liangbf soft nofile 65536
liangbf hard nofile 65536
liangbf是启动ES的用户名
注意:改配置退出重新登录才生效
6.2)修改 /etc/security/limits.d/20-nproc.conf 文件,在文件结尾加上下面内容,
来设置 每个进程可以打开的文件数的限制,如下:
liangbf soft nofile 65536
liangbf hard nofile 65536
注意:改配置退出重新登录才生效
6.3)修改文件 /etc/sysctl.conf,在文件最底下添加下面的内容来设置一个进
程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536,如下:
vm.max_map_count=655360
上边设置完成后,执行命令:sysctl -p 来重新加载配置
7、启动ES
执行bin/elasticsearch 命令来启动 es,若控制台不报错,且在linux 中
执行下面请求访问ES有结果返回,则表示ES安装成功,如下所示:
四、安装kibana
1、下载地址:https://www.elastic.co/cn/downloads/kibana,kibana版本最好
跟ES版本保持一致,否则可能出现兼容问题
2、安装kibana,kibana安装很简单只需要修改配置文件kibana.yml 就行了;
在 kibana.yml文件中修改下面2项配置:
server.host: "0.0.0.0" kibana绑定的ip,这里表示所有的ip都可以访问kibana
指向ES地址,可以指向多个ES地址,中间用逗号“,”隔开
elasticsearch.hosts: ["http://localhost:9200"]
3、配置修改后,执行bin/kibana 命令来启动kibana服务,kibana默认端口5601
启动成功后在浏览器中访问kibana地址:http://192.168.0.8:5601