0. 引言

上一期介绍了mac pro M1(ARM)安装:VMWare Fusion及linux(centos7/ubantu),这一期我们来看如何在m1上如何安装elasticsearch,kibana

1. 基于centos安装es,kibana

m1上如何安装centos虚拟机可以参考上述博客

1.1 下载

这里基于7.13.0版本演示,如果需要下载其他版本的可以自行切换下载。注意下载LINUX AARCH64版本

kibana下载地址:kibana官方下载地址

es下载地址:es官方下载地址

logstash下载地址:logstash官方下载地址

文件列表

elasticsearch-7.13.0-linux-aarch64.tar.gz
kibana-7.13.0-linux-aarch64.tar.gz
logstash-7.13.0-linux-aarch64.tar.gz

1.2 安装es

1、上传文件到服务器,这里选择scp形式上传

因为es,kibana较常用,所以这里我创建了两个虚拟机,将es,kibana装到了一个虚拟机上,logstash单独装到了另一台虚拟机上。这里仅示例安装es单节点了,如需安装集群,修改对应配置即可

scp elasticsearch-7.13.0-linux-aarch64.tar.gz root@192.168.244.11:/var/local 

2、解压

cd /var/local
tar -zxvf elasticsearch-7.13.0-linux-aarch64.tar.gz

3、修改配置文件

cd elasticsearch7.13.0
vim config/elasticsearch.yml

配置文件内容

提示:
在vim中如果想将文件内容全部清空的话,先按esc,然后输入两次g,定位到第一行,然后输入d,G即可
删除一行,输入两次d即可

cluster.name: cluster1
# 初始主节点
cluster.initial_master_nodes: ["node-1"]
# 节点名
node.name: node-1
# 是否可选为主节点
node.roles: [master,data,remote_cluster_client]
# data文件夹,提前创建好
path.data: /var/local/elasticsearch_data
# # 日志文件夹,提前创建好
path.logs: /var/local/elasticsearch_logs
# 对方暴露的ip地址
network.host: 192.168.244.11
# 允许跨域访问,head访问时需要开启
http.cors.enabled: true
http.cors.allow-origin: "*"

4、不建议将data,log文件夹放到es安装目录下,否则升级es版本时就会丢失数据,所以我们需要创建data,log文件夹

mkdir /var/local/elasticsearch_log
mkdir /var/local/elasticsearch_data

5、将es文件权限赋值给elastic账户
因为es不能以root账户启动,所以我们需要单独将es文件权限赋给另一个账号,如果没有账号的先创建一个账号,我这里以elastic账号为例

chown -R elastic:elastic /var/local/elasticsearch_data
chown -R elastic:elastic /var/local/elasticsearch_logs
chown -R elastic:elastic /var/local/elasticsearch-7.13.0

6、开启9200,9300端口

# 查看指定端口是否已经开放
firewall-cmd --query-port=9200/tcp
firewall-cmd --query-port=9300/tcp
# 开放指定端口
firewall-cmd --add-port=9200/tcp --permanent
firewall-cmd --add-port=9300/tcp --permanent
# 重新载入添加的端口
firewall-cmd --reload 

7、切换elastic账号,并且启动es

su elastic
./bin/elasticsearch

8、如果启动报错vm.max_map_count too low,是因为内存过小的原因。

max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]

如果是生产环境就要调大内存,但是因为这里是测试环境,因此我将es内存要求调低
(1)增加最大用户打开文件数

#  root执行指令
vim /etc/security/limits.conf

# 文件最后添加
# * 表示所有用户, 
* soft nproc 65536
* hard nproc 65536
* soft nofile 65536
* hard nofile 65536
root soft nproc 65536
root hard nproc 65536
root soft nofile 65536
root hard nofile 65536

# 保存后重启(先将第二步执行后一起重启)
reboot
# 查看当前值
ulimit -Hn

(2)增加vm.max_map_count

vim /etc/sysctl.conf
# 最后添加
vm.max_map_count=655360

# 查看
sysctl -p

9、重新启动es,测试
mac上访问:192.168.244.11:9200
在这里插入图片描述

1.3 安装kibana

1、上传文件到服务器,这里选择scp形式上传

scp kibana-7.13.0-linux-aarch64.tar.gz root@192.168.244.11:/var/local 

2、解压

cd /var/local
tar -zxvf kibana-7.13.0-linux-aarch64.tar.gz

3、修改配置文件

cd kibana-7.13.0-linux-aarch64/
vim config/kiban.yml

修改内容

server.port: 5601
server.name: kibana
server.host: "0"
elasticsearch.hosts: [ "http://192.168.244.11:9200"]
xpack.monitoring.ui.container.elasticsearch.enabled: true

4、将kibana文件赋权给elastic账号

chown -R elastic:elastic /var/local/kibana-7.13.0-linux-aarch64

5、开放5601端口

firewall-cmd --add-port=5601/tcp --permanent
# 重新载入添加的端口
firewall-cmd --reload 

6、以elastic账号启动kibana

su elastic
./bin/kibana

7、测试,访问192.168.244.11:5601

1.3.1 常见报错

Error: /lib64/libstdc++.so.6: version `GLIBCXX_3.4.20’ not found (required by /var/local/kibana-7.13.0-linux-aarch64/node_modules/re2/build/Release/re2.node)

1、执行以下命令,查找编译gcc时生成的最新动态库

find / -name "libstdc++.so*"

输出路径如下:

/var/local/elasticsearch-7.13.0/modules/x-pack-ml/platform/linux-aarch64/lib/libstdc++.so.6
/usr/lib64/libstdc++.so.6
/usr/lib64/libstdc++.so.6.0.19 // 最新动态库
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.py
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyc
/usr/share/gdb/auto-load/usr/lib64/libstdc++.so.6.0.19-gdb.pyo 

2、因为上述es启动是没有报错的,所以推测es的动态库是完整的,因此将es的动态库覆盖到/usr/lib64目录下(提前做好备份)

cp /var/local/elasticsearch-7.13.0/modules/x-pack-ml/platform/linux-aarch64/lib/libstdc++.so.6 /usr/lib64

3、检查动态库

strings /usr/lib64/libstdc++.so.6 | grep GLIBC

4、重新启动kibana,正常
在这里插入图片描述

1.4 安装logstash

1、上传文件到服务器,这里选择scp形式上传

scp logstash-7.13.0-linux-aarch64.tar.gz root@192.168.244.12:/var/local 

安装步骤之前已经讲述过,这里不再累述,参考ELK实现分布式微服务日志监控

2. 基于docker安装

2.1 docker安装es

获取镜像,最低只有7.14.0的docker镜像适配了m1 
docker pull elasticsearch:7.14.0 
安装
docker run --name elasticsearch -p 9200:9200 -p 9300:9300 \
 -e "discovery.type=single-node" \
 -e ES_JAVA_OPTS="-Xms64m -Xmx512m" \
 -v /Library/software/dockerdata/elasticsearch/config/elasticsearch.yml:/usr/share/elasticsearch/config/elasticsearch.yml \
 -v /Library/software/dockerdata/elasticsearch/data:/usr/share/elasticsearch/data \
 -v /Library/software/dockerdata/elasticsearch/logs:/usr/share/elasticsearch/logs \
 -d elasticsearch:7.14.0

配置文件,或者可以不映射配置文件,适用系统默认的

cluster.name: cluster_local
#cluster.initial_master_nodes: ["node1"]
node.name: node1
node.roles: [master,data] 
network.host: 0.0.0.0
discovery.seed_hosts: ["127.0.0.1"]

2.2 docker安装kibana

获取镜像,7.14.0后适配了M1
docker pull kibana:7.14.0
安装 192.168.101.123为宿主机IP
docker run --name kibana -e ELASTICSEARCH_HOSTS=http://192.168.101.123:9200 -p 5601:5601 \
-d kibana:7.14.0

3. 相关推荐

1、ELK实现分布式微服务日志监控
2、开发插件、工具、软件推荐(提高生产力)

4. 下期预告

1、mac pro M1(ARM)安装:jdk(三)

QQ + 微信

原文地址:https://wu55555.blog.csdn.net/article/details/122518707