ElasticSearch安装与配置
1 单实例安装
官网下载压缩包并解压,进入bin目录下
通过 sh elasticsearch 启动服务
windows 版本运行elasticsearch.bat
出现下图时启动成功。
2 head 插件
head插件为反馈的json提供相对友好的web界面
通过github搜索elastic search -head找到插件并下载
解压后在其根目录运行npm install ; npm run start;
因为ES 与ES-head分属于两个独立进程,互相访问存在跨域问题,需要配置。
进入ES config目录,打开elasticsearach.yml,在最后添加两行:
然后依次启动ES 与ES-head
3 分布式安装
修改elasticsearch.yml文件,添加集群名称、节点名称、master标记以及地址。
slave节点的配置:
各自启动后刷新ES head
可见ES的扩容非常容易。
4 配置说明:
ElasticSearch的主要配置文件有三个,分别是位于config文件夹下的:
- elasticsearch.yml :主要配置文件。
- jvm.options:jvm配置,可以调整占用内存的大小等参数。
- log4j2.properties:配置后台日志的
elasticsearch.yml的主要配置项:
cluster.name:集群名称,作为是否为同一集群的判断条件。
node.name:结点名称,作为集群中不同结点的区分条件。
network.host:网络地址。
http.port:网络端口。
path.data:数据存储地址。
path.log:日志存储地址。
5 错误说明:
JavaVersionChecker not find
与Linux中安装运行时提示:不能以root用户运行,所以需要新建一个用户。
新建用户的java_home需要重新配置,否则运行过程中出现:
Elasticsearch: Could not find or load main class org.elasticsearch.tools.launchers.JavaVersionChecker
这是因为java路径未找到造成的。
vm.max_map_count问题
启动ES的过程中:
max virtual memory areas vm.max_map_count [65530] is too low, increase to at least [262144]
虚拟内存默认为65530,不满足ES的最低需求,所以需要在/etc/sysctl.conf文件最后添加一行:
vm.max_map_count=262144
然后执行:sysctl -p
相关操作需要root权限。