ELK 日志收集平台搭建,2024年最新10天拿到阿里大数据开发岗offer

4、测试命令

[root@cansee-1 ~]# java -version
java version “1.8.0_91”
Java™ SE Runtime Environment (build 1.8.0_91-b14)
Java HotSpot™ 64-Bit Server VM (build 25.91-b14, mixed mode)

二、所有节点安装 ES

1、解压 es 软件包

[root@cansee-1 ~]# tar -zxvf elasticsearch-7.8.0-linux-x86_64.tar.gz
[root@cansee-1 ~]# mv elasticsearch-7.8.0 /usr/local/es-cluster

2、创建用户

因为安全问题:Elasticsearch 不允许 root 用户直接运行,所以要创建新用户

[root@cansee-1 ~]# useradd es

设不设置密码无所谓(别设置密码)

[root@cansee-1 ~]# passwd es

3、修改属主属组

[root@cansee-1 ~]# chown -R es:es /usr/local/es-cluster

4、修改配置文件

[root@cansee-1 ~]# vim /usr/local/es-cluster/config/elasticsearch.yml
#集群名称(每个节点要一致)
cluster.name: cluster-es
#节点名称, 每个节点的名称不能重复(需要改)
node.name: es-1
#ip 地址, 每个节点的地址不能重复(当前节点的IP地址),也可以设置为 0.0.0.0(需要改)
network.host: 192.168.100.101
#是不是有资格主节点
node.master: true
#是否为数据节点
node.data: true

当前节点监听端口(9200 用于ES提供HTTP服务)

http.port: 9200

head 插件需要这打开这两个配置

http.cors.allow-origin: “*”
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化主节点配置,(指定一个初始化master节点,尽量写一个!!!)
cluster.initial_master_nodes: [“es-1”]
#es7.x 之后新增的配置,节点发现, ES 集群节点列表(9300端口用于ES集群之间传输信息)
discovery.seed_hosts: [“192.168.100.101:9300”,“192.168.100.102:9300”,“192.168.100.103:9300”]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

5、修改文件和进程数最大数

[root@cansee-1 ~]# vim /etc/security/limits.conf

格式:用户名 限制类型 资源类型 限制的值

es soft nofile 65535
es hard nofile 65535
es soft nproc 65535
es hard nproc 65535

[root@cansee-1 ~]# vim /etc/security/limits.d/20-nproc.conf
es soft nofile 65535
es hard nofile 65535
es soft nproc 65535
es hard nproc 65535

6、修改 sysctl.conf 文件

[root@cansee-1 ~]# vim /etc/sysctl.conf

一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536

vm.max_map_count=655360
[root@cansee-1 ~]# sysctl -p
vm.max_map_count = 655360

三、启动 ES

分别在不同节点上启动 ES 软件

切换为 es 用户启动

[root@cansee-1 ~]# su - es

-d:后台启动 es

[es@cansee-1 ~]$ /usr/local/es-cluster/bin/elasticsearch -d

查看 es 是否启动成功

[es@cansee-3 ~]$ ps aux | grep es

四、测试集群

以下可以看到有三个节点,node-1、node-2、node-3,其中 node-1 为master节点

[es@cansee-3 ~]$ curl http://192.168.100.101:9200/_cat/nodes
192.168.100.102 10 74 7 0.05 0.13 0.10 dilmrt - node-2
192.168.100.103 8 73 7 0.19 0.26 0.17 dilmrt - node-3
192.168.100.101 9 74 7 0.09 0.14 0.10 dilmrt * node-1

三、elasticsearch 集群 Xpack 认证

注意此处使用的是 es 用户

1、生成证书

[es@cansee-1 ~]$ /usr/local/es-cluster/bin/elasticsearch-certutil cert -out /usr/local/es-cluster/config/elastic-certificates.p12 -pass “”
[es@cansee-1 ~]$ echo $?
0

  • elasticsearch-certutil:通过此命令生成签名文件
  • cert:命令参数,表示生成证书
  • -out /usr/local/es-cluster/config/elastic-certificates.p12:指定生成的证书文件的路径和文件名
  • -pass "":指定证书文件的密码,这里是空密码

2、修改自签名证书权限

[es@cansee-1 ~]$ chmod 660 /usr/local/es-cluster/config/elastic-certificates.p12

3、拷贝 自签名证书 到 所有ES集群节点

这里因为 es 用户没有配置密码,只能用 root 用户进行传送文件,一会我们还需要把这些证书的属主属组改成 es 用户

[es@cansee-1 ~]$ scp -r /usr/local/es-cluster/config/elastic-certificates.p12 root@es-2:/usr/local/es-cluster/config/
[es@cansee-1 ~]$ scp -r /usr/local/es-cluster/config/elastic-certificates.p12 root@es-3:/usr/local/es-cluster/config/

4、切换为 root 用户,修改 es 属主属组

[root@cansee-1 ~]# chown -R es:es /usr/local/es-cluster/

5、切换为 es 用户,配置 Elasticsearch 集群中每个节点开启 Xpack 安全认证

注意!!!ES集群中每个节点都需要做!!!

[root@cansee-1 ~]# su - es
[es@cansee-1 ~]$ vim /usr/local/es-cluster/config/elasticsearch.yml
xpack.security.enabled: true
xpack.security.transport.ssl.enabled: true
xpack.security.transport.ssl.verification_mode: certificate
xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
xpack.security.transport.ssl.truststore.path: elastic-certificates.p12

  • xpack.security.enabled: true:启用 Elasticsearch 的安全认证功能
  • xpack.security.transport.ssl.enabled: true:启用Elasticsearch的传输层安全性(TLS/SSL)功能。
  • xpack.security.transport.ssl.verification_mode: certificate
  • 指定TLS/SSL连接的验证模式为证书验证模式。这意味着Elasticsearch将验证客户端和服务器之间的连接使用的证书。
  • xpack.security.transport.ssl.keystore.path: elastic-certificates.p12
  • 指定 自签名证书 文件路径,我这里指定的是相对路径
  • xpack.security.transport.ssl.truststore.path: elastic-certificates.p12
  • 指定 自签名证书 文件路径,我这里指定的是相对路径

6、重启 ES 中所有节点

[es@cansee-1 ~]$ ps aux | grep es
es 1370 9.7 33.2 3705040 1340356 pts/0 Sl 22:00 2:01 /usr/local/jdk//bin/java -Xshare:auto -Des.networkaddress.cache.ttl=60 -Des.networkaddress.cache.negative.ttl=10 -XX:+AlwaysPreTouch -Xss1m -Djava.awt.headless=true -Dfile.encoding=UTF-8 -Djna.nosys=true -XX:-OmitStackTraceInFastThrow -Dio.netty.noUnsafe=true -Dio.netty.noKeySetOptimization=true -Dio.netty.recycler.maxCapacityPerThread=0 -Dio.netty.allocator.numDirectArenas=0 -Dlog4j.shutdownHookEnabled=false -Dlog4j2.disable.jmx=true -Djava.locale.providers=SPI,JRE -Xms1g -Xmx1g -XX:+UseConcMarkSweepGC -XX:CMSInitiatingOccupancyFraction=75 -XX:+UseCMSInitiatingOccupancyOnly -Djava.io.tmpdir=/tmp/elasticsearch-9050489305679869153 -XX:+HeapDumpOnOutOfMemoryError -XX:HeapDumpPath=data -XX:ErrorFile=logs/hs_err_pid%p.log -XX:+PrintGCDetails -XX:+PrintGCDateStamps -XX:+PrintTenuringDistribution -XX:+PrintGCApplicationStoppedTime -Xloggc:logs/gc.log -XX:+UseGCLogFileRotation -XX:NumberOfGCLogFiles=32 -XX:GCLogFileSize=64m -XX:MaxDirectMemorySize=536870912 -Des.path.home=/usr/local/es-cluster -Des.path.conf=/usr/local/es-cluster/config -Des.distribution.flavor=default -Des.distribution.type=tar -Des.bundled_jdk=true -cp /usr/local/es-cluster/lib/* org.elasticsearch.bootstrap.Elasticsearch -d
[es@cansee-1 ~]$ kill 1370
[es@cansee-1 ~]$ /usr/local/es-cluster/bin/elasticsearch -d

7、查看节点是否启动成功

[es@cansee-1 ~]$ ps aux | grep es

8、ES 集群中设置内置用户密码(ES集群任意节点操作)

注意,ES是个数据库,所以这些密码都是在 ES 数据库中进行存储的

输入 y

[es@cansee-1 ~]$ /usr/local/es-cluster/bin/elasticsearch-setup-passwords auto

  • auto:自动生成密码,为 elasticsearch、logstash、kibana 随机生成密码
  • interactive:手动自定义密码

Changed password for user apm_system
PASSWORD apm_system = phHlC6zwrd9xepxwC7EZ

这是为APM(应用性能管理)组件生成的认证用户:账号:apm_system,密码:phHlC6zwrd9xepxwC7EZ

Changed password for user kibana_system
PASSWORD kibana_system = AJ7UICRIS914Z33B2mnd

这个用户通常用于在Kibana需要访问的Elasticsearch资源上,也就是说 kibana 连接 es 就使用这个账号密码

Changed password for user kibana
PASSWORD kibana = AJ7UICRIS914Z33B2mnd

这是为kibana组件生成的认证用户,账号:kibana,密码:AJ7UICRIS914Z33B2mnd(Kibana用户通常用于Kibana界面的用户认证。),也就是说 kibana 访问 web页面用户认证使用这个账号密码,当然你也可以使用超级管理员用户

Changed password for user logstash_system
PASSWORD logstash_system = P2laANEKVPbvvKyVrPua

这是为logstash组件生成的认证用户,账号:logstash_system,密码:P2laANEKVPbvvKyVrPua

Changed password for user beats_system
PASSWORD beats_system = lqbPqz4V9YuSbAOl7SpS

这是为beats组件生成的认证用户,账号:beats_system,密码:lqbPqz4V9YuSbAOl7SpS

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 50UWcFKh7pGlRWIp1kpK

用于远程监控用户,账号:remote_monitoring_user,密码:50UWcFKh7pGlRWIp1kpK

Changed password for user elastic
PASSWORD elastic = SAx6U2w5C0rebfnqV3pd

超级管理员用户,账号:elastic,密码:SAx6U2w5C0rebfnqV3pd

9、访问 es 测试
在这里插入图片描述
在这里插入图片描述

四、Cerebro 搭建监控 elasticsearch

1、给 java 名称做软连接

[root@cansee-1 ~]# ln -s /usr/local/jdk/bin/java /bin/

2、安装 cerebro

[root@cansee-1 ~]# rpm -ivh cerebro-0.9.4-1.noarch.rpm
[root@cansee-1 ~]# vim /etc/cerebro/application.conf
data.path = “/opt/cerebro.db” # 指定数据存放路径

赋予权限,为了让 cerebro 有权限写入

[root@cansee-1 ~]# chmod -R 777 /opt/

3、启动 cerebro

[root@cansee-1 ~]# systemctl start cerebro
[root@cansee-1 ~]# systemctl enable cerebro

4、查看端口

[root@cansee-1 ~]# netstat -pantu | grep 9000
tcp6 0 0 :::9000 ::😗 LISTEN 16022/java

连接 elk 集群并输入账号密码在这里插入图片描述

以下可以看到 ES 的状态:
在这里插入图片描述

五、kibana 部署结合 elasticsearch

自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数大数据工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
img
img
img
img
img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
img

lAwaLqyz-1712516706686)]
[外链图片转存中…(img-sqOF5K5m-1712516706686)]
[外链图片转存中…(img-mkjC4Vfd-1712516706686)]
[外链图片转存中…(img-w9V3F7lN-1712516706686)]

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上大数据开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以添加VX:vip204888 (备注大数据获取)
[外链图片转存中…(img-lxXLBUKn-1712516706687)]

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值