安装elasticsearch需要安装jdk,下面让我们先来安装java jdk
1.执行命令yum -y list java*查看可安装java版本。执行成功后可以看见如下的结果
2.选择一个java版本进行安装,这里我们希望安装java1.8,因为我们的机器是64位的,所以选择安装java-1.8.0-openjdk-devel.x86_64。
这里有个地方要注意,上图有两个java版本,要选择-devel的安装,因为这个安装的是jdk,而那个不带-devel的安装完了其实是jre
3.执行命令yum install -y java-1.8.0-openjdk-devel.x86_64。执行完后会看见控制台刷出很多输出。
耐心等待至自动安装完成
4.java -version检验是否装成功
**
下面正式来安装elasticsearch
**
Linux
1.获取安装包
curl -L -O https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-7.1.1-linux-x86_64.tar.gz
2.解压
tar -xvf elasticsearch-7.1.1-linux-x86_64.tar.gz
需要注意的是elasticsearch解压的安装包需要修改拥有者为非root用户,如果之前使用的root用户,可以执行一下命令:
chown -R 用户 770 elasticsearch-7.1.1(目录)
3.直接进入到安装包下的bin目录下有一个elasticsearch脚本,就是启动脚本
./bin/elasticsearch或者 ./bin/elasticsearch -d
然后会打印很多东西
如果started就算是成功了
同时还可以通过一些命令应用是否成功,curl -i http://127.0.0.1:9200
恭喜,这样就可以看出来成功启动了
**
安装过程中可能会遇到的坑
**
问题一:max file descriptors [4096] for elasticsearch process likely too low, increase to at least [65536]
解决:修改切换到root用户修改配置limits.conf 添加下面两行
命令:vi /etc/security/limits.conf
-
hard nofile 65536
-
soft nofile 65536
问题二:max number of threads [1024] for user [lish] likely too low, increase to at least [2048]
解决:切换到root用户,进入limits.d目录下修改配置文件。
vi /etc/security/limits.d/90-nproc.conf
修改如下内容:
- soft nproc 1024
#修改为 - soft nproc 2048
:
问题三:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
解决:切换到root用户修改配置sysctl.conf
vi /etc/sysctl.conf
添加下面配置:
vm.max_map_count=655360
并执行命令:
sysctl -p
切换到es的用户。
然后,重新启动elasticsearch,即可启动成功。
问题四:内网可以访问外网不可以访问es的9200端口,可以去/usr/local/elasticsearch/elasticsearch-7.1.1/config/elasticsearch.yml去配置
vim elasticsearch.yml
将network.host: 127.0.0.1 # 绑定到0.0.0.0,即允许任何ip来访问,这样我们就可以在自己的浏览器内直接访问elasticsearch开通的端口号了。
安装head插件:
3. 安装head插件.
yum install git npm
npm在epel源中
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
git clone后会自动生成的一个目录
1.安装head插件
npm install(这的ERROE不影响的).
git clone https://github.com/mobz/elasticsearch-head.git
cd elasticsearch-head
npm install(这的ERROE不影响的).
npm run start
2.遇到的坑
head插件必须要开权限才能用:如果想查询集群健康信息,那么需要在elasticsearch配置文件中授权
vim /etc/elasticsearch/elasticsearch.yml
http.cors.enabled: true # elasticsearch中启用CORS
http.cors.allow-origin: "" # 允许访问的IP地址段, 为所有IP都可以访问