Centos7安装Elasticsearch和Kibana 记录(无坑版)

1,097 阅读6分钟

说明:

本文命令全部标红

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

image.png

解压:tar -zvxf elasticsearch-7.17.5-linux-x86_64.tar.gz

2、修改节点名称和设置任意主机允许访问

进入es安装目录(我安装在了 /usr/local/soft_hzz/elasticsearch/ 目录下了) image.png

执行: 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

如图: image.png

4、修改Linux句柄数

vi /etc/sysctl.conf

指定最大句柄数 vm.max_map_count=262144 image.png

5、虚拟内存配置

查询内存和虚拟内存:free -m image.png

如果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大小

(注意是在这个目录下:) image.png

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是我自己建的文件夹): image.png

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

10、切换到es账号并启动es

su elasticsearch

# 前台启动
sh bin/elasticsearch

# 后台启动
sh bin/elasticsearch -d

我使用前台启动(好观察日志):sh bin/elasticsearch

查看日志: image.png 查看进程号: image.png 进程起来了说明启动成功。

11、访问elasticsearch服务

image.png

安装成功,开启快乐的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 image.png

解压:tar -zvxf kibana-7.17.5-linux-x86_64.tar.gz

改个名:mv kibana-7.17.5-linux-x86_64 kibana-7.17.5 image.png

进入kibana目录修改config下的kibana.yml文件 image.png 添加如下配置: image.png 这里给出文本方便复制:

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账号并尝试再次启动: image.png image.png 当你看到 Kibana is now available时,说明kibana启动成功了。

14、访问使用Kibana

注意这里仅仅简单演示下效果,至于elasticsearch的更多语法操作,我们后边专门写一篇

在浏览器输入:http://172.30.128.65:5601/ 来打开Kibana

首先到Management的DevTools 下: image.png

创建个索引并添加两个文档:

新增id=1的文档记录: image.png 新增id=2的文档记录: image.png 查询某索引下的所有数据: image.png 分词查询(ik_smart:最少切分): image.png 分词查询(ik_max_word:最细粒度划分): image.png

好了,本文就到这里。后边我们就要学习 搜索利器 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

image.png

本地ssh打洞后, 试一下: image.png