# elasticsearch-wrapper **Repository Path**: YunweiZheng/elasticsearch-wrapper ## Basic Information - **Project Name**: elasticsearch-wrapper - **Description**: elasticsearch代理服务,类似于DB-proxy、JDBC-sharding等代理工具 - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 43 - **Created**: 2017-07-31 - **Last Updated**: 2020-12-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # elasticsearch-wrapper /** * *@author Jason峰 Wind *@Date 2015-10-01 *@Company Baidu * */ **简介 1、elasticsearch代理服务,类似于DB-proxy、JDBC-sharding 2、主要提供了集群压力限流、读写分离、异步请求、异常跟踪记录、负载均衡、热部署、ES集群压力监控等等功能 3、纯JAVA编写、多线程、低耦合、模块化、可插拔、异步非阻塞web server服务!** Introduction 1、elasticsearch proxy service,like db-proxy、JDBC-sharding 2、Main modules supported currently:parallel tasks throttle、read-write separation、async request、illegal operations logging and tracking、load balance、hot deployment、cluster monitor and warning and so on. 3、Web service which built in java with multiple threads(threadPool)、Low Coupling and nio concept. In addition,Also designed in modules which can be added and removed neatly if needed. /** * *@author Joe.zhang *@Date 2016-06-20 *@Company U51 * */ 原作者没有继续,可能工作忙吧,想接手看看,然后在自己的项目中用用看。 打包安装方法: 1、mvn 安装,不多讲了吧,没有的不会的就别继续看了; 2、修改配置:src/main/resources/wrapper-common.properties 文件以下属性: 打包安装方法: 1、mvn 安装,不多讲了吧,没有的不会的就别继续看了; 2、修改配置:src/main/resources/wrapper-common.properties 文件以下属性: ``` #默认集群名,改为你的本地es集群名 defaultClusterName=vdata-test #默认超时时间 defaultTimeout=30000 #默认日志存放路径,这个改一下哦 defaultLogDir=/Users/admin/ defaultSlowTimeout=300000 ``` 3、建立你的es集群配置文件。<集群名>.properties,比如我的:vdata-test.properties. 修改配置正确的属性: ``` #读任务并发数 searchConcurrentCount = 100 #写任务并发数 writeConcurrentCount = 100 #读任务队列长度 searchBufferSize = 500 #写任务队列长度 writeBufferSize = 500 #ES集群http节点 httpNodes =test74:9200,test75:9200,test76:9200 #ES集群transport节点 transportNodes = test74:9300,test75:9300,test76:9300 #负载均衡策略 balanceType =ROUNDROBIN #失败重试次数 retries = 3 #fiter链 filterChain = monitorFilter #是否开启监控 monitor = true #监控数据统计 时间间隔 monitorInterval = 10000 #监控模块,队列长度 monitorQueueSize = 100000 #监控模块,任务线程数 monitorMergeThreadNum = 3 #是否同步 syncWrapper=true ``` 4、运行 :mvn package 5、target下生成:es-wrapper.war包,放到tomcat webapp下; 6、访问tomcat服务:http://localhost:8080/es-wrapper/ 返回 es集群一样的默认信息,如下类似,恭喜你,你成功了,百度你这个东西你也有了: ``` { "name" : "test74", "cluster_name" : "vdata-test", "version" : { "number" : "2.3.3", "build_hash" : "218bdf10790eef486ff2c41a3df5cfa32dadcfde", "build_timestamp" : "2016-05-17T15:40:04Z", "build_snapshot" : false, "lucene_version" : "5.5.0" }, "tagline" : "You Know, for Search" } ``` 备注: 开源的东西一定要自己hold住对方的源码,才能用的好, 这个代码不复杂,而且都是国内常见的spring mvc框架做,应该大部分人都能hold住。