前面,我折腾了一下 2核4G腾讯云轻量级服务器,部署两个ES实例和一个Kibana,结果常常出现“卡死无响应”的情况(主要是内存不够用),所以在不增加配置的情况,我还是选择启动一个ES和一个Kibana实例。
启动单机服务就比较简单了:
- 下载和解压 elasticsearch
- 下载和解压 kibana
- 新建用户 elastic
- 编辑 elasticsearch.yml
- 编辑 jvm.options
- 运行 elasticsearch
- 编辑 node.options
- 运行 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
- 先新建用户
- 再设置用户密码
[lighthouse@centos ~]$ sudo useradd elastic
[lighthouse@centos ~]$ sudo passwd elastic
解压 elasticsearch和 kibana
-
将es压缩包解压到 /home/light/Downloads/elasticsearch-8.1.0 文件夹中
-
将解压后的文件夹及其子文件改为用户 elastic 所有,原因是 elasticsearch 不能用 root 用户启动,需要新建一个用户
-
将es解压后的文件夹移动到 /opt/elasticsearch-8.1.0
-
将kibana压缩包解压到 /home/light/Downloads/kibana-8.1.0 文件夹中
-
将kibana解压后的文件夹移动到 /opt/elasticsearch-8.1.0
-
不修改 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
- 用 elastic 用户来操作
- 备份原来的 elasticsearch.yml 文件
- 编辑新的 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
- 刚才从 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
- 仍然在 elastic 用户的 Bash 中操作
- 后台启动 elasticsearch
[elastic@centos config]$ cd ../
[elastic@centos elasticsearch-8.1.0]$ ./bin/elasticsearch -d
查看es进程
使用命令 ps -ef | grep java
查看进程,因为 elasticsearch 是基于 JVM 运行的。
运行 kibana
编辑 kibana.yml
- 退出 elastic 用户的 Bash,回到 lighthouse 用户的 Bash 中
- 备份 kibana.yml 文件
- 编辑新的 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 运行的。