一、环境准备 1、Java jdk 1.8+(安装教程可参考https://www.cnblogs.com/sportsky/p/15973713.html) 2、elasticsearch 二、环境搭建 1、创建目录 mkdir /usr/local/skywalking 2、将资源目录中的elasticsearch安装包上
1、Java jdk 1.8+(安装教程可参考https://www.cnblogs.com/sportsky/p/15973713.html)
2、elasticsearch
二、环境搭建1、创建目录
mkdir /usr/local/skywalking
2、将资源目录中的elasticsearch安装包上传到虚拟机/usr/local/skywalking目录下
下载地址:https://www.elastic.co/cn/downloads/elasticsearch
3、首先安装elasticsearch,将压缩包解压
tar -zxvf elasticsearch-7.0.0-linux-x86_64.tar.gz
修改Linux系统的限制配置,将文件创建数修改为65536个。
a、修改系统中允许应用最多创建多少文件等的限制权限。Linux默认来说,一般限制应用最多创建的文件是65536个。但是ES至少需要65536的文件创建数的权限。
b、修改系统中允许用户启动的进程开启多少个线程。默认的Linux限制root用户开启的进程可以开启任意数量的线程,其他用户开启的进程可以开启1024个线程。必须修改限制数为4096+。因为ES至少需要4096的线程池预备。
vi /etc/security/limits.conf -- 增加如下内容在limits.conf文件中 es soft nofile 65536 es hard nofile 65536 es soft nproc 4096 es hard nproc 4096
修改系统控制权限,elasticsearch需要开辟一个65536字节以上空间的虚拟内存,Linux默认不允许在任何用户和应用程序直接开辟这么大的虚拟内存。
vi /etc/sysctl.conf -- 新增如下内容在sysctl.conf文件中。当前用户拥有的内存权限大小 vm.max_map_count=262144 -- 让系统控制权限配置生效 sysctl -p
新建一个用户,用于elasticsearch启动,ES在5.x版本之后,强制要求在linux中不能使用root用户启动ES进程。所以必须使用其他用户启动ES进程才可以。
-- 创建用户 useradd es -- 修改上述用户密码 passwd es -- 修改es目录的拥有者 chown -R es:es elasticsearch-7.0.0
4、修改 elasticsearch-7.10.1/config/elasticsearch.yml 配置信息
vi elasticsearch-7.0.0/config/elasticsearch.yml -- 文件中增加如下配置 cluster.name: elasticsearch node.name: node-1 network.host: 127.0.0.1 http.port: 9200 http.host: 0.0.0.0 cluster.initial_master_nodes: ["node-1"]
5、启动elasticsearch,切换es 用户
打开解压后的elasticsearch-7.0.0文件,进入bin目录,执行 ./elasticsearch
su es
cd elasticsearch-7.0.0/bin
./elasticsearch -d
6、查看es日志
tail -f logs/elasticsearch.log
出现如图所示,说明es服务已经启动
7、请求es服务
curl http://127.0.0.1:9200
出现如图所示说明请求成功
8、宿主主机浏览器访问elasticsearch,先检查虚拟机是否开启防火墙,是否有开放9200端口
1、查看防火墙状态 systemctl status firewalld 2、如果不是显示active状态,需要打开防火墙 systemctl start firewalld 3、查看所有已开放的临时端口(默认为空) firewall-cmd --list-ports 4、 查看所有永久开放的端口(默认为空) firewall-cmd --list-ports --permanent 5、添加永久开放的端口(例如:9200端口) firewall-cmd --add-port=9200/tcp --permanent 6、配置结束后需要输入重载命令并重启防火墙以生效配置 firewall-cmd --reload