为增加搜索功能,最近在自己的服务器上部署elasticsearch,折腾一下,把注意的问题记录一下。

1.  因为最近的es5.5.2要求java1.8,所以确保java版本正确.

2. 我的服务器只有1G内存,如果使用默认elasticsearch设置,会出现内存不足的情况,所以需要把jvm的内存调小:

在elasticsearch-5.5.2/config/jvm.options内把jvm初始堆和最大使用内存大小都设为512m:

-Xms512m
-Xmx512m

这个时候可以正常启动es了。

以下部分是扩展.

3. 我的博客数据存在mysql,要把里面的数据同步给es索引,用到logstash-jdbc,这是一个单独的组件,最新也是5.5.2,同样的,把logstash 的jvm的内存调小:

在logstash-5.5.2/config/jvm.options 内设为如下:

-Xms512m
-Xmx512m

4. 在logstash-5.5.2/bin/下建立配置文件:jdbc.conf

# The # character at the beginning of a line indicates a comment. Use
# comments to describe your configuration.
input { jdbc {
# mysql jdbc connection string to our backup databse 后面的test对应mysql中的test数据库
jdbc_connection_string => "jdbc:mysql://localhost:3306/blog" # the user we wish to excute our statement as
jdbc_user => "root"
jdbc_password => "密码" # the path to our downloaded jdbc driver
jdbc_driver_library => "/var/mysql-connector-java-5.1.44-bin.jar" # the name of the driver class for mysql
jdbc_driver_class => "com.mysql.jdbc.Driver"
jdbc_paging_enabled => "true"
jdbc_page_size => "50000" #以下对应着要执行的sql的绝对路径。
statement_filepath => "/var/ogstash-5.5.2/bin/jdbc.sql" #定时字段 各字段含义(由左至右)分、时、天、月、年,全部为*默认含义为每分钟都更新(测试结果,不同的话请留言指出)
schedule => "* * * * *" #设定ES索引类型
type => "article"
} } filter { mutate {
gsub => ["content", "(<.+?>)", ""]
gsub => ["content", "&nbsp;", ""]
}
} output {
elasticsearch { #ESIP地址与端口
hosts => "localhost:9200" #ES索引名称(自己定义的)
index => "tornado-blog" #自增ID编号
document_id => "%{id}"
}
stdout {
#以JSON格式输出
codec => json_lines
} }

这里需要注意的是在filter里的配置,要把html标签去除掉再去给es索引。

其中,指定的jdbc.sql内容如下:

select
*
from article where date_add(up_date, interval -8 hour) >= :sql_last_value

之所以要用date_add函数把时间差8个小时,是因为es里是用的utc标准时间,所以为了增加更新,需要把时间也变成utc时间,不然时间总是比上次同步的时间大,es会每次都会索引。

5. 启动es,logstash

./elasticsearch > log.txt 2>&1 &
./logstash -f jdbc.conf > log.txt 2>&1 &

之所以不用-d选项,是因为在使用中发现使用-d会使的服务器频繁使用swap分区,造成服务器反应慢,反而是这种&方式不会引起服务器变慢的问题.

部署elasticsearch遇到的问题的更多相关文章

  1. Docker部署Elasticsearch集群

    http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...

  2. 【原创】大数据基础之Ambari(2)通过Ambari部署ElasticSearch(ELK)

    ambari2.7.3(hdp3.1) 安装 elasticsearch6.3.2 ambari的hdp中原生不支持elasticsearch安装,下面介绍如何通过mpack方式使ambari支持el ...

  3. Azure vm 扩展脚本自动部署Elasticsearch集群

    一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...

  4. Centos8 部署 ElasticSearch 集群并搭建 ELK,基于Logstash同步MySQL数据到ElasticSearch

    Centos8安装Docker 1.更新一下yum [root@VM-24-9-centos ~]# yum -y update 2.安装containerd.io # centos8默认使用podm ...

  5. Centos8 Docker部署ElasticSearch集群

    ELK部署 部署ElasticSearch集群 1.拉取镜像及批量生成配置文件 # 拉取镜像 [root@VM-24-9-centos ~]# docker pull elasticsearch:7. ...

  6. 日志分析系统 - k8s部署ElasticSearch集群

    K8s部署ElasticSearch集群 1.前提准备工作 1.1 创建elastic的命名空间 namespace编排文件如下: elastic.namespace.yaml --- apiVers ...

  7. Docker 08 部署Elasticsearch

    参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...

  8. ES 02 - 部署Elasticsearch单机服务 + 部署中的常见问题

    目录 1 准备工作 1.1 安装JDK 1.2 下载安装包 1.3 创建elastic用户 2 启动ES服务 2.1 修改配置文件 2.2 启动服务 3 验证ES服务是否可用 4 关闭与重启服务 4. ...

  9. Linux服务器部署 Elasticsearch 成功,本机却访问不了

    Elasticsearch版本: elasticsearch- 服务器版本: CentOS release 6.8 (Final) 问题: Linux服务器上部署了 Elasticsearch 5.5 ...

随机推荐

  1. C#编程之神奇程序找数

    C#编程之神奇程序找数 问题1:这个程序要找的是符合什么条件的数? 问题2:这样的数存在么?符合这一条件的最小的数是什么? 问题3:在电脑上运行这一程序,你估计多长时间才能输出第一个结果?时间精确到分 ...

  2. ssh结合使用

    springxml配置 <?xml version="1.0" encoding="UTF-8"?> <web-app xmlns:xsi=& ...

  3. WPF自学入门(十二)WPF MVVM模式提取函数

    我们平时在写代码时为了不重复写代码,会进行复制代码或者写通用方法.今天我们就来把上传做的函数提取成为通用的方法调用.把上次写的函数提取为两个主要的文件:ObserableObject和RelayCom ...

  4. Beta阶段——3

    一.提供当天站立式会议照片一张: 二. 每个人的工作 (有work item 的ID) (1) 昨天已完成的工作: 今天主要是对管理员功能进行改进,解决了Alpha阶段出现的一些问题 (2) 今天计划 ...

  5. mysql只修改年月日,时分秒不变

    比如时间为 “2014-12-11 13:12:01”修改为“2014-09-26 13:12::01”修改内容为修改yyyy-mm-dd为对应的日期,时间不变.UPDATE result_road_ ...

  6. T4扩展程序

    T4功能强大,不用简直就是浪费青春.vs是没有自带对T4模板编辑的扩展的,写着很累很累(我很low我承认) 这两个驯兽师能帮你驯服它 Devart T4 Editor T4 Toolbox

  7. UVA11374_Airport Express

    给一个无向图,有的边是特殊边,最多可以取一条特殊边,求最短路,并且输出路径. 这样考虑,加入所有非特殊边,求出每个点到起点和终点的最短路.然后加入特殊边的时候,如果取当前这条特殊边,那么答案会是两点预 ...

  8. 十三个有彩蛋的Linux命令

    原文链接: https://my.oschina.net/u/4045573/blog/2986313   一键下载安装配置文本全部命令所需环境 sudo apt-get updategit clon ...

  9. mysql时间函数和时间操作

    补 原文链接:http://blog.csdn.net/yuxiayiji/article/details/7480785 select timediff('23:40:00', ' 18:30:00 ...

  10. Access数据库通过ODBC导出到Oracle的两个小问题ora-24801\Ora-01401

    问题描述:从access通过odbc导出到oracle出现  ora-24801  非法值 错误  与  Ora-01401 值过大的错误 问题分析:access里面的字段类型为“备注”,导入到ora ...