入门大数据---Elasticsearch搭建与应用
项目版本
构建需要:
junit4.10
log4j1.2.17
spring-context3.2.0.RELEASE
spring-core3.2.0.RELEASE
spring-beans3.2.0.RELEASE
spring-web3.2.0.RELEASE
spring-expression3.2.0.RELEASE
jstl1.2
运行需要:
JRE1.7
Tomcat8.x
Linux部署Elastisearch同开发版本一致。
一、功能简介
ElasticSearchByWeb是一个基于ElasticSearch技术开发的搜索项目。
提供了索引库的建立,数据的录入,搜索查询,web展示。
索引库效果图:
搜索效果图:
二、项目结构
├─.idea
│ ├─artifacts
│ ├─codeStyles
│ └─libraries
├─src
│ ├─main
│ │ ├─java
│ │ │ └─vip
│ │ │ └─shuai7boy
│ │ │ ├─controller (Spring MVC展示)
│ │ │ ├─model(用到的字段类)
│ │ │ ├─server(创建索引库,添加数据,搜索)
│ │ │ └─util(包括了分页工具类)
│ │ └─resources
│ └─test
│ └─java
└─web
└─WEB-INF(项目配置)
三、Elasticsearch服务搭建
要想使用代码操作ES,必须先把ES服务器搭建起来。
这里准备了三台服务器node1,node2,node3练手。
上传文件
先将Elasticsearch2.2.1下载好的文件上传到node1下面的/opt/elasticsearch目录下。
创建用户
创建一个新的Linux用户,名称随意,我这里取名ryj(ES为了安全,不能直接使用root用户运行)。
切换到新创建的用户,解压文件。
su ryj
tar xxx.tar.gz
修改配置
进入到/config 修改elasticsearch.yml
cluster.name: ryj-es #设置集群名称
node.name: node1 #设置节点名称(一会分发到其它服务器记得修改)
network.host: 192.168.40.200 #设置服务器地址(一会分发到其它服务器记得修改)
http.port: 9200 #放开端口
#下面是防止脑裂部分
discovery.zen.ping.multicast.enabled: false
discovery.zen.ping.unicast.hosts: ["192.168.40.200:9300", "192.168.40.201:9300","192.168.40.202:9300"]
discovery.zen.ping_timeout: 120s
client.transport.ping_timeout: 60s
修改完后保存。
添加插件
在项目下创建plugins目录
将head插件放入plugins目录(提供词库浏览的web ui)
将ik插件放入plugins目录(提供中文分词)
修改完后分发到另外两台服务器
scp -r xxx ryj@node2:`pwd`
scp -r xxx ryj@node3:`pwd`
启动
在启动之前要确保都要切换到上面新创建的Linux用户下。
./bin/elasticsearch
浏览
测试每个节点是否启动成功使用9200端口,例如: http://node1:9200/
浏览分词库在上面的基础上加
_plugin/head/
,例如:http://node1:9200/_plugin/head/
上面的都正常无误后,接下来就是运行项目构建索引库操作了。
进入vip.shuai7boy.serve.IndexServer 下运行createIndex构建索引库。
进入vip.shuai7boy.serve.IndexServer 下运行addHtmlToES添加数据。
启动Tomcat进行搜索。
最新文章
- 弱省互测#0 t3
- js array queue (队列)
- Linux档案与目录管理
- hdf第一周完了,突然时间静止.,醒了就早点去公司上班,再努力一点
- javascript 逻辑运算符
- UVa 10817 (状压DP + 记忆化搜索) Headmaster's Headache
- 以正确的方式开源 Python 项目
- linux_shell_获取日期相关
- 微信小程序推荐
- [js高手之路]深入浅出webpack教程系列3-配置文件webpack.config.js详解(下)
- RBAC__权限设计__结构化表的输出(不知道怎么描述标题,反正就是设计表) 难点重点 必须掌握🤖
- Windows Java包环境变量的设置
- prometheus + grafana安装部署(centos6.8)
- blfs(systemd版本)学习笔记-总页
- 在linux中要直接查找的命令
- react native 之 获取键盘高度
- mySQL InnoDB 的性能问题讨论
- linux高级编程——IO
- Linux下源码编译安装MySQL 5.5.8
- 何凯文每日一句打卡||DAY7
热门文章
- ERROR: ...hbase.PleaseHoldException: Master is initializing
- 使用锚点定位不改变url同时平滑的滑动到锚点位置,不会生硬的直接到锚点位置
- Java实现 蓝桥杯 历届试题 斐波那契
- Java实现 LeetCode 488 祖玛游戏
- Java实现 LeetCode 479 最大回文数乘积
- Java实现第九届蓝桥杯快速排序
- Alink漫谈(六) : TF-IDF算法的实现
- 小程序 大转盘 抽奖 canvas animation
- zabbix 中文乱码
- 使用请求头认证来测试需要授权的 API 接口