先自我介绍一下,小编浙江大学毕业,去过华为、字节跳动等大厂,目前阿里P7
深知大多数程序员,想要提升技能,往往是自己摸索成长,但自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!
因此收集整理了一份《2024年最新大数据全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友。
既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新
如果你需要这些资料,可以添加V获取:vip204888 (备注大数据)
正文
为了避免使用的Elasticsearch版本和SpringBoot采用的版本不一致导致的问题,尽量使用一致的版本。下表是对应关系:
我的SpringBoot版本:
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.15</version>
<relativePath />
</parent>
所以选择对应Elasticsearch版本为7.12.0。
2.安装Elasticsearch
Elasticsearch各版本下载
Elasticsearch7.12.0官网下载
- 下载上面链接的安装包
- 解压到任意目录
- 启动es /bin/elasticsearch.bat
- 查看安装结果,在网页输入localhost:9200,出现下图即为成功
这时可能会存在一个问题,用localhost可以访问到,用ip访问不到
需要修改Elasticsearch安装目录下的/config/elasticsearch.yml,在58行添加如下设置
network.bind_host: 0.0.0.0
添加完成后,重新启动es服务,可能会出现闪退问题
其中如果问题为:bootstrap check failure [1] of [1]: the default discovery settings are unsuitable for production use; at least one of [discovery.seed_hosts, discovery.seed_providers, cluster.initial_master_nodes] must be configured
需要把Elasticsearch安装目录下的/config/elasticsearch.yml中大概77行位置的
#cluster.initial_master_nodes: ["node-1", "node-2"]
注释放开,改为
cluster.initial_master_nodes: ["node-1"]
3.安装node
es5以上就需要安装node和grunt,所以安装head插件的前提,是需要把该两项配置好。
node下载地址下载对应环境的node版本安装即可。
安装过程结束后,在dos窗口查看是否安装成功,使用命令:node -v,出现如下截图,则说明安装成功。
4.安装grunt
在node安装路径下,使用命令安装:npm install -g grunt-cli 安装grunt。 安装结束后,使用命令grunt
-version查看是否安装成功,出现如下截图,说明安装成功。
5.安装es-head插件
方便查看ES中的索引及数据
解压elasticsearch-head-master
在该目录下进入cmd命令,执行npm install
执行完成后运行命令 grunt server,
grunt server是启动命令
如果出现报错
则使用 cmd继续执行npm install grunt --save-dev。 这将向package.json添加最新版本。
如果不报错,则命令窗显示
浏览器输入127.0.0.1:9100
这里其实无法连接到elasticsearch, 还需要解决跨域问题
由于前后端分离开发,所以会存在跨域问题,需要在服务端做CORS的配置。
修改Elasticsearch安装目录下的/config/elasticsearch.yml,添加如下设置
http.cors.enabled: true
http.cors.allow-origin: "\*"
http.cors.allow-credentials: true
http.cors.allow-headers: Content-Type,Accept,Authorization,x-requested-with
#http.cors.allow-headers: "\*"
重启ES服务
6.安装kibana
用途:便于通过rest api调试ES。
kibana官方7.12.0下载地址
kibana中文社区下载地址
- 解压
- 修改 kibana-7.12.0-windows-x86_64/config/kibana.yml 32行
- 改为elasticsearch.hosts: [“http://127.0.0.1:9200”]
- 保存之后,运行bin/kibana.bat
- 浏览器中访问kibana首页首页链接
直接访问开发工具:开发工具
如果想使用ip访问kibana,需要修改 kibana-7.12.0-windows-x86_64/config/kibana.yml 7行
改为 server.host: “0.0.0.0”
如果想使用kibana汉化 需要修改 kibana-7.12.0-windows-x86_64/config/kibana.yml 最后一行
i18n.locale: “zh-CN”
7.安装ik分词器
注意:下载的ik分词器版本号要和安装的elasticsearch版本一致
把下载的ik分词器解压至Elasticsearch的安装目录/plugins/ik内。
- 测试ik分词器
- 重启elasticsearch
- 重启kibana
- 进入kibana的开发工具中执行命令测试 开发工具
- 执行命令: GET _analyze{ “analyzer”: “ik_max_word”, “text”: “折上折满减”}
- 执行结果如下
二、整合SpringBoot和Elasticearch
1.pom.xml
<parent>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-parent</artifactId>
<version>2.5.15</version>
<relativePath />
</parent>
<!--springBoot2.5.15对应Elasticsearch7.12.0版本-->
<!--elasticsearch-->
<dependency>
<groupId>org.elasticsearch</groupId>
<artifactId>elasticsearch</artifactId>
<version>7.12.0</version>
</dependency>
<dependency>
<groupId>org.springframework.boot</groupId>
<artifactId>spring-boot-starter-data-elasticsearch</artifactId>
</dependency>
2.application.yml
spring:
elasticsearch:
rest:
uris: 192.168.1.36:9200
connection-timeout: 1s
read-timeout: 30s
3.ElasticSearch(实体类)
import lombok.Data;
import org.springframework.data.annotation.Id;
import org.springframework.data.elasticsearch.annotations.Document;
import org.springframework.data.elasticsearch.annotations.Field;
import org.springframework.data.elasticsearch.annotations.FieldType;
//@Document 文档对象 (索引信息、文档类型 )
@Document(indexName="blog3")
@Data
public class ElasticSearch {
//@Id 文档主键 唯一标识
@Id
//@Field 每个文档的字段配置(类型、是否分词、是否存储、分词器 )
@Field(store=true, index = false,type = FieldType.Integer)
private Integer id;
@Field(index=true,analyzer="ik\_smart",store=true,searchAnalyzer="ik\_smart",type = FieldType.Text)
private String title;
@Field(index=true,analyzer="ik\_smart",store=true,searchAnalyzer="ik\_smart",type = FieldType.Text)
private String content;
@Field(index=true,store=true,type = FieldType.Double)
private Double price;
}
4.ElasticSearchRepository
网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。
需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)
一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!
private String content;
@Field(index=true,store=true,type = FieldType.Double)
private Double price;
}
### 4.ElasticSearchRepository
**网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。**
**需要这份系统化的资料的朋友,可以添加V获取:vip204888 (备注大数据)**
[外链图片转存中...(img-phoY8SNv-1713154975609)]
**一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!**