Java elasticsearch安装以及部署教程


Posted in Java/Android onJune 28, 2021

1 概述

1.1 Elastic Stack的核心

The Elastic Stack,包括ElasticSearch,Kibana,Beats和Logstash(也称为ELK Stack)
能够安全可靠的获取任何来源,任何格式的数据,然后实时的对诗句进行搜索,分析和可视化
Elasticsearch,简称ES,ES是一个开源的高扩展的分布式全文搜索引擎
是整个Elastic Stack技术栈的核心,它可以近乎实时的存储,检索数据

1.2 Elasticsearch And Solr(对比图)

Java elasticsearch安装以及部署教程

2 入门

2.1 安装

官网下载: 7.8.0 Windows版

直接进入bin目录启动
9300端口为Elasticsearch集群间组件的通信端口
9200 端口为浏览器访问的 http协议 RESTful 端口
浏览器访问: localhost:9200

2.2 数据格式

将 Elasticsearch 里存储文档数据和关系型数据库 MySQL 存储数据的概念进行一个类比

Java elasticsearch安装以及部署教程

Elasticsearch 7.X 中, Type 的概念已经被删除了

2.3 java操作api

引用其他文章

3 环境

3.1 Linux单机版

#解压
tar -zxf elasticsearch-7.8.0-linux-x86_64.tar.gz
#移动
mv elasticsearch-7.8.0 /opt/
#创建用户(es不能用root用户启动)
adduser chen
#修改文件所有者
chown -R chen /opt/elasticsearch-7.8.0/
#进入配置文件目录
cd /opt/elasticsearch-7.8.0/config/
#修改配置文件
vim elasticsearch.yml

Java elasticsearch安装以及部署教程

#修改内存占用
vim jvm.options

Java elasticsearch安装以及部署教程

#修改系统配置
vim /etc/security/limits.conf
#在文件末尾中增加下面内容
#nproc  : 是操作系统级别对每个用户创建的进程数的限制
#nofile : 是每个进程可以打开的文件数的限制
# 每个进程可以打开的文件数的限制( * ,代表所有用户,也可以是具体的某一个用户)
*  soft nproc  65536
*  hard nproc  65536
*  soft nofile 65536
*  hard nofile 65536
#修改系统配置
#操作系统级别对每个用户创建的进程数的限制
vim /etc/security/limits.d/20-nproc.conf
#文件末尾同样添加
*  soft nproc  65536
*  hard nproc  65536
*  soft nofile 65536
*  hard nofile 65536
#修改系统配置
vim /etc/sysctl.conf 
# 在文件中增加下面内容
# 一个进程可以拥有的 VMA(虚拟内存区域)的数量,默认值为 65536
vm.max_map_count=655360
#重新加载
sysctl -p
#进入bin目录
cd /opt/elasticsearch-7.8.0/bin/
#使用用户chen启动es
su chen ./elasticsearch
#如果报错,再执行一遍
chown -R chen /opt/elasticsearch-7.8.0/

Java elasticsearch安装以及部署教程

3.2 Linux集群部署

节点 ip
es-node01 192.168.59.141
es-node02 192.168.59.142
es-node03 192.168.59.143

就用刚刚的es环境,在上面进行修改

#进入配置文件夹
cd /opt/elasticsearch-7.8.0/config/
#编辑配置文件
vim elasticsearch.yml
#全部删除
ggvGd

替换成以下内容

#集群名称
cluster.name: es-cluster
#节点名称,每个节点的名称不能重复
node.name: es-node01
#ip 地址,每个节点的地址不能重复
network.host: es-node01
#是不是有资格主节点
node.master: true
node.data: true
http.port: 9200
transport.tcp.port: 9300
#head 插件需要这打开这两个配置
http.cors.allow-origin: "*" 
http.cors.enabled: true
http.max_content_length: 200mb
#es7.x 之后新增的配置,初始化一个新的集群时需要此配置来选举 master
cluster.initial_master_nodes: ["es-node01"]
#es7.x 之后新增的配置,节点发现
discovery.seed_hosts: ["es-node01:9300","es-node02:9300","es-node03:9300"]
gateway.recover_after_nodes: 2
network.tcp.keep_alive: true
network.tcp.no_delay: true
transport.tcp.compress: true
#集群内同时启动的数据任务个数,默认是 2 个
cluster.routing.allocation.cluster_concurrent_rebalance: 16
#添加或删除节点及负载均衡时并发恢复的线程个数,默认 4 个
cluster.routing.allocation.node_concurrent_recoveries: 16
#初始化数据恢复时,并发恢复线程的个数,默认 4 个
cluster.routing.allocation.node_initial_primaries_recoveries: 16

修改hosts文件

cat >> /etc/hosts << EOF
192.168.59.141 es-node01
192.168.59.142 es-node02
192.168.59.143 es-node03
EOF

拿当前Linux服务器作为范本,克隆两台虚拟机(完整克隆)
开机分别修改服务器ip(142 and 143)

Java elasticsearch安装以及部署教程

设置主机名(分别设置)

hostnamectl set-hostname es-node01
hostnamectl set-hostname es-node02
hostnamectl set-hostname es-node03

修改node02 and node03的节点名称和ip

Java elasticsearch安装以及部署教程

因为是克隆来的,所以前面的些新增用户,修改系统配置,给权限什么的也被继承过来了,现在只需要启动服务即可

Java elasticsearch安装以及部署教程

3.1 elasticsearch-head chrome插件安装

插件获取网址

下载压缩包,解压。
接着点击Chrome右上角选项->工具->管理扩展(或则地址栏输入chrome://extensions/),选择打开“开发者模式”,让后点击“加载已解压得扩展程序”,选择elasticsearch-head/_site,即可完成chrome插件安装。

3.2 kibana安装

kibana7.8 Windows版下载

进入config目录,文件末尾添加

#默认端口
server.port: 5601
#es服务器地址
elasticsearch.hosts: ["http://localhost:9200"]
#索引名
kibana.index: ".kibana"
#中文	
i18n.locale: "zh-CN"

进入bin目录启动

到此这篇关于elasticsearch安装以及部署教程的文章就介绍到这了,更多相关elasticsearch框架部署内容请搜索三水点靠木以前的文章或继续浏览下面的相关文章希望大家以后多多支持三水点靠木!

Java/Android 相关文章推荐
手把手教你用SpringBoot将文件打包成zip存放或导出
Jun 11 Java/Android
浅谈Java实现分布式事务的三种方案
Jun 11 Java/Android
Java elasticsearch安装以及部署教程
Jun 28 Java/Android
Java 语言中Object 类和System 类详解
Jul 07 Java/Android
idea以任意顺序debug多线程程序的具体用法
Aug 30 Java/Android
Java spring单点登录系统
Sep 04 Java/Android
Springboot如何同时装配两个相同类型数据库
Nov 17 Java/Android
Java设计模式之享元模式示例详解
Mar 03 Java/Android
Mybatis-Plus进阶分页与乐观锁插件及通用枚举和多数据源详解
Mar 21 Java/Android
SpringBoot整合Minio文件存储
Apr 03 Java/Android
Java线程的6种状态与生命周期
May 11 Java/Android
Java 中的 Lambda List 转 Map 的多种方法详解
Jul 07 Java/Android
Java 数组内置函数toArray详解
Java集成swagger文档组件
死磕 java同步系列之synchronized解析
Jun 28 #Java/Android
利用Java设置Word文本框中的文字旋转方向的实现方法
Springboot集成阿里云OSS上传文件系统教程
简单总结SpringMVC拦截器的使用方法
SpringBoot实现异步事件驱动的方法
Jun 28 #Java/Android
You might like
百事可乐也出咖啡了 双倍咖啡因双倍快乐
2021/03/03 咖啡文化
PHP 时间转换Unix时间戳代码
2010/01/22 PHP
PHP学习笔记 用户注册模块用户类以及验证码类
2011/09/20 PHP
PHP英文字母大小写转换函数小结
2014/05/03 PHP
浅谈php函数serialize()与unserialize()的使用方法
2014/08/19 PHP
json数据处理技巧(字段带空格、增加字段、排序等等)
2013/06/14 Javascript
js实现的星星评分功能函数
2015/12/09 Javascript
js实现将选中内容分享到新浪或腾讯微博
2015/12/16 Javascript
JavaScript中的跨浏览器事件操作的基本方法整理
2016/05/20 Javascript
快速解决js开发下拉框中blur与click冲突
2016/10/10 Javascript
JavaScript获取中英文混合字符串长度的方法示例
2017/02/04 Javascript
jQuery查找和过滤_动力节点节点Java学院整理
2017/07/04 jQuery
seaJs使用心得之exports与module.exports的区别实例分析
2017/10/13 Javascript
JavaScript数据结构与算法之检索算法实例分析【顺序查找、最大最小值、自组织查询】
2019/02/22 Javascript
js实现百度登录窗口拖拽效果
2020/03/19 Javascript
使用Angular9和TypeScript开发RPG游戏的方法
2020/03/25 Javascript
jQuery实现高度灵活的表单验证功能示例【无UI】
2020/04/30 jQuery
在vue中封装的弹窗组件使用队列模式实现方法
2020/07/23 Javascript
修改Vue打包后的默认文件名操作
2020/08/12 Javascript
[02:46]2014DOTA2国际邀请赛 选手为你解读比赛MVP充满梦想
2014/07/09 DOTA
[51:26]VP vs VG 2018国际邀请赛小组赛BO2 第二场 8.19
2018/08/21 DOTA
[46:58]完美世界DOTA2联赛PWL S3 Forest vs LBZS 第一场 12.17
2020/12/19 DOTA
Python中的rfind()方法使用详解
2015/05/19 Python
详解Pytorch 使用Pytorch拟合多项式(多项式回归)
2018/05/24 Python
python指定写入文件时的编码格式方法
2018/06/07 Python
python opencv旋转图像(保持图像不被裁减)
2018/07/26 Python
django中使用Celery 布式任务队列过程详解
2019/07/29 Python
python+selenium 点击单选框-radio的实现方法
2019/09/03 Python
Python 装饰器@,对函数进行功能扩展操作示例【开闭原则】
2019/10/17 Python
python 将视频 通过视频帧转换成时间实例
2020/04/23 Python
shell程序中如何注释
2012/01/28 面试题
护士思想汇报
2014/01/12 职场文书
人力资源作业细则
2014/03/03 职场文书
一分钟演讲稿
2014/04/30 职场文书
2014年国庆标语
2014/06/30 职场文书
法律意见书范文
2015/06/04 职场文书