好久没有总结了,最近有点懒散了。
最近大哥让整个es做用户数据分析,上次装完没有总结,今天先总结下来,这几天也会总结es的使用情况。事情是这样的,领导要知道app的日活量和一些用户使用app主要使用那些功能,要求做一个用户数据分析。刚接到任务的时候是说就做一个日活量,心想挺简单,直接用redis做一个日活统计就行了连数据库都用不上,当天就整完了。然后今天早上大哥过来说有变动,领导要看用户使用app主要使用那些功能,某一个用户连续登录了多少天,操作最多的是那些页面或者接口。。。。我丢,这不是要做数据分析吗,然后就跟大哥讨论了一了一下怎么整,给出的最终方案是redis + mq + mysql + es。先使用redis存app日活量,然后将行为需要的行为数据放到mq,每天晚上消费mq将数据存到mysql做一个按天统计分析,然后再将数据存到es,之所以要存到es主要是怕领导随时要出报表,这样存到es就不怕领导要报表了。大概的需求是这样的。废话不多说了,先把安装es的步骤整了把。
11-1.需要安装jdk1.8 及以上版本
11-2.es默认不允许以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.elastic.co/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 elasticsearch.yml
node.name: node-1 # 配置当前es节点名称
cluster.name: my-application
path.data: /home/es/data # 数据目录位置
path.logs: /home/es/logs # 日志目录位置
network.host: 0.0.0.0 # 绑定的ip:默认只允许本机访问,修改为0.0.0.0后则可以远程访问
cluster.initial_master_nodes: "node-1" # 设置master节点列表 用逗号分隔
11-6.在es目录下添加logs和data文件夹
mkdir data
mkdir 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 ./es
chown -R esuser ./es
chmod 777 es
11-10.添加开放端口
firewall-cmd --zone=public --add-port=9300/tcp --permanent
firewall-cmd --zone=public --add-port=9200/tcp --permanent
firewall-cmd --reload
11-11.启动
su esuser
进入home/es目录运行
nohup elasticsearch/bin/elasticsearch >logs/log.log 2>&1 &
11-12.浏览器输入访问地址:http://您的服务器外网ip:9200/