zoukankan      html  css  js  c++  java
  • 大数据基础---Elasticsearch搭建与应用

    项目版本

    Build Status

    构建需要:

    • JDK1.7

    • Elasticsearch2.2.1

    • 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目录(提供中文分词)

        image-20200609161219342

    • 修改完后分发到另外两台服务器

      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进行搜索。

    项目开源地址

    系列传送门

  • 相关阅读:
    project和task
    Gradle的安装
    Spring 集成 RMI
    RMI远程调用
    安装、启动与基本配置
    删除
    文件的分隔与合并
    my27_OGG MySQL To MySQL错误汇总
    1.5 GO json转Map
    1.4 Go语言-switch语句(转)
  • 原文地址:https://www.cnblogs.com/shun7man/p/13073515.html
Copyright © 2011-2022 走看看