环境配置:
- centos-7-x86_64
- java8
- elasticsearch-6.2.4
- kibana-6.2.4
- logstash-6.2.4
一.安装 java8
1.查看系统中是否使用rpm安装过 java
[root@localhost ~]# rpm -qa |grep java
或 [root@localhost ~]# rpm -qa |grep jdk
或 [root@localhost ~]# rpm -qa |grep gc
如果系统中已经安装了其它版本的可用以下命令删除
[root@localhost ~]# rpm -e —-nodeps 包名
例如:
[root@localhost ~]# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
2.查看系统中是否使用yum安装过java
[root@localhost ~]# yum list installed |grep java
[root@localhost ~]# yum -y uninstall 包名
例如:
[root@localhost ~]# yum -y uninstall java-1.7.0-openjdk-1.7.0.141-2.6.10.5.el7.x86_64
3.检查无误后开始安装java8
[root@localhost ~]# yum install -y java-1.8.0-openjdk Installing ... Succeed ...
4.配置java环境变量 通过whereis命令来找到java8的安装路径
[root@localhost ~]# whereis java
[root@localhost ~]# source /etc/profile
5.验证java8是否安装成功
[root@localhost ~]# java -version
出现以上内容就说明java8已经安装和配置成功了
(1)通过官网手动下载rpm包:www.elastic.co/downloads/p…(本文不使用此方式)
(2)在线rpm安装
2.导入Elasticsearch PGP密钥
[root@localhost ~]# rpm --import artifacts.elastic.co/GPG-KEY-ela…
3.下载rpm包
下载前先创建一个目录来存放rpm包,方便管理
[root@localhost ~]# mkdir /sourcepackages
[root@localhost ~]# cd /sourcepackages
[root@localhost ~]# wget artifacts.elastic.co/downloads/e…
4.安装rpm包
[root@localhost ~]# rpm -ivh elasticsearch-6.2.4.rpm
5.修改配置文件
[root@localhost ~]# whereis elasticsearch
/etc/elasticsearch/ 是配置文件目录
/usr/share/elasticsearch/ 是软件安装主目录
好了,接下来就要开始修改配置文件了
[root@localhost ~]# vi /etc/elasticsearch/elasticsearch.yml
[root@localhost ~]# vi /etc/elasticsearch/jvm.options
把其中的
-Xms1g
-Xmx1g
修改成
-Xms100m
-Xmx100m
一般来说,都是根据服务器的配置来修改的
主要是因为我是在本地创建的虚拟机,配置不够罢了,这也就导致启动时的一些问题的发生(划重点,后面会讲到)
6.启动ElasticSearch服务
[root@localhost ~]# cd /usr/share/elasticsearch/bin
[root@localhost ~]# ./elasticsearch
注意看错误信息:can not run elasticsearch as root
出于安全的考虑,elasticsearch服务是不能使用root用户来运行的
那么我们切换到elasticsearch用户来执行命令(通过本文的方式安装的elasticsearch,会自动添加用户和用户组并且授权好的,所以可以直接切换到elasticsearch用户)
[root@localhost ~]# su elasticsearch
[elasticsearch@localhost ~]# ./elasticsearch
这就说明elasticsearch服务已经启动成功了
但是,光标还留在控制台无法退出,咋办呢?
女朋友叫我回家吃饭了(程序员有女朋友?滑稽笑.jpg)
………
好了,ctrl + c 终止程序吧
执行以下命令就能解决这个问题了,加上 -d 参数可使服务在后台运行
[elasticsearch@localhost ~]# ./elasticsearch -d
最后通过 netstat -lntup 查看服务是否启动完成
[elasticsearch@localhost ~]# netstat -lntup
7.最后在这里说下,由于配置不足导致的问题,以及其解决办法
第一种:max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
每个进程最大同时打开文件数太小
使用root用户修改配置,增加/修改配置
[root@localhost ~]# vi /etc/security/limits.conf
-
soft nofile 65536 -
hard nofile 65536
第二种:max number of threads [3818] for user [es] is too low, increase to at least [4096]
线程数太小,增加/修改配置
[root@localhost ~]# vi /etc/security/limits.conf
-
soft nproc 65536 -
hard nproc 65536
第三种:max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
增加/修改配置
[root@localhost ~]# vi /etc/sysctl.conf
vm.max_map_count=262144
执行命令使修改生效
[root@localhost ~]# sysctl -p
本文到这里就结束了,谢谢大家的阅读。如有不足之处,希望大家不吝赐教。