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

   日期:2024-12-26    作者:xkulw 移动:http://3jjewl.riyuangf.com/mobile/quote/40828.html

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

http.port: 9200

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

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

三、启动 ES

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

[root@cansee-1 ~]# su - 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

  • :通过此命令生成签名文件
  • :命令参数,表示生成证书
  • :指定生成的证书文件的路径和文件名
  • :指定证书文件的密码,这里是空密码

2、修改自签名证书权限

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

3、拷贝 自签名证书 到 所有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

  • :启用 Elasticsearch 的安全认证功能
  • :启用Elasticsearch的传输层安全性(TLS/SSL)功能。
  • 指定TLS/SSL连接的验证模式为证书验证模式。这意味着Elasticsearch将验证客户端和服务器之间的连接使用的证书。
  • 指定 自签名证书 文件路径,我这里指定的是相对路径
  • 指定 自签名证书 文件路径,我这里指定的是相对路径

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 数据库中进行存储的

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

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

Changed password for user apm_system
PASSWORD apm_system = phHlC6zwrd9xepxwC7EZ

Changed password for user kibana_system
PASSWORD kibana_system = AJ7UICRIS914Z33B2mnd

Changed password for user kibana
PASSWORD kibana = AJ7UICRIS914Z33B2mnd

Changed password for user logstash_system
PASSWORD logstash_system = P2laANEKVPbvvKyVrPua

Changed password for user beats_system
PASSWORD beats_system = lqbPqz4V9YuSbAOl7SpS

Changed password for user remote_monitoring_user
PASSWORD remote_monitoring_user = 50UWcFKh7pGlRWIp1kpK

Changed password for user elastic
PASSWORD elastic = SAx6U2w5C0rebfnqV3pd

四、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” # 指定数据存放路径

[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

五、kibana 部署结合 elasticsearch

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

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

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

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

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

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

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


特别提示:本信息由相关用户自行提供,真实性未证实,仅供参考。请谨慎采用,风险自负。


举报收藏 0评论 0
0相关评论
相关最新动态
推荐最新动态
点击排行
{
网站首页  |  关于我们  |  联系方式  |  使用协议  |  隐私政策  |  版权隐私  |  网站地图  |  排名推广  |  广告服务  |  积分换礼  |  网站留言  |  RSS订阅  |  违规举报  |  鄂ICP备2020018471号