说明:
本文命令全部标红
elasticsearch使用版本是7.17.5
ik分词器也是7.17.5
虚拟机配置:2核4g
centos版本:7
1、获取elasticsearch的安装包
下载:wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.17.5-linux-x86_64.tar.gz

解压:tar -zvxf elasticsearch-7.17.5-linux-x86_64.tar.gz
2、修改节点名称和设置任意主机允许访问
进入es安装目录(我安装在了 /usr/local/soft_hzz/elasticsearch/ 目录下了)

执行:
vi elasticsearch.yml
添加如下:
node.name: node-1
discovery.seed_hosts: ["node-1"]
cluster.initial_master_nodes: ["node-1"]
#设置允许访问地址,配置位0.0.0.0允许任意主机访问
network.host: 0.0.0.0
3、修改最大线程数
vi /etc/security/limits.conf
注意 前边的*代表所有用户都是这个配置 ,不能少,如果你只想某个用户是这个配置,那么将其改为对应的用户名即可
* soft nofile 65536
* hard nofile 65536
* soft nproc 4096
* hard nproc 4096
如图:

4、修改Linux句柄数
vi /etc/sysctl.conf
指定最大句柄数
vm.max_map_count=262144

5、虚拟内存配置
查询内存和虚拟内存:free -m

如果swap是0代表没开启虚拟内存,我这里需要使用虚拟内存(如果不使用我的会报错,因为我的机器配置不高)
使用swapon -a 开启虚拟内存
6、重启服务
reboot
7、添加用户以及授权:(注意ES不能以 root 用户启动,否则会报错)
useradd elasticsearch
passwd elasticsearch
- 给elasticsearch账号增加管理员权限:
vi /etc/sudoers
# 给elasticsearch添加 账号权限 :
elasticsearch ALL=(ALL) ALL
- 给ES的安装目录进行授权(注意当前用户是root时才能授权):
chown -R elasticsearch:elasticsearch elasticsearch-7.17.5
8、调整elk的config目录下的jvm大小
(注意是在这个目录下:)

vi jvm.options
我这里调整成下边这样:
根据自己的内存自行调整,内存不够则会启动失败
-Xms4g
-Xmx4g
9、下载安装ik分词器到 : es安装目录/plugins目录下
注意: ik分词器要和elasticsearch的版本一致!
wget https://github.com/medcl/elasticsearch-analysis-ik/releases/download/v7.17.5/elasticsearch-analysis-ik-7.17.5.zip
如图我是搞到了es安装目录/pllugins/ik 目录下(ik是我自己建的文件夹):

解压下载好的zip文件:
unzip elasticsearch-analysis-ik-7.17.5.zip

10、切换到es账号并启动es
su elasticsearch
# 前台启动
sh bin/elasticsearch
# 后台启动
sh bin/elasticsearch -d
我使用前台启动(好观察日志):sh bin/elasticsearch
查看日志:
查看进程号:
进程起来了说明启动成功。
11、访问elasticsearch服务

安装成功,开启快乐的elasticsearch之旅吧!!!
为了方便我们需要搞个访问es的高效访问工具(总不能总是curl吧),他就是Kibana ! elk中的 k就是指 Kibana。
12、下载&解压&配置Kibana
下载:wget https://artifacts.elastic.co/downloads/kibana/kibana-7.17.5-linux-x86_64.tar.gz

解压:tar -zvxf kibana-7.17.5-linux-x86_64.tar.gz
改个名:mv kibana-7.17.5-linux-x86_64 kibana-7.17.5

进入kibana目录修改config下的kibana.yml文件
添加如下配置:
这里给出文本方便复制:
server.port: 5601
server.host: "0.0.0.0"
elasticsearch.hosts: ["http://localhost:9200"]
13、启动Kibana
启动kibana和es一样 也不能使用root用户,所以我们切换到elasticsearch账号:
su elasticsearch
启动kibana: sh bin/kibana
不出意外的话会报错,提示对data/uuid里边的文件没有读写权限,这时就需要我们给当前的elasticsearch账号赋予读写权限:
切换到root账号(su root)在目录:root@localhost /usr/local/soft_hzz 执行:chown -R elasticsearch:elasticsearch kibana-7.17.5,之后切换回elasticsearch账号并尝试再次启动:
当你看到 Kibana is now available时,说明kibana启动成功了。
14、访问使用Kibana
注意这里仅仅简单演示下效果,至于elasticsearch的更多语法操作,我们后边专门写一篇
在浏览器输入:http://172.30.128.65:5601/ 来打开Kibana
首先到Management的DevTools 下:

创建个索引并添加两个文档:
新增id=1的文档记录:
新增id=2的文档记录:
查询某索引下的所有数据:
分词查询(ik_smart:最少切分):
分词查询(ik_max_word:最细粒度划分):

好了,本文就到这里。后边我们就要学习 搜索利器 elasticsearch 的语法啦!
20250811补充:使用systemctl管理es和kibana服务
es:
sudo vim /etc/systemd/system/elasticsearch.service
[Unit]
Description=Elasticsearch
Documentation=https://www.elastic.co
After=network.target
[Service]
Type=simple
User=elasticsearch
Group=elasticsearch
Environment="ES_HOME=/home/hzz/es/elasticsearch-7.17.5"
Environment="ES_PATH_CONF=/home/hzz/es/elasticsearch-7.17.5/config"
# 重要:解决文件描述符不够导致的报错问题
LimitNOFILE=65535
LimitMEMLOCK=infinity
WorkingDirectory=/home/hzz/es/elasticsearch-7.17.5
# 启动命令
ExecStart=/home/hzz/es/elasticsearch-7.17.5/bin/elasticsearch
# 关闭超时设置(防止关闭失败)
TimeoutStopSec=30
# 重启策略
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
kibana:
[Unit]
Description=Kibana
Documentation=https://www.elastic.co
After=network.target elasticsearch.service
Requires=elasticsearch.service
[Service]
Type=simple
User=elasticsearch
Group=elasticsearch
Environment="KIBANA_HOME=/home/hzz/es/kibana-7.17.5"
WorkingDirectory=/home/hzz/es/kibana-7.17.5
# 启动命令
ExecStart=/home/hzz/es/kibana-7.17.5/bin/kibana
# 重启策略
Restart=on-failure
RestartSec=10
[Install]
WantedBy=multi-user.target
sudo systemctl daemon-reload
# 启动 Elasticsearch
sudo systemctl start elasticsearch
# 启动 Kibana
sudo systemctl start kibana
# 设置开机自启
sudo systemctl enable elasticsearch
sudo systemctl enable kibana
# 检查 Elasticsearch 状态
sudo systemctl status elasticsearch
# 检查 Kibana 状态
sudo systemctl status kibana
# 查看日志
journalctl -u elasticsearch -f
journalctl -u kibana -f
20240928 补充:使用yum安装 elasticsearch 和 kibana
【yum 安装 elasticsearch 7.17.5】
通过 yum 安装,比较方便简单,所以这里也记录下,操作如下:
1. 导入 Elasticsearch 的 GPG 密钥
为了确保安装包的安全性,需要先导入 Elasticsearch 的 GPG 公钥。
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2. 添加 Elasticsearch 7.x 仓库
接下来,在系统中添加 Elasticsearch 7.x 版本的仓库。编辑并创建一个新的 elasticsearch.repo 文件:
sudo tee /etc/yum.repos.d/elasticsearch.repo <<EOF
[elasticsearch]
name=Elasticsearch repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
这样,YUM 会通过 Elasticsearch 官方的 7.x 仓库安装指定版本的包。
3. 安装 Elasticsearch 7.17.5
这里我们指定版本: 7.17.5
sudo yum install elasticsearch-7.17.5
4. 修改 Elasticsearch 配置(可选)
安装完成后,Elasticsearch 的默认(yum默认都是/etc/ 目录下)配置文件位于 /etc/elasticsearch/elasticsearch.yml。你可以根据需求修改配置,例如调整节点名称、集群名称、绑定 IP 等。
sudo vi /etc/elasticsearch/elasticsearch.yml
常见配置修改项:
-
设置集群名称:
cluster.name: my-cluster -
设置节点名称:
node.name: node-1 -
绑定地址:
network.host: 0.0.0.0 -
设置模式为单机(暂时) discovery.type: single-node
5. 启动 Elasticsearch
安装并配置完成后,启动 Elasticsearch 服务:
sudo systemctl start elasticsearch
要让 Elasticsearch 在系统启动时自动启动:
sudo systemctl enable elasticsearch
6. 检查 Elasticsearch 运行状态
检查 Elasticsearch 服务是否正常启动:
sudo systemctl status elasticsearch
你可以使用 curl 命令验证 Elasticsearch 是否已经运行:
curl -X GET "localhost:9200/"
之后我们也用yum安装下 kibana 7.17.5 ,步骤如下:
【yum 安装 kibana 7.17.5】
1. 添加 Kibana 的 GPG 密钥
与 Elasticsearch 类似,先导入 Kibana 的 GPG 密钥:
sudo rpm --import https://artifacts.elastic.co/GPG-KEY-elasticsearch
2. 添加 Kibana 仓库
接下来,添加 Kibana 7.x 版本的 YUM 仓库。创建一个新的 kibana.repo 文件:
sudo tee /etc/yum.repos.d/kibana.repo <<EOF
[kibana]
name=Kibana repository for 7.x packages
baseurl=https://artifacts.elastic.co/packages/7.x/yum
gpgcheck=1
gpgkey=https://artifacts.elastic.co/GPG-KEY-elasticsearch
enabled=1
autorefresh=1
type=rpm-md
EOF
3. 安装 Kibana 7.17.5
完成仓库配置后,可以使用以下命令安装 Kibana 7.17.5:
sudo yum install kibana-7.17.5
4. 配置 Kibana
Kibana 的配置文件位于 /etc/kibana/kibana.yml。在生产环境中,通常需要修改以下设置:
-
配置 Elasticsearch 的主机地址:
Kibana 需要连接到 Elasticsearch 实例,可以指定 Elasticsearch 的 URL 地址,这里我们指定 本机即可:
server.host: "0.0.0.0" elasticsearch.hosts: ["http://localhost:9200"]如果 Elasticsearch 和 Kibana 在不同的服务器上运行,需要将
localhost替换为 Elasticsearch 服务器的 IP 地址。 -
配置服务器绑定的 IP:
因为 Kibana 需要对外提供访问,所以让他监听所有的,而不仅仅是本机:
server.host: "0.0.0.0"
5. 启动并启用 Kibana 服务
配置完成后,启动 Kibana 服务并设置为开机自启:
sudo systemctl start kibana
sudo systemctl enable kibana
6. 检查 Kibana 状态
检查 Kibana 是否正常运行:
sudo systemctl status kibana
本地ssh打洞后, 试一下: