ElasticSearch安装
Windows上安装ES
下载软件
安装软件
Windows 版的 Elasticsearch 的安装很简单,解压即安装完毕,这里我下载的目前最新版8.3.3,解压后的 Elasticsearch 的目录结构如下
目录 | 含义 |
---|---|
bin | 可执行脚本 |
config | 配置目录 |
jdk | 内置JDK目录 |
lib | 类库 |
logs | 日志目录 |
modules | 模块目录 |
plugins | 插件目录 |
解压后,我们先来修改一些配置:
- 1、配置启动内存,修改配置文件
conf/jvm.options
################################################################
## IMPORTANT: JVM heap size
################################################################
## 配置启动内存,默认是4G
-Xms1g
-Xmx1g
################################################################
- 2、暂时禁止掉再次启动时更新地图的一些数据库操作,修改
conf/elasticsearch.yml
配置
# 添加配置:暂时禁止掉再次启动时更新地图的一些数据库操作
ingest.geoip.downloader.enabled: false
- 3、测试时可以暂时关闭用户密码和SSL,将下图中的
true
全部改为false
:
- 4、进入
bin
文件目录,点击elasticsearch.bat
文件启动服务 启动完成后,打开浏览器,输入:http://localhost:9200/
重置密码
- 如果安装步骤中第三步,你没有修改
elasticsearch.yml
配置为false
,那么你第一次启动ES服务的时候,控制台会首先出现一些用户名及密码,切记要先保存下来! 启动完成后,访问:https://127.0.0.1:9200/,输入用户名及密码,用户名为elastic
,密码就是第一次启动时控制台显示的密码 - 如果你第一次启动控制台,忘记保存密码了,那么也别担心,进入es安装目录的bin文件中执行一下命令会返回最新的密码
G:\java\ElasticSearch\elasticsearch-8.3.3\bin>elasticsearch-reset-password -u elastic
warning: ignoring JAVA_HOME=G:\java\java8\jdk; using bundled JDK
This tool will reset the password of the [elastic] user to an autogenerated value.
The password will be printed in the console.
Please confirm that you would like to continue [y/N]y
Password for the [elastic] user successfully reset.
New value: -PPR2=1zsthCZ0gCYz3I
Linux安装ES
准备工作
首先Linux上需要先安装了
jdk 1.8
以上版本在 Linux 里,进入
/usr/local/
目录,创建一个目录elastic-stack
将下载好的文件上传到新建目录下
安装
- 解压ES文件
cd elastic-stack
tar -zxvf elasticsearch-8.3.3-linux-x86_64.tar.gz
mv elasticsearch-8.3.3 es
- 解压完成后,先不要运行,因为不可使用root用户直接启动elasticsearch,我们需要添加用户,并赋予对
es
目录的权限
useradd es
# 设置的密码
passwd es
# 赋予新用户权限
chown -R es /usr/local/elastic-stack/es
- 修改
conf/elasticsearch.yml
# ----------------------------------- Paths ------------------------------------
#
# Path to directory where to store the data (separate multiple locations by comma):
#
path.data: /data/es
#
# Path to log files:
#
path.logs: /var/log/es
#
# 集群名
cluster.name: elasticsearch
# 节点名
node.name: node-1
# 允许外界访问的 ip
network.host: 0.0.0.0
# http 访问端口
http.port: 9200
# 集群节点的 master
cluster.initial_master_nodes: ["node-1"]
- 修改
/etc/security/limits.conf
,在文件末尾添加
修改系统中允许应用最多创建多少文件等的限制权限。Linux 默认来说,一般限制应用最多创建的文件是 65535 个。但是 ES 至少需要 65536 的文件创建权限。
# 每个进程可以打开的文件数的限制
es soft nofile 65536
es hard nofile 65536
# 操作系统级别对每个用户创建的进程数的限制
* hard nproc 4096
# 注:* 带表 Linux 所有用户名称
- 修改
/etc/sysctl.conf
,在文件末尾中增加下面内容:
# 一个进程可以拥有的 VMA (虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
- 配置修改完成后,重新加载
sysctl -p
切换用户并启动
# 切换用户
su es
# 进入安装目录
cd /usr/local/elastic-stack/es
# -d 代表后台启动
./bin/elasticsearch -d
Windows上安装Kibana
Kibana 是一个免费且开放的用户界面,能够让你对 Elasticsearch 数据进行可视化,并 让你在 Elastic Stack 中进行导航。你可以进行各种操作,从跟踪查询负载,到理解请求如 何流经你的整个应用,都能轻松完成。
下载时尽量下载与 ElasicSearch 一致的版本。
Windows版本
下载后进行解压,目录如图:
启动kibana
- 启动
Kibana
之前要启动Elasticsearch
- 进入
bin
目录,双击kibana.bat
启动服务
- 启动成功后,复制控制台的地址进行访问:http://localhost:5601/?code=905726
- 8.x版本访问时,需要先生成一个
token
,我们在ES
的bin
目录下执行以下命令生成token
G:\java\ElasticSearch\elasticsearch-8.3.3\bin>elasticsearch-create-enrollment-token.bat --scope kibana
warning: ignoring JAVA_HOME=G:\java\java8\jdk; using bundled JDK
eyJ2ZXIiOiI4LjMuMyIsImFkciI6WyIxNzIuMjAuMTAuNDo5MjAwIl0sImZnciI6ImUzOWZlYzRmM2MyMDg2ZTEyOGIxOTU3OTAyOTVlZTc5OTlkZmI1MDlmMzM5NjNiZWE2Y2Q1ZTRjMWVhOTdlNmMiLCJrZXkiOiJfbHdsYklJQkpWZm9XX1lLNlY5NTo2czNnMFJZYVRfYXNCX19BZVZ6MDVnIn0=
- 将
token
复制到kibana
登录页中
- 登录
ES
的elastic
用户
修改界面语言
访问界面是英文,可修改成中文,进入根目录下的 config
目录,打开 kibana.yml
文件,在最末尾处加入以下配置,添加完成后,重新启动即可
# 默认端口
# server.port: 5601
# ES 服务器的地址,经过上一步的操作,这些会自动生成,所以不需要改动
# elasticsearch.hosts: ["https://127.0.0.1:9200"]
# 索引名:可改可不改
# kibana.index: ".kibana"
# 支持中文
i18n.locale: "zh-CN"
Linux上安装Kibana
通过文件安装
同样将压缩包上传到Linux指定目录下
通过wget
wget https://artifacts.elastic.co/downloads/kibana/kibana-8.3.3-linux-x86_64.tar.gz
tar -xvf kibana-8.0.0-linux-x86_64.tar.gz
mv kibana-8.3.3 kibana
cd kibana
# 赋予es用户对kibana目录的权限
chown -R es /usr/local/kibana
# 切换至es用户
su es
#启动
./bin/kibana
修改配置
修改 kibana.yml
配置,允许远程访问
server.host: "0.0.0.0"