好久没有总结了,最近有点懒散了。
最近大哥让整个es做用户数据分析,上次装完没有总结,今天先总结下来,这几天也会总结es的使用情况。事情是这样的,领导要知道app的日活量和一些用户使用app主要使用那些功能,要求做一个用户数据分析。刚接到任务的时候是说就做一个日活量,心想挺简单,直接用redis做一个日活统计就行了连数据库都用不上,当天就整完了。然后今天早上大哥过来说有变动,领导要看用户使用app主要使用那些功能,某一个用户连续登录了多少天,操作最多的是那些页面或者接口。。。。我丢,这不是要做数据分析吗,然后就跟大哥讨论了一了一下怎么整,给出的最终方案是redis + mq + mysql + es。先使用redis存app日活量,然后将行为需要的行为数据放到mq,每天晚上消费mq将数据存到mysql做一个按天统计分析,然后再将数据存到es,之所以要存到es主要是怕领导随时要出报表,这样存到es就不怕领导要报表了。大概的需求是这样的。废话不多说了,先把安装es的步骤整了把。
11-1.需要安装jdk1.8 及以上版本
www.666suv.com默认不允许以root账号允许,需要自己建立账号,不然会提示:can not run elasticsearch as root查询用户 cat /etc/passwd添加用户 useradd esuser设置密码 passwd 12345678删除用户 userdel esuser切换用户 su esuser
11-3.下载 tar.gz包,linux sha asc 版本,我用的是7.9.3版本的,地址:https://www.666suv.com/cn/products/elasticsearch
11-4.上传安装并解压 mkdir es 我们将安装包上传到:/home/es目录解压:tar -zxvf elasticsearch-7.9.3-linux-x86_64.tar.gz 目录重命名:mv elasticsearch-7.9.3 elasticsearch
11-5.修改配置文件,进入elasticsearch/config目录 找到elasticsearch.yml文件vim www.666suv.com: node-1 # 配置当前es节点名称www.666suv.com: www.666suv.com: /home/es/data # 数据目录位置path.logs: /home/es/logs # 日志目录位置www.666suv.com: 0.0.0.0 # 绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问cluster.initial_master_nodes: "node-1" # 设置master节点列表 用逗号分隔
11-6.在es目录下添加logs和data文件夹mkdir datamkdir logs
11-7.修改/etc/security/limits.conf文件vim /etc/security/limits.conf 在最后添加如下两行代码* soft nofile 65536* hard nofile 65536
11-8.修改/etc/sysctl.conf文件在/etc/sysctl.conf文件最后添加一行 vm.max_map_count=655360 修改完后,执行命令: sysctl -p
11-9.将es文件下的所有文件权限给esuser用户进入home目录运行chgrp -R esuser ./eschown -R esuser ./eschmod 777 es
11-10.添加开放端口firewall-cmd --zone=public --add-port=9300/tcp --permanentfirewall-cmd --zone=public --add-port=9200/tcp --permanentfirewall-cmd --reload
11-11.启动su esuser进入home/es目录运行nohup elasticsearch/bin/elasticsearch >logs/log.log 2>&1 &
11-12.浏览器输入访问地址:http://您的服务器外网ip:9200/