入门大数据---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进行搜索。
入门大数据---Elasticsearch搭建与应用的更多相关文章
- 入门大数据---Elasticsearch是什么?
Elasticsearch是谁不重要,重要的是咱们都知道百度,谷歌这样的搜索巨头吧.它们的核心技术都利用了Elasticsearch,所以我们有必要对Elasticsearch了解下! 1.Elast ...
- 入门大数据---HDFS-HA搭建
一.简述 上一篇了解了Zookeeper和HDFS的一些概念,今天就带大家从头到尾搭建一下,其中遇到的一些坑也顺便记录下. 1.1 搭建的拓扑图如下: 1.2 部署环境:Centos3.1,java1 ...
- 入门大数据---Storm搭建与应用
1.Storm在Linux环境配置 主机名 tuge1 tuge2 tuge3 部署环境 Zookeeper/Nimbus Zookeeper/Supervisor Zookeeper/Supervi ...
- 入门大数据---Hbase搭建
环境介绍 tuge1 tuge2 tuge3 tuge4 NameNode NameNode DataNode DataNode ZooKeeper ZooKeeper ZooKeeper ZooKe ...
- 入门大数据---Kylin搭建与应用
由于Kylin官网已经是中文的了,而且写的很详细,这里就不再重述. 学习右转即可. 这里说个遇到的问题,当在Kylin使用SQL关键字时,要加上双引号,并且里面的内容要大写,这个和MySql有点区别需 ...
- 大数据平台搭建(hadoop+spark)
大数据平台搭建(hadoop+spark) 一.基本信息 1. 服务器基本信息 主机名 ip地址 安装服务 spark-master 172.16.200.81 jdk.hadoop.spark.sc ...
- 入门大数据---Flink学习总括
第一节 初识 Flink 在数据激增的时代,催生出了一批计算框架.最早期比较流行的有MapReduce,然后有Spark,直到现在越来越多的公司采用Flink处理.Flink相对前两个框架真正做到了高 ...
- 大数据平台搭建-zookeeper集群的搭建
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...
- 大数据平台搭建-kafka集群的搭建
本系列文章主要阐述大数据计算平台相关框架的搭建,包括如下内容: 基础环境安装 zookeeper集群的搭建 kafka集群的搭建 hadoop/hbase集群的搭建 spark集群的搭建 flink集 ...
随机推荐
- Rocket - diplomacy - LazyModule
https://mp.weixin.qq.com/s/FBU8fE4u9-UK6mRGQOlvbQ 介绍LazyModule的实现. 1. children LazyModu ...
- JavaSE(二) 关键字、标识符、注释
个人博客网:https://wushaopei.github.io/ (你想要这里多有) 1关键字与标识符 1.1 java关键字的使用 定义:被Java语言赋予了特殊含义,用做专门用途的字符串 ...
- Java实现 LeetCode 821 字符的最短距离(暴力)
821. 字符的最短距离 给定一个字符串 S 和一个字符 C.返回一个代表字符串 S 中每个字符到字符串 S 中的字符 C 的最短距离的数组. 示例 1: 输入: S = "loveleet ...
- Java实现 LeetCode 789 逃脱阻碍者(曼哈顿距离)
789. 逃脱阻碍者 你在进行一个简化版的吃豆人游戏.你从 (0, 0) 点开始出发,你的目的地是 (target[0], target[1]) .地图上有一些阻碍者,第 i 个阻碍者从 (ghost ...
- ASP.NET通过更改Url进行页面传值
这里,通过假数据,手动创建的一个类,然后创建的一个集合,放入下拉框,选好值以后,点确定 会在另一个页面产生对应的id,有不懂的欢迎评论 创建一个类: using System; using Syste ...
- Java实现 LeetCode 628 三个数的最大乘积(暴力大法)
628. 三个数的最大乘积 给定一个整型数组,在数组中找出由三个数组成的最大乘积,并输出这个乘积. 示例 1: 输入: [1,2,3] 输出: 6 示例 2: 输入: [1,2,3,4] 输出: 24 ...
- Java实现 蓝桥杯VIP 算法训练 王后传说
问题描述 地球人都知道,在国际象棋中,后如同太阳,光芒四射,威风八面,它能控制横.坚.斜线位置. 看过清宫戏的中国人都知道,后宫乃步步惊心的险恶之地.各皇后都有自己的势力范围,但也总能找到相安无事的办 ...
- Java实现 蓝桥杯VIP 算法训练 装箱问题
题目描述 有一个箱子容量为V(正整数0≤V≤20000),同时有n个物品(0<n≤30,每个物品有一个体积(正整数). 要求nn个物品中,任取若干个装入箱内,使箱子的剩余空间为最小. 输入输出格 ...
- linux init.d启动停止脚本
/etc/init.d/httpd status /etc/init.d/nginx status /etc/init.d/postgresql start linux快捷启动
- python—面向对象设计
一:三大编程范式 1.面向过程编程 2.函数式编程 3.面向对象编程 (类:把一类事物的相同的特征和动作整合到一起就是类,类是一个抽象的概念) (对象:就是基于类而创建的一个具体的事物 [具体存在的] ...