ES项目实战
前置
ES: Java
Spark/Flink Stack + Spring Boot + ES
Scala/Java + Java/Scala + Java
==> 用API的方式来掌握ES的用法(API、SpringBoot的使用)
ES: API RESTFul
ElasticSearch + Kibana
存储 展示/分析
ES Plugin: Head SQL Kibana (三个插件,Kibana也算插件)
最终数据要到SQL (易用性)
ES的安装
地址: https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.6.2.tar.gz


- 解压: tar -zxvf elasticsearch-6.6.2.tar.gz -C ~/app/
- 配置到系统环境变量:
- 修改:
cd elasticsearch-6.6.2
删除bin目录中以bat结尾的命令(windows中的,无用)
$ES_HOME (重要的文件)
bin
elasticsearch 启动ES
elasticsearch 前台方法启动
elasticsearch -d 后台方法启动 (需要打开日志查看系统输出信息)
elasticsearch-plugin 管理ES插件
elasticsearch-sql-cli sql客户端
config
elasticsearch.yml es的配置信息
#cluster.name: my-application (集群名称)
#node.name: node-1 (节点名称)
#path.data: /path/to/data
Path to log files:
path.logs: /path/to/logs
#network.host: 0.0.0.0 (全网)
Set a custom port for HTTP:
http.port: 9200
jvm.optiom es的JVM相关的配置信息
## the heap to 4 GB, set:
##
## -Xms4g
## -Xmx4g
# Xms represents the initial size of total heap space
# Xmx represents the maximum size of total heap space
-Xms1g
-Xmx1g
## GC configuration
-XX:+UseConcMarkSweepGC
-XX:CMSInitiatingOccupancyFraction=75
-XX:+UseCMSInitiatingOccupancyOnly
# explicitly set the stack size
-Xss1m
# specify an alternative path for heap dumps; ensure the directory exists and
# has sufficient space
-XX:HeapDumpPath=data
# specify an alternative path for JVM fatal error logs
-XX:ErrorFile=logs/hs_err_pid%p.log
# ----------------------------------- Memory -----------------------------------
elasticsearch-migrate x-pack-env
8:-XX:+PrintGCApplicationStoppedTime
8:-Xloggc:logs/gc.log
8:-XX:+UseGCLogFileRotation
8:-XX:NumberOfGCLogFiles=32
8:-XX:GCLogFileSize=64m
***注:ES对硬盘要求极高(一般SSD、内存大) ***
后台启动ES: elasticsearch -d
去Web UI查看: hadoop000:9200 (Web UI port)
hadoop000:9300 服务器端口(server port)
Lucene_version: "7.6.0" 不对应
技巧:用chrome中的json字符串美化插件 (JSON Formatter)
ES核心概念
Cluster
Node
Index Database
Type Table
Document Row
Field Column //这四种的REST API在工作中用的最多
shard(分片--分区集叫分片)
replica(副本)
对应关系:
Index -> Type -> Document -> Field
Database -> Table -> Row -> Column
代码开发
需要: IDEA+Maven+Java
pom.xml
<!--添加elasticsearch依赖-->
<dependency>
<groupId>org.elasticsearch.client</groupId>
<artifactId>transport</artifactId>
<version>6.6.2</version>
</dependency>
<!--添加junit依赖(默认已有)-->
<dependency>
<groupId>junit</groupId>
<artifactId>junit</artifactId>
<version>4.11</version>
<!--<scope>test</scope>(去掉这块),需要重新导入依赖-->
</dependency>
PreBuiltTransportClient.java
/**
* Creates a new transport client with pre-installed plugins.
*
* @param settings the settings passed to this transport client
* @param plugins an optional array of additional plugins to run with this client
*/
@SafeVarargs
public PreBuiltTransportClient(Settings settings, Class<? extends Plugin>... plugins) {
this(settings, Arrays.asList(plugins));
}
//Class<? extends Plugin>...
// ...代表一个/多个可变参数, 可填可不填
TransportClient.java
/**
* Adds a transport address that will be used to connect to.
* <p>
* The Node this transport address represents will be used if its possible to connect to it.
* If it is unavailable, it will be automatically connected to once it is up.
* <p>
* In order to get the list of all the current connected nodes, please see {@link #connectedNodes()}.
*/
public TransportClient addTransportAddress(TransportAddress transportAddress) {
nodesService.addTransportAddresses(transportAddress);
return this;
}
ES项目实战的更多相关文章
- Elasticsearch.net项目实战
elasticsearch.net项目实战 目录 Elasticsearch+kibana 环境搭建 windows 10环境配置 安装Elasticsearch head安装(非必需) 安装kiba ...
- ELKStack-生产案例项目实战(十一)
ELKStack-生产案例项目实战 1.收集ES和apache日志,入redis input { file { path => "/etc/httpd/logs/access_log& ...
- [elk]logstash的最佳实战-项目实战
重点参考: http://blog.csdn.net/qq1032355091/article/details/52953837 不得不说这是一个伟大的项目实战,是正式踏入logstash门槛的捷径 ...
- SpringBoot电商项目实战 — ElasticSearch接入实现
如今在一些中大型网站中,搜索引擎已是必不可少的内容了.首先我们看看搜索引擎到底是什么呢?搜索引擎,就是根据用户需求与一定算法,运用特定策略从互联网检索出制定信息反馈给用户的一门检索技术.搜索引擎依托于 ...
- 海量数据MySQL项目实战
主要内容包含 MySQL 典型数据库架构介绍.MySQL 主流数据库架构对比等理论性知识,然后从“订单.用户”两个项目实战,抛砖引玉,介绍亿级互联网业务数据库项目如何设计. MySQL 典型数据库架构 ...
- Java 18套JAVA企业级大型项目实战分布式架构高并发高可用微服务电商项目实战架构
Java 开发环境:idea https://www.jianshu.com/p/7a824fea1ce7 从无到有构建大型电商微服务架构三个阶段SpringBoot+SpringCloud+Solr ...
- 从 0 使用 SpringBoot MyBatis MySQL Redis Elasticsearch打造企业级 RESTful API 项目实战
大家好!这是一门付费视频课程.新课优惠价 699 元,折合每小时 9 元左右,需要朋友的联系爱学啊客服 QQ:3469271680:我们每课程是明码标价的,因为如果售价为现在的 2 倍,然后打 5 折 ...
- Asp.Net Core 项目实战之权限管理系统(4) 依赖注入、仓储、服务的多项目分层实现
0 Asp.Net Core 项目实战之权限管理系统(0) 无中生有 1 Asp.Net Core 项目实战之权限管理系统(1) 使用AdminLTE搭建前端 2 Asp.Net Core 项目实战之 ...
- 给缺少Python项目实战经验的人
我们在学习过程中最容易犯的一个错误就是:看的多动手的少,特别是对于一些项目的开发学习就更少了! 没有一个完整的项目开发过程,是不会对整个开发流程以及理论知识有牢固的认知的,对于怎样将所学的理论知识应用 ...
随机推荐
- 配置同时使用 Gitlab、Github、Gitee(码云) 共存的开发环境
首先确认已安装Git,可以通过 git –version 命令可以查看当前安装的版本. Mac OSX 中都已经安装了Git.但是,Git的版本未必是最新的. 可以通过命令 git clone htt ...
- mssql sqlserver 使用sql脚本获取字符串存在多少个网址(url地址)的方法分享
摘要:下文讲述获取一个字符串中存在多少个网址的方法,如下实验环境:sql server 2008 R2 实现思路: 1.新建一个自定义函数,可将单个字符串拆分为含单个网址的数据表 2.采用outer ...
- 1.Java基础_Java核心机制简介
Java的两种核心机制 Java虚拟机机制 Java垃圾回收机制 解释名词 J2SDK&JRE: J2SDK=JDK=Software Development Kit(软件开发包) JRE=J ...
- 《深度学习》圣经"花书"经验法则中文版!
作者:Jeff Macaluso https://jeffmacaluso.github.io/post/DeepLearningRulesOfThumb/ 转自CVer,仅用作个人学习 当我在研究生 ...
- MySQL学习笔记8——多表查询
多表查询 多表查询 *合并结果集 *连接查询 *子查询 合并结果集 *要求被合并的表中,列的类型和列数相同(实际上是查询的结果集列类型和列数相同即可) *UNION,去除重复行 *UNION ALL, ...
- table的常用属性
Table属性: Cellspacing:单元格与单元格之间或者单元格与表格之间的 距离. Cellpadding:单元格边框与内容之间的距离 Colspan:跨列.合并列. Rowspan:跨行,行 ...
- ASP.NET开发实战——(八)ASP.NET MVC 与数据库之MySQL
之前介绍了My Blog如何使用ADO.NET来访问SQL Server获取数据.本章将介绍如何使用My SQL来完成数据管理. 在使用My SQL之前需确保开发环境中安装了My SQL数据库和Con ...
- node启动服务后,窗口不能关闭。pm2了解一下
在做项目时,遇到一个问题. 项目中要和一个3D模型做交互,而做模型的人,给了一个 js 文件.需要在node环境下,使用vscode调试功能启动的. 而我们使用或者调试的时候,喜欢使用命令咋办? 使用 ...
- 数据仓库003 - 复习Linux shell命令 - 用户用户组 sudo 权限 du-sh find
一.用户用户组 [root@localhost ~]# ll /usr/sbin/user* -rwxr-x--- root root -- /usr/sbin/useradd -rwxr-x--- ...
- cURL error 60: SSL certificate problem: unable to get local issuer certificate(转)【亲测】
php5.6以上的版本会出现这种问题 解决办法: [开启拓展] extension=curl extension=openssl [配置证书] 访问https://curl.haxx.se/docs/ ...