Elasticsearch安装和配置 + 数据库同步数据

希望通过这篇文章,减少你的时间,愿同你一起修行,任重而道远!

先来看看最终效果:
这里写图片描述

第一.安装:Elasticsearch

  1. 安装之前检查***jdk***是否安装:
cmd  输入命令  java -version

这里写图片描述
2. 下载:Elasticsearch https://www.elastic.co/downloads/elasticsearch 本例子版本Elasticsearch6.1.4.zip
这里写图片描述
下载完解压即可:直接双击/bin/ElasticSearch.bat
这里写图片描述
浏览器输入:http://127.0.0.1:9200 查看效果
这里写图片描述
修改一下config/elasticsearch.yml配置文件:(方便之后使用),修改后重启效果
这里写图片描述

** 第二.下载node.js ** (head需要从node.js安装)

1、Windows 安装包(.msi)
32 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x86.msi
64 位安装包下载地址 : https://nodejs.org/dist/v4.4.3/node-v4.4.3-x64.msi
安装教程:https://www.runoob.com/nodejs/nodejs-install-setup.html
这里写图片描述
查看node.js是否生效:

cmd 输入 node -v

显示出信息:
这里写图片描述

安装grunt 【head插件就是通过grunt启动】

到安装node.js的目录下,输入栏中输入cmd即可进入cmd命令操作符界面:
这里写图片描述
这里写图片描述

cmd 输入  npm install -g grunt-cli

这里写图片描述
之后:查看是否安装成功,出现版本就表示成功了

cmd 输入 grunt -version

这里写图片描述

第三.下载head

点击下载:https://github.com/mobz/elasticsearch-head/archive/master.zip 解压zip
修改文件:
这里写图片描述

找到connect,复制下面de数据替换原始数据
connect: {
			server: {
				options: {
					port: 9100,
					base: '.',
					hostname: '*',
					keepalive: true
				}
			}
		}

这里写图片描述
同样输入框:cmd 到该目录

这里写图片描述

输入命令  npm install  回车执行

这里写图片描述
然后:

输入  npm run start 启动服务

这里写图片描述
浏览器中输入:http://localhost:9100 查看现象
这里写图片描述
好了现在head 安装,已经成功了!!

第四.下载 logstash-6.1.4 (注意版本对应Elasticsearch6.1.4)

下载链接:https://www.elastic.co/fr/downloads/logstash 在 past releases.找到logstash-6.1.4.zip 解压
这里写图片描述
进入bin目录中创建:一个bin文件夹(本例子为bin,命名随意),jdbc.sql,logstash.conf文件
这里写图片描述

SELECT id,birthday,sex,address from user   
  • logstash.conf
input {
    stdin {
    
    }
    jdbc {
       # mysql 数据库链接,mybatis为数据库名
      jdbc_connection_string => "jdbc:mysql://127.0.0.1:3306/mybatis"
      # 用户名和密码
      jdbc_user => "root"
      jdbc_password => "123456"
      # 驱动 修改为mysql连接包位置
      jdbc_driver_library => "D:/chromeDownload/elasticsearch-6.1.4-log-mysql/logstash-6.1.4/bin/bin/mysql-connector-java-5.1.7-bin.jar"
      # 驱动类名
      jdbc_driver_class => "com.mysql.jdbc.Driver"
      jdbc_paging_enabled => "true"
      jdbc_page_size => "50000"
      # 执行的sql 文件路径+名称 
      statement_filepath => "jdbc.sql"
      # 设置监听间隔  各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新
      schedule => "* * * * *"
    }
}
output {
    elasticsearch {
        # ES的IP地址及端口
        hosts => ["localhost:9200"]
        # 索引名称 可自定义
        index => "test"
        # 需要关联的数据库中有有一个id字段,对应类型中的id
        document_id => "%{id}"
        document_type => "test"
    }
    stdout {
        # JSON格式输出
        codec => json_lines
    }
}

— [logstash.conf更多配置详情]:https://yq.aliyun.com/articles/152043

  • mysql数据库中user的信息:
DROP TABLE IF EXISTS `user`;
CREATE TABLE `user` (
  `id` int(11) NOT NULL AUTO_INCREMENT,
  `username` varchar(32) NOT NULL COMMENT '用户名称',
  `birthday` date DEFAULT NULL COMMENT '生日',
  `sex` char(1) DEFAULT NULL COMMENT '性别',
  `address` varchar(256) DEFAULT NULL COMMENT '地址',
  PRIMARY KEY (`id`)
) ENGINE=InnoDB AUTO_INCREMENT=33 DEFAULT CHARSET=utf8;

INSERT INTO `user` VALUES ('1', '王五', '2018-08-28', '2', '上海');
INSERT INTO `user` VALUES ('10', '张三', '2014-07-10', '1', '北京市');
INSERT INTO `user` VALUES ('16', '张小明', '2018-08-16', '1', '河南郑州');
INSERT INTO `user` VALUES ('22', '陈小明', '2018-08-17', '1', '河南郑州');
INSERT INTO `user` VALUES ('24', '张三丰', '2018-08-26', '1', '河南郑州');
INSERT INTO `user` VALUES ('25', '陈小明', '2018-08-14', '1', '河南郑州');
INSERT INTO `user` VALUES ('26', '王五', '2018-08-28', '1', '北京');
INSERT INTO `user` VALUES ('30', '马小跳', '2018-08-28', '1', '西安');

第五步.启动程序

  1. 启动elasticsearch-6.1.4
    这里写图片描述
  2. 启动elasticsearch-head-master
elasticsearch-head-master 目录下输入  npm run start  或者  npm start

这里写图片描述

3.接下来:
这里写图片描述

输入  logstash -f logstash.conf   (logstash.conf  文件创建的路径+文件名)

这里写图片描述

显示出下列信息的话,成功!!

这里写图片描述

浏览器中再次输入:http://localhost:9100
这里写图片描述
显示出数据
这里写图片描述

Elasticsearch + head + mysql同步数据到这里就结束了!至于怎么结合到项目中做**“全文搜索这种功能”**,继续探索吧!
留言区等你!

linux安装es:https://blog.csdn.net/hljkdwh/article/details/85386935

  • 7
    点赞
  • 69
    收藏
    觉得还不错? 一键收藏
  • 15
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 15
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值