2核4G腾讯云轻量级服务器部署一个ES实例和一个Kibana实例

前面,我折腾了一下 2核4G腾讯云轻量级服务器,部署两个ES实例和一个Kibana,结果常常出现“卡死无响应”的情况(主要是内存不够用),所以在不增加配置的情况,我还是选择启动一个ES和一个Kibana实例。

启动单机服务就比较简单了:

  1. 下载和解压 elasticsearch
  2. 下载和解压 kibana
  3. 新建用户 elastic
  4. 编辑 elasticsearch.yml
  5. 编辑 jvm.options
  6. 运行 elasticsearch
  7. 编辑 node.options
  8. 运行 kibana

下载 elasticsearch

下载页面地址:https://www.elastic.co/cn/downloads/past-releases#elasticsearch

我选择的是 elasticsearch 8.1.0

下载 kibana

下载页面地址:https://www.elastic.co/cn/downloads/past-releases#kibana

选择与 es 对应的版本 kibana 8.1.0

新建用户 elastic

  1. 先新建用户
  2. 再设置用户密码
[lighthouse@centos ~]$ sudo useradd elastic
[lighthouse@centos ~]$ sudo passwd elastic

解压 elasticsearch和 kibana

  1. 将es压缩包解压到 /home/light/Downloads/elasticsearch-8.1.0 文件夹中

  2. 将解压后的文件夹及其子文件改为用户 elastic 所有,原因是 elasticsearch 不能用 root 用户启动,需要新建一个用户

  3. 将es解压后的文件夹移动到 /opt/elasticsearch-8.1.0

  4. 将kibana压缩包解压到 /home/light/Downloads/kibana-8.1.0 文件夹中

  5. 将kibana解压后的文件夹移动到 /opt/elasticsearch-8.1.0

  6. 不修改 kibana 的用户权限是因为,kibana 可以用 root 用户启动

操作命令如下:

[lighthouse@centos Downloads]$ sudo tar -zxvf elasticsearch-8.1.0-linux-x86_64.tar.gz
[lighthouse@centos Downloads]$ sudo chown -R elastic:elastic elasticsearch-8.1.0
[lighthouse@centos Downloads]$ sudo mv elasticsearch-8.1.0 /opt/elasticsearch-8.1.0
[lighthouse@centos Downloads]$
[lighthouse@centos Downloads]$ tar -zxvf kibana-8.1.0-linux-x86_64.tar.gz
[lighthouse@centos Downloads]$ sudo mv kibana-8.1.0 /opt/kibana-8.1.0

运行 elasticsearch

编辑 elasticsearch.yml

  1. 用 elastic 用户来操作
  2. 备份原来的 elasticsearch.yml 文件
  3. 编辑新的 elasticsearch.yml 文件
[lighthouse@centos ~]$ su elastic
Password:
[elastic@centos lighthouse]$ cd /opt/elasticsearch-8.1.0/config
[elastic@centos config]$ mv elasticsearch.yml elasticsearch.yml.bak
[elastic@centos config]$ vim elasticsearch.yml

elasticsearch.yml 文件内容如下:

cluster.name: single-es
node.name: es0
node.roles: ["master", "data"]
network.host: 10.0.4.10
http.port: 9200
transport.port: 9300
discovery.seed_hosts: ["10.0.4.10:9200"]
cluster.initial_master_nodes: ["es0"]
path:
  data: /var/lib/single-es
  logs: /var/log/single-es
xpack.security.enabled: false
xpack.security.transport.ssl.enabled: false
xpack.security.http.ssl.enabled: false

10.0.4.10 是我的内网IP

创建数据和日志文件夹

类型 路径
数据文件夹 /var/lib/single-es
日志文件夹 /var/log/single-es

使用 lighthouse 用户创建文件夹,因为新建的 elastic 用户不在 sudo 用户列表中,不能执行 sudo 指令。

[elastic@centos elasticsearch-8.1.0]$ exit
[lighthouse@centos ~]$ cd /var/lib
[lighthouse@centos lib]$ sudo mkdir single-es
[lighthouse@centos lib]$ sudo chown -R elastic:elastic single-es/
[lighthouse@centos lib]$ cd /var/log
[lighthouse@centos log]$ sudo mkdir single-es
[lighthouse@centos log]$ sudo chown -R elastic:elastic single-es/

编辑 jvm.options

  1. 刚才从 elastic 用户的 Bash 中退出了,现在重新切到 elastic 用户的 Bash 操作
[lighthouse@centos ~]$ su elastic
Password:
[elastic@centos lighthouse]$ cd /opt/elasticsearch-8.1.0/config
[elastic@centos config]$ vim jvm.options

打开注释并修改以下两个参数:

-Xms512m
-Xmx512m

运行 elasticsearch

  1. 仍然在 elastic 用户的 Bash 中操作
  2. 后台启动 elasticsearch
[elastic@centos config]$ cd ../
[elastic@centos elasticsearch-8.1.0]$ ./bin/elasticsearch -d

查看es进程

使用命令 ps -ef | grep java 查看进程,因为 elasticsearch 是基于 JVM 运行的。

运行 kibana

编辑 kibana.yml

  1. 退出 elastic 用户的 Bash,回到 lighthouse 用户的 Bash 中
  2. 备份 kibana.yml 文件
  3. 编辑新的 kibana.yml 文件
[elastic@centos elasticsearch-8.1.0]$ exit
[lighthouse@centos ~]$ cd /opt/kibana-8.1.0/config
[lighthouse@centos config]$ mv kibana.yml kibana.yml.bak
[lighthouse@centos config]$ vim kibana.yml

kibana.yml 文件内容如下:

server.port: 5601
server.host: "10.0.4.10"
elasticsearch.hosts: ["http://10.0.4.10:9200"]
server.publicBaseUrl: "http://10.0.4.10:5601" 

编辑 node.options

[lighthouse@centos config]$ vim node.options

去掉 --max-old-space-size=4096 所在行的注释符号 #

运行 kibana

[lighthouse@centos config]$ cd ../
[lighthouse@centos kibana]$ sudo nohup ./bin/kibana --allow-root > /dev/null 2>&1 &
  • nohup ... & 表示进程后台启动
  • > /dev/null 表示日志不默认打印到当前文件夹的 nohup.out 文件中,而是丢进一个“黑洞”,即忽略启动日志
  • 2>&1: 1表示标准输出,2表示标准错误输出,2>&1表示将标准错误输出重定向到标准输出,这样,程序或者命令的正常输出和错误输出就可以在标准输出输出。

查看 kibana 进程

使用命令 ps -ef | grep node 查看进程,因为 kibana 是基于 Node.js 运行的。

posted @ 2022-10-15 15:33  极客子羽  阅读(483)  评论(0编辑  收藏  举报