部署elasticsearch遇到的问题
为增加搜索功能,最近在自己的服务器上部署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", " ", ""]
}
} 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遇到的问题的更多相关文章
- Docker部署Elasticsearch集群
http://blog.sina.com.cn/s/blog_8ea8e9d50102wwik.html Docker部署Elasticsearch集群 参考文档: https://hub.docke ...
- 【原创】大数据基础之Ambari(2)通过Ambari部署ElasticSearch(ELK)
ambari2.7.3(hdp3.1) 安装 elasticsearch6.3.2 ambari的hdp中原生不支持elasticsearch安装,下面介绍如何通过mpack方式使ambari支持el ...
- Azure vm 扩展脚本自动部署Elasticsearch集群
一.完整过程比较长,我仅给出Azure vm extension script 一键部署Elasticsearch集群的安装脚本,有需要的同学,可以邮件我,我给你完整的ARM Template 如果你 ...
- Centos8 部署 ElasticSearch 集群并搭建 ELK,基于Logstash同步MySQL数据到ElasticSearch
Centos8安装Docker 1.更新一下yum [root@VM-24-9-centos ~]# yum -y update 2.安装containerd.io # centos8默认使用podm ...
- Centos8 Docker部署ElasticSearch集群
ELK部署 部署ElasticSearch集群 1.拉取镜像及批量生成配置文件 # 拉取镜像 [root@VM-24-9-centos ~]# docker pull elasticsearch:7. ...
- 日志分析系统 - k8s部署ElasticSearch集群
K8s部署ElasticSearch集群 1.前提准备工作 1.1 创建elastic的命名空间 namespace编排文件如下: elastic.namespace.yaml --- apiVers ...
- Docker 08 部署Elasticsearch
参考源 https://www.bilibili.com/video/BV1og4y1q7M4?spm_id_from=333.999.0.0 https://www.bilibili.com/vid ...
- ES 02 - 部署Elasticsearch单机服务 + 部署中的常见问题
目录 1 准备工作 1.1 安装JDK 1.2 下载安装包 1.3 创建elastic用户 2 启动ES服务 2.1 修改配置文件 2.2 启动服务 3 验证ES服务是否可用 4 关闭与重启服务 4. ...
- Linux服务器部署 Elasticsearch 成功,本机却访问不了
Elasticsearch版本: elasticsearch- 服务器版本: CentOS release 6.8 (Final) 问题: Linux服务器上部署了 Elasticsearch 5.5 ...
随机推荐
- STL的集合set
集合: 集合是由元素组成的一个类,其成员可以是一个集合,也可以是一个原子,通常一个元素在一个集合中不能多次出现:由于对实现集合不是很理解,只简单写下已有的STL中的set集合使用: C++中set基本 ...
- 6/7 sprint2 看板和燃尽图的更新
- 半夜思考之查漏补缺 , Spring 中的 Bean 继承机制
这里的继承 , 不是 Java 中的继承 , 下面就总结下 Bean继承与Java继承的区别: Spring 中的子类 Bean 和父 Bean 可以是不同类型 , 但是 Java 中的继承则可保证子 ...
- 第214天:Angular 基础概念
一.Angular 简介 1. 什么是 AngularJS - 一款非常优秀的前端高级 JS 框架 - 最早由 Misko Hevery 等人创建 - 2009 年被 Google 公式收购,用于其多 ...
- iOS 企业账号申请证书和打包ipa
准备: 299美元的企业账号. 1.登陆苹果开发者中心: https://developer.apple.com .点击Menber Center.输入企业账号和密码登陆. 2.登陆后选择“Certi ...
- python 求两个时间差
def timeInterval(self): today = datetime.date.today() print today modifiedTime = os.stat(filename).s ...
- Docker Machine 和 Docker Engine 的区别
Docker Engine 当人们提到 Docker,一般而言,大家说的是 Docker Engine,如下图: 它是一个 client-server application. Docker Eng ...
- 【bzoj2876】 Noi2012—骑行川藏
http://www.lydsy.com/JudgeOnline/problem.php?id=2876 (题目链接) 题意 在满足约束条件$${\sum_{i=1}^ns_ik_i(v_i-v_i' ...
- Linux内核分析实验二:mykernel实验指导(操作系统是如何工作的)
计算机是如何工作的?(总结)——三个法宝 存储程序计算机工作模型,计算机系统最最基础性的逻辑结构: 函数调用堆栈,高级语言得以运行的基础,只有机器语言和汇编语言的时候堆栈机制对于计算机来说并不那么重要 ...
- Reactor模式,或者叫反应器模式 - 为什么用多路io复用提供吞吐量
Reactor这个词译成汉语还真没有什么合适的,很多地方叫反应器模式,但更多好像就直接叫reactor模式了,其实我觉着叫应答者模式更好理解一些.通过了解,这个模式更像一个侍卫,一直在等待你的召唤,或 ...