一.相关环境
Centos7,ElasticSearch7.7.1,kibana7.7.1,jdk11
我这里都是下载的tar.gz包,为了下载速度,没有去官网下载(下了一个晚上都没下好,几kb每秒),直接去华为镜像站下载
二.搭建jdk11环境
这里不再赘述。
三.搭建ElasticSearch环境(坑贼多,错一步可能环境搭建失败)
我这里将所有软件都放在/opt目录下了
先解压,es的软件包
tar -zxvf elasticsearch-7.7.1-linux-x86_64.tar.gz
进入bin目录
cd elasticsearch-7.7.1/bin
执行命令:
./elasticsearch
直接报错,can not run elasticsearch as root,那就直接创建一个用户。
adduser elk
#授权
chmod 777 -R /opt/elasticsearch-7.7.1
再切换到elk用户,再执行命令
su elk
./elasticsearch
又报错?大致意思是说要我们去配置elasticsearch.yml配置文件
vim ../config/elasticsearch.yml
主要设置项:
cluster.name: elk #设置集群的名字,要小写 node.name: es-1 #设置节点的名字 network.host: 0.0.0.0 #设置ip地址,使外界可以访问es http.port: 9200 #设置对外服务的端口,默认是9200 #设置在集群中的所有节点名称,这个节点名称就是之前所修改的,当然你也可以采用默认的也行,目前是单机,放入一个节点即可 cluster.initial_master_nodes: ["es-1"] bootstrap.memory_lock: false bootstrap.system_call_filter: false #解决跨域问题 http.cors.enabled: true http.cors.allow-origin: "*" http.cors.allow-methods: OPTIONS, HEAD, GET, POST, PUT, DELETE http.cors.allow-headers: "X-Requested-With, Content-Type, Content-Length, X-User"
配置完成后,再执行./elasticsearch命令,这里又会报错
支持elasticsearch线程的最大文件数和最大虚拟内存不足。所以要配置这些选项。
在root用户下,修改配置文件。
vim /etc/security/limits.conf
在文档末尾加上如下配置,保存退出
* soft nofile 65536 * hard nofile 65536 * soft nproc 65536 * hard nproc 65536
使limits.conf配置生效:
vim /etc/ssh/sshd_config
配置:
UsePAM yes
UseLogin yes
修改sysctl.conf配置,保存并退出。
vim /etc/sysctl.conf
#修改后,使配置生效 sysctl -p
重新开启一个连接,用elk用户执行./elasticsearch命令
./elasticsearch #./elasticsearch -d 后台守护进程方式运行
开放端口
firewall-cmd --zone=public --add-port=9200/tcp --permanent # 开放9200端口 firewall-cmd --reload # 配置立即生效
在浏览器中打开192.168.10.138:9200
看到如下界面,就说明es已经搭建成功了。
如果,不成功,就reboot,重启。
四.配置ElasticSearch7开机自启
cd /etc/init.d vim es-server
编写启动脚本
#!/bin/bash #chkconfig: 345 63 37 #description: elasticsearch #processname: elasticsearch-7.7.1 export ES_HOME=/opt/elasticsearch-7.7.1 【这个目录是你Es所在文件夹的目录】 case $1 in start) su elk<<! 【es 这个是启动es的账户,如果你的不是这个记得调整】 cd $ES_HOME ./bin/elasticsearch -d -p pid exit ! echo "elasticsearch is started" ;; stop) pid=`cat $ES_HOME/pid` kill -9 $pid echo "elasticsearch is stopped" ;; restart) pid=`cat $ES_HOME/pid` kill -9 $pid echo "elasticsearch is stopped" sleep 1 su elk<<! 【es 这个是启动es的账户,如果你的不是这个记得调整】 cd $ES_HOME ./bin/elasticsearch -d -p pid exit ! echo "elasticsearch is started" ;; *) echo "start|stop|restart" ;; esac exit 0
修改文件权限
chmod 777 es-server
添加系统服务
chkconfig --add es-server
启动,关闭、重启服务
service es-server start service es-server stop service es-server restart
设置服务是否开机自启
chkconfig elasticsearch on chkconfig elasticsearch off
Chmod 777 -R elasticsearch-6.3.1