什么是Elasticsearch?
ElasticSearch是一个基于Lucene的搜索服务器。它提供了一个分布式多用户能力的全文搜索引擎,基于RESTful web接口。Elasticsearch是用Java开发的,并作为Apache许可条款下的开放源码发布,是当前流行的企业级搜索引擎。设计用于云计算中,能够达到实时搜索,稳定,可靠,快速,安装使用方便。
安装Elasticsearch
首先要下载ES的tar包,写本文时最新的es已经到了7.0版本,我们这边装的是6.6.2的版本。
如果想了解最新版本可以前往ES的官网 https://www.elastic.co/cn/downloads/elasticsearch 进行查看
这边我们用xshell连接服务器后在/usr/local 建立一个es的文件目录
cd /usr/local
mkdir es
cd es
将es的tar包载入es,再进行解压
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz
再进行解压
tar -zxvf elasticsearch-6.6.2.tar.gz
配置Elasticsearch
解压完成后进入 es的文件目录
cd elasticsearch-6.6.2
修改network.host配置
vim config/elasticsearch.yml
将原来这边的#注释去掉,让他变得有效
network.host: 192.168.0.1
http.port: 9200
//直接把注释删掉就好
因为安全问题elasticsearch 不让用root用户直接运行,所以要创建新用户
adduser es
passwd es //需要给新用户设置密码
用root用户给es用户分配权限
chown -R es elasticsearch-6.6.2
su es /切换用户
./bin/elasticsearch /运行es
如果你第一次这样操作下来就直接运行成功了,那简直就是天选之人!!!
我在安装的时候还是遇到了很多的问题?
1、没有切换用户直接用root运行会出现这样的报错
这个保存你只要切换一下用户就行
su es
2、没有为es用户分配es文件的读写权限
su root //输入密码并且切换到root用户
chown -R es elasticsearch-6.6.2
3、执行命令:
sysctl -w vm.max_map_count=262144
查看结果:
sysctl -a|grep vm.max_map_count
显示:
vm.max_map_count = 262144
上述方法修改之后,如果重启服务器将失效,所以:
解决办法:
在 /etc/sysctl.conf文件最后添加一行
vim /etc/sysctl.conf
在最后添加
vm.max_map_count=262144
即可永久修改
当用es用户运行
./bin/elasticsearch
出现这样代表成功运行,再去用本地的游览器访问一些es的端口
这样我们的Elasticasearch就安装成功了
如果碰上了其他奇奇怪怪的报错可以参考一些这篇elasticsearch安装出错整理博客:https://www.jianshu.com/p/365db8b181cc
下一篇博客我将为大家介绍一下elasticsearch同步mysql数据插件logstash的安装与配置