社区日报 第461期 (2018-11-27)
http://t.cn/Ri9e4Ss
2. 多个ES集群一致性问题
http://t.cn/RIwrbul
3. 使用elasticsearch与jieba分词搭建搜索服务
http://t.cn/ELXEWPv
编辑:wt
归档:https://elasticsearch.cn/article/6158
订阅:https://tinyletter.com/elastic-daily
http://t.cn/Ri9e4Ss
2. 多个ES集群一致性问题
http://t.cn/RIwrbul
3. 使用elasticsearch与jieba分词搭建搜索服务
http://t.cn/ELXEWPv
编辑:wt
归档:https://elasticsearch.cn/article/6158
订阅:https://tinyletter.com/elastic-daily 收起阅读 »
社区日报 第460期 (2018-11-26)
http://t.cn/RTKEZ0U
2.ElasticSearch集群故障案例分析: 警惕通配符查询
https://elasticsearch.cn/article/171
3.分析elk中kibana查询数据返回为空
http://t.cn/ELbN7ti
编辑:cyberdak
归档:https://elasticsearch.cn/article/6157
订阅:https://tinyletter.com/elastic-daily
http://t.cn/RTKEZ0U
2.ElasticSearch集群故障案例分析: 警惕通配符查询
https://elasticsearch.cn/article/171
3.分析elk中kibana查询数据返回为空
http://t.cn/ELbN7ti
编辑:cyberdak
归档:https://elasticsearch.cn/article/6157
订阅:https://tinyletter.com/elastic-daily 收起阅读 »
访谈:Elastic Stack v6.5 新特性解读
欢迎来到 Elastic 社区电台的第八期节目,我们本期节目的嘉宾是来自于Elastic 在中国的首席架构师吴斌, Elastic 在本月11月14日发布了一个全新的版本 6.5,放出了一系列精彩的特性,本次节目我们就这些最近发布的新特性做一个简单的解读。
收听地址
https://www.ximalaya.com/keji/14965410/139462151
嘉宾
吴斌,十年 IT 行业经验,经历了软件工程师到架构师的全方位磨练。专注于海量数据处理、挖掘、分析和企业级搜索等领域。 现任 Elastic 架构师,负责公司亚太地区事务。致力于应用 Elastic 的先进技术产品解决企业数据应用问题。
主持人
Elastic 技术布道师,曾勇(Medcl)。
关于 Elastic 社区电台
Elastic 开源社区举办的一款播客类节目, 邀请来自开源社区的用户,一起聊聊 Elastic 开源产品的使用案例、经验分享、架构变迁等等。
欢迎来到 Elastic 社区电台的第八期节目,我们本期节目的嘉宾是来自于Elastic 在中国的首席架构师吴斌, Elastic 在本月11月14日发布了一个全新的版本 6.5,放出了一系列精彩的特性,本次节目我们就这些最近发布的新特性做一个简单的解读。
收听地址
https://www.ximalaya.com/keji/14965410/139462151
嘉宾
吴斌,十年 IT 行业经验,经历了软件工程师到架构师的全方位磨练。专注于海量数据处理、挖掘、分析和企业级搜索等领域。 现任 Elastic 架构师,负责公司亚太地区事务。致力于应用 Elastic 的先进技术产品解决企业数据应用问题。
主持人
Elastic 技术布道师,曾勇(Medcl)。
关于 Elastic 社区电台
Elastic 开源社区举办的一款播客类节目, 邀请来自开源社区的用户,一起聊聊 Elastic 开源产品的使用案例、经验分享、架构变迁等等。
收起阅读 »社区日报 第459期 (2018-11-25)
http://t.cn/E20PxFB
2.ElasticSearch命令备忘单。
http://t.cn/ELzpeNp
3.(自备梯子)抵制谷歌让你成为机器人的企图。
http://t.cn/ELz8ybs
编辑:至尊宝
归档:https://elasticsearch.cn/article/6155
订阅:https://tinyletter.com/elastic-daily
http://t.cn/E20PxFB
2.ElasticSearch命令备忘单。
http://t.cn/ELzpeNp
3.(自备梯子)抵制谷歌让你成为机器人的企图。
http://t.cn/ELz8ybs
编辑:至尊宝
归档:https://elasticsearch.cn/article/6155
订阅:https://tinyletter.com/elastic-daily 收起阅读 »
社区日报 第458期 (2018-11-24)
-
ES结合深度学习提升查找相似文档的效率。 http://t.cn/ELhMvpM
-
Elasticsearch在物流数据中心的应用。 http://t.cn/E2ky75a
- 国产好片推荐:《无名之辈》。 http://t.cn/E2zSj92
-
ES结合深度学习提升查找相似文档的效率。 http://t.cn/ELhMvpM
-
Elasticsearch在物流数据中心的应用。 http://t.cn/E2ky75a
- 国产好片推荐:《无名之辈》。 http://t.cn/E2zSj92
社区日报 第457期 (2018-11-23)
http://t.cn/E23BXY3
2、Elasticsearch和Hive集成实战
http://t.cn/RToSes4
3、浅谈Elasticsearch基础与架构
http://t.cn/EwklpZS
编辑:铭毅天下
归档:https://elasticsearch.cn/article/6153
订阅:https://tinyletter.com/elastic-daily
http://t.cn/E23BXY3
2、Elasticsearch和Hive集成实战
http://t.cn/RToSes4
3、浅谈Elasticsearch基础与架构
http://t.cn/EwklpZS
编辑:铭毅天下
归档:https://elasticsearch.cn/article/6153
订阅:https://tinyletter.com/elastic-daily 收起阅读 »
CentOS 7.4 下安装 ES 6.5.1 搜索集群
一、准备安装
1、修改系统 hosts
vi /etc/hosts # 修改 hosts 文件,添加下面的内容
192.168.11.1 sky-00
192.168.11.2 sky-01
192.168.11.3 sky-02
192.168.11.4 sky-03
192.168.11.5 sky-04
192.168.11.6 sky-05
192.168.11.7 sky-06
2、角色分配
主机名 | 角色 | 内存分配 |
---|---|---|
sky-00 | Master | 4G |
sky-01 | Master | 8G |
sky-02 | Master+Data | 12G |
sky-03 | Data | 12G |
sky-04 | Data | 12G |
sky-05 | Data | 12G |
sky-06 | Data | 12G |
3、创建 ES 用户
adduser elastic # 新增用户
passwd elastic # 修改用户密码
4、创建 ES 数据和日志目录
cd /data/
mkdir elastic
cd elastic
mkdir data # 创建数据目录
mkdir log # 创建日志目录
chown -R elastic /data/elastic/ # 修改拥有着
5、调整文件句柄数以及可用进程数
Elasticsearch 要求其可用的文件句柄至少为 65536,同时要求其进程数限制至少为 2048,可用按照下面的指令进行修改。
分别对应以下两个报错信息:
- max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
- max number of threads [1024] for user [es] is too low, increase to at least [2048]
vi /etc/security/limits.conf
* soft nofile 100001
* hard nofile 100002
* soft nproc 4096
* hard nproc 8192
elastic soft memlock unlimited
elastic hard memlock unlimited
6、设置内核交换
为了避免不必要的磁盘和内存交换,影响效率,需要将 vm.swappiness
修改为 1(进行最少量的交换,而不禁用交换)或者 10(当系统存在足够内存时,推荐设置为该值以提高性能),其默认值为 60。
此外需要修改最大虚拟内存 vm.max_map_count
防止启动时报错:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
。
vi /etc/sysctl.conf
vm.swappiness = 1
vm.max_map_count = 262144
7、下载安装文件
mkdir /opt/downloads/
mkdir /opt/soft/
cd /opt/downloads/
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-linux-x86_64.tar.gz
wget http://download.oracle.com/otn/java/jdk/xxxxxx/jdk-8u191-linux-x64.tar.gz
tar -zxvf elasticsearch-6.5.1.tar.gz -C /opt/soft/
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/soft/
tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz -C /opt/soft/
chown -R elastic /opt/soft/elasticsearch-6.5.1/
chown -R elastic /opt/soft/kibana-6.5.1/
二、开始安装
1、配置 Java 环境
su elastic #切换到 elastic 用户
vi ~/.bashrc #只修改 elastic 用户自己的环境变量
export JAVA_HOME=/opt/soft/jdk1.8.0_191
export JRE_HOME=/opt/soft/jdk1.8.0_191/jre
export CLASSPATH=.:/opt/soft/jdk1.8.0_191/lib:/opt/soft/jdk1.8.0_191/jre/lib
export PATH=$PATH:/opt/soft/jdk1.8.0_191/bin:/opt/soft/jdk1.8.0_191/jre/bin
2、配置 ES 内存占用
cd /opt/soft/elasticsearch-6.5.1/config/
vi jvm.options
-Xms4g # 请根据自己机器配置调整
-Xmx4g
3、配置 Elasticsearch
下面的配置已经过多个生产环境验证,具体设置值仅供参考,请务必根据实际情况进行调整。
# ---------------------------------- Cluster -----------------------------------
#
# 设置集群名
cluster.name: cluster-name
#
# ------------------------------------ Node ------------------------------------
#
# 设置节点名
node.name: node01
# 设置角色
node.master: true
node.data: false
node.ingest: true
# 设置机架信息
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# 设置数据路径
path.data: /data/elastic/data
# 设置日志路径
path.logs: /data/elastic/log
#
# ----------------------------------- Memory -----------------------------------
#
# 设置内存锁定
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
#
# ---------------------------------- Network -----------------------------------
#
# 设置ip和端口
network.bind_host: sky-00
network.publish_host: 0.0.0.0
http.port: 9200
# 设置跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.max_content_length: 500mb
# --------------------------------- Discovery ----------------------------------
# 设置zen发现范围(只需要填写主节点的 ip 即可)
discovery.zen.ping.unicast.hosts: ["sky-00", "sky-01", "sky-02"]
discovery.zen.no_master_block: write
discovery.zen.fd.ping_timeout: 10s
# 设置最小主节点个数,一般为:(master_node_count+1)/2
discovery.zen.minimum_master_nodes: 2
# ---------------------------------- Gateway -----------------------------------
#
# 设置在有4个节点后进行数据恢复
gateway.recover_after_nodes: 4
gateway.expected_nodes: 7
gateway.recover_after_time: 1m
#
# ---------------------------------- Various -----------------------------------
# 禁止通配符模式删除索引
action.destructive_requires_name: true
indices.recovery.max_bytes_per_sec: 200mb
indices.memory.index_buffer_size: 20%
# 默认开启全部类型脚本,可以通过下面配置进行限制
#script.allowed_types: inline
#script.allowed_contexts: search, update
# 关闭xpack的安全校验
xpack.security.enabled: false
# 开启 monitoring
xpack.monitoring.enabled: true
xpack.monitoring.collection.enabled: true
# 设置 monitoring 写入信息
xpack.monitoring.exporters:
sky:
type: http
host: ["sky-02", "sky-03", "sky-04", "sky-05", "sky-06"]
# 设置 monitoring 索引格式,默认是 YYYY-MM-DD(按天新建)
index.name.time_format: YYYY-MM
headers:
# 设置 Basic 认证信息(详见插件安装部分说明)
Authorization: "Basic XXXXXXXXXXXXXXX"
三、安装插件
1、安装插件
推荐安装的插件有:
- IK 中文分词插件
- Readonlyrest 安全认证插件
- elasticsearch-head 集群监控管理插件(chrome 插件)
插件下载链接: https://pan.baidu.com/s/1r_322unsIjoWlhY8u7pkBA 提取码: aupq
使用下面命令即可安装。
$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/elasticsearch-analysis-ik-6.5.1.zip
$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/readonlyrest-1.16.29_es6.5.1.zip
2、配置 Readonlyrest 安全认证
下面只简单介绍 Readonlyrest 的 Basic 认证,更高级的用法可以去官方网站查看,在 ES 安装目录的 conf 目录下新建文件 readonlyrest.yml
,并添加下面内容。
readonlyrest:
access_control_rules:
- name: "Require HTTP Basic Auth"
type: allow
auth_key: 用户名:密码
3、启动 ES
全部安装完成后,即可使用 elastic 用户启动 ES。
# 默认 ES 不支持 root 用户启动
su elastic
cd /opt/soft/elasticsearch-6.5.1/bin
./elasticsearch -d
四、在 Kibana 里面监控
在安装 ES 的时候,我们配置了 ES 的监控信息,这样我们就可以在 Kibana 中查看 ES 索引信息、node 信息等。
1、配置 Kibana
进入 Kibana 的解压目录下的 conf 文件夹,打开配置文件 kibana.yml
。
# 配置 kibana ui 的端口
server.port: 5601
# 配置 kibana 访问 ip
server.host: "0.0.0.0"
# 设置 ES 地址
elasticsearch.url: "http://sky-00:9200"
# dashboards. Kibana creates a new index if the index doesn't already exist.
#kibana.index: ".kibana"
# 打开 kibana 时默认页面
#kibana.defaultAppId: "home"
# ES Basic 认证信息
elasticsearch.username: "用户名"
elasticsearch.password: "密码"
# 设置时区信息
#i18n.locale: "en"
# 开启监控
xpack.monitoring.enabled: true
# 关闭 kibana 监控,默认为 true
xpack.monitoring.kibana.collection.enabled: false
2、对 Kibana 配置文件的说明
- ES Basic 认证信息配置(在启动时对 Kibana 索引进行维护)完成后,登陆 kibana 时,依旧需要输入认证信息;
- 由于 kibana 的 monitoring 无法设置新建的索引的索引名(无法配置 index.name.time_format),这样 kibana 每天会新建一个索引,由于 kibana 只是作为管理查看工具,因此关闭了 kibana 监控;
elasticsearch.url
该配置项无法设置多个 es 地址;如果你想实现类似负载均衡的功能,最简单的方法就是在 Kibana 机器上运行一个协调(Coordinating)节点。
3、监控界面
全部配置完成后,启动 kibana,打开 monitoring 即可开始监控 node、index 等。
五、设置索引模板
具体请参考之前发布的文章基于 IK 分词器的 ES 通用索引模板
Any Code,Code Any!
扫码关注『AnyCode』,编程路上,一起前行。
一、准备安装
1、修改系统 hosts
vi /etc/hosts # 修改 hosts 文件,添加下面的内容
192.168.11.1 sky-00
192.168.11.2 sky-01
192.168.11.3 sky-02
192.168.11.4 sky-03
192.168.11.5 sky-04
192.168.11.6 sky-05
192.168.11.7 sky-06
2、角色分配
主机名 | 角色 | 内存分配 |
---|---|---|
sky-00 | Master | 4G |
sky-01 | Master | 8G |
sky-02 | Master+Data | 12G |
sky-03 | Data | 12G |
sky-04 | Data | 12G |
sky-05 | Data | 12G |
sky-06 | Data | 12G |
3、创建 ES 用户
adduser elastic # 新增用户
passwd elastic # 修改用户密码
4、创建 ES 数据和日志目录
cd /data/
mkdir elastic
cd elastic
mkdir data # 创建数据目录
mkdir log # 创建日志目录
chown -R elastic /data/elastic/ # 修改拥有着
5、调整文件句柄数以及可用进程数
Elasticsearch 要求其可用的文件句柄至少为 65536,同时要求其进程数限制至少为 2048,可用按照下面的指令进行修改。
分别对应以下两个报错信息:
- max file descriptors [4096] for elasticsearch process is too low, increase to at least [65536]
- max number of threads [1024] for user [es] is too low, increase to at least [2048]
vi /etc/security/limits.conf
* soft nofile 100001
* hard nofile 100002
* soft nproc 4096
* hard nproc 8192
elastic soft memlock unlimited
elastic hard memlock unlimited
6、设置内核交换
为了避免不必要的磁盘和内存交换,影响效率,需要将 vm.swappiness
修改为 1(进行最少量的交换,而不禁用交换)或者 10(当系统存在足够内存时,推荐设置为该值以提高性能),其默认值为 60。
此外需要修改最大虚拟内存 vm.max_map_count
防止启动时报错:max virtual memory areas vm.max_map_count [65530] likely too low, increase to at least [262144]
。
vi /etc/sysctl.conf
vm.swappiness = 1
vm.max_map_count = 262144
7、下载安装文件
mkdir /opt/downloads/
mkdir /opt/soft/
cd /opt/downloads/
wget https://artifacts.elastic.co/downloads/elasticsearch/elasticsearch-6.5.1.tar.gz
wget https://artifacts.elastic.co/downloads/kibana/kibana-6.5.1-linux-x86_64.tar.gz
wget http://download.oracle.com/otn/java/jdk/xxxxxx/jdk-8u191-linux-x64.tar.gz
tar -zxvf elasticsearch-6.5.1.tar.gz -C /opt/soft/
tar -zxvf jdk-8u191-linux-x64.tar.gz -C /opt/soft/
tar -zxvf kibana-6.5.1-linux-x86_64.tar.gz -C /opt/soft/
chown -R elastic /opt/soft/elasticsearch-6.5.1/
chown -R elastic /opt/soft/kibana-6.5.1/
二、开始安装
1、配置 Java 环境
su elastic #切换到 elastic 用户
vi ~/.bashrc #只修改 elastic 用户自己的环境变量
export JAVA_HOME=/opt/soft/jdk1.8.0_191
export JRE_HOME=/opt/soft/jdk1.8.0_191/jre
export CLASSPATH=.:/opt/soft/jdk1.8.0_191/lib:/opt/soft/jdk1.8.0_191/jre/lib
export PATH=$PATH:/opt/soft/jdk1.8.0_191/bin:/opt/soft/jdk1.8.0_191/jre/bin
2、配置 ES 内存占用
cd /opt/soft/elasticsearch-6.5.1/config/
vi jvm.options
-Xms4g # 请根据自己机器配置调整
-Xmx4g
3、配置 Elasticsearch
下面的配置已经过多个生产环境验证,具体设置值仅供参考,请务必根据实际情况进行调整。
# ---------------------------------- Cluster -----------------------------------
#
# 设置集群名
cluster.name: cluster-name
#
# ------------------------------------ Node ------------------------------------
#
# 设置节点名
node.name: node01
# 设置角色
node.master: true
node.data: false
node.ingest: true
# 设置机架信息
#node.attr.rack: r1
#
# ----------------------------------- Paths ------------------------------------
#
# 设置数据路径
path.data: /data/elastic/data
# 设置日志路径
path.logs: /data/elastic/log
#
# ----------------------------------- Memory -----------------------------------
#
# 设置内存锁定
bootstrap.memory_lock: true
bootstrap.system_call_filter: false
#
# ---------------------------------- Network -----------------------------------
#
# 设置ip和端口
network.bind_host: sky-00
network.publish_host: 0.0.0.0
http.port: 9200
# 设置跨域访问
http.cors.enabled: true
http.cors.allow-origin: "*"
http.max_content_length: 500mb
# --------------------------------- Discovery ----------------------------------
# 设置zen发现范围(只需要填写主节点的 ip 即可)
discovery.zen.ping.unicast.hosts: ["sky-00", "sky-01", "sky-02"]
discovery.zen.no_master_block: write
discovery.zen.fd.ping_timeout: 10s
# 设置最小主节点个数,一般为:(master_node_count+1)/2
discovery.zen.minimum_master_nodes: 2
# ---------------------------------- Gateway -----------------------------------
#
# 设置在有4个节点后进行数据恢复
gateway.recover_after_nodes: 4
gateway.expected_nodes: 7
gateway.recover_after_time: 1m
#
# ---------------------------------- Various -----------------------------------
# 禁止通配符模式删除索引
action.destructive_requires_name: true
indices.recovery.max_bytes_per_sec: 200mb
indices.memory.index_buffer_size: 20%
# 默认开启全部类型脚本,可以通过下面配置进行限制
#script.allowed_types: inline
#script.allowed_contexts: search, update
# 关闭xpack的安全校验
xpack.security.enabled: false
# 开启 monitoring
xpack.monitoring.enabled: true
xpack.monitoring.collection.enabled: true
# 设置 monitoring 写入信息
xpack.monitoring.exporters:
sky:
type: http
host: ["sky-02", "sky-03", "sky-04", "sky-05", "sky-06"]
# 设置 monitoring 索引格式,默认是 YYYY-MM-DD(按天新建)
index.name.time_format: YYYY-MM
headers:
# 设置 Basic 认证信息(详见插件安装部分说明)
Authorization: "Basic XXXXXXXXXXXXXXX"
三、安装插件
1、安装插件
推荐安装的插件有:
- IK 中文分词插件
- Readonlyrest 安全认证插件
- elasticsearch-head 集群监控管理插件(chrome 插件)
插件下载链接: https://pan.baidu.com/s/1r_322unsIjoWlhY8u7pkBA 提取码: aupq
使用下面命令即可安装。
$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/elasticsearch-analysis-ik-6.5.1.zip
$ES_HOME/bin/elasticsearch-plugin -install file:///data/downloads/readonlyrest-1.16.29_es6.5.1.zip
2、配置 Readonlyrest 安全认证
下面只简单介绍 Readonlyrest 的 Basic 认证,更高级的用法可以去官方网站查看,在 ES 安装目录的 conf 目录下新建文件 readonlyrest.yml
,并添加下面内容。
readonlyrest:
access_control_rules:
- name: "Require HTTP Basic Auth"
type: allow
auth_key: 用户名:密码
3、启动 ES
全部安装完成后,即可使用 elastic 用户启动 ES。
# 默认 ES 不支持 root 用户启动
su elastic
cd /opt/soft/elasticsearch-6.5.1/bin
./elasticsearch -d
四、在 Kibana 里面监控
在安装 ES 的时候,我们配置了 ES 的监控信息,这样我们就可以在 Kibana 中查看 ES 索引信息、node 信息等。
1、配置 Kibana
进入 Kibana 的解压目录下的 conf 文件夹,打开配置文件 kibana.yml
。
# 配置 kibana ui 的端口
server.port: 5601
# 配置 kibana 访问 ip
server.host: "0.0.0.0"
# 设置 ES 地址
elasticsearch.url: "http://sky-00:9200"
# dashboards. Kibana creates a new index if the index doesn't already exist.
#kibana.index: ".kibana"
# 打开 kibana 时默认页面
#kibana.defaultAppId: "home"
# ES Basic 认证信息
elasticsearch.username: "用户名"
elasticsearch.password: "密码"
# 设置时区信息
#i18n.locale: "en"
# 开启监控
xpack.monitoring.enabled: true
# 关闭 kibana 监控,默认为 true
xpack.monitoring.kibana.collection.enabled: false
2、对 Kibana 配置文件的说明
- ES Basic 认证信息配置(在启动时对 Kibana 索引进行维护)完成后,登陆 kibana 时,依旧需要输入认证信息;
- 由于 kibana 的 monitoring 无法设置新建的索引的索引名(无法配置 index.name.time_format),这样 kibana 每天会新建一个索引,由于 kibana 只是作为管理查看工具,因此关闭了 kibana 监控;
elasticsearch.url
该配置项无法设置多个 es 地址;如果你想实现类似负载均衡的功能,最简单的方法就是在 Kibana 机器上运行一个协调(Coordinating)节点。
3、监控界面
全部配置完成后,启动 kibana,打开 monitoring 即可开始监控 node、index 等。
五、设置索引模板
具体请参考之前发布的文章基于 IK 分词器的 ES 通用索引模板
Any Code,Code Any!
扫码关注『AnyCode』,编程路上,一起前行。
收起阅读 »社区日报 第456期 (2018-11-22)
http://t.cn/E21vqIJ
2.携程机票日志追踪系统架构演进
http://t.cn/EzisYHb
3.手写ElasticSearch分词器
http://t.cn/E21vLG3
编辑:金桥
归档:https://elasticsearch.cn/article/6151
订阅:https://tinyletter.com/elastic-daily
http://t.cn/E21vqIJ
2.携程机票日志追踪系统架构演进
http://t.cn/EzisYHb
3.手写ElasticSearch分词器
http://t.cn/E21vLG3
编辑:金桥
归档:https://elasticsearch.cn/article/6151
订阅:https://tinyletter.com/elastic-daily 收起阅读 »
社区日报 第455期 (2018-11-21)
http://t.cn/E2HKuxt
2. Elasticsearch常见的5个错误及解决策略
http://t.cn/E2H9bKw
3. Elasticsearch 原理分析
http://t.cn/ReCN93k
编辑:江水
归档:https://elasticsearch.cn/article/6150
订阅:https://tinyletter.com/elastic-daily
http://t.cn/E2HKuxt
2. Elasticsearch常见的5个错误及解决策略
http://t.cn/E2H9bKw
3. Elasticsearch 原理分析
http://t.cn/ReCN93k
编辑:江水
归档:https://elasticsearch.cn/article/6150
订阅:https://tinyletter.com/elastic-daily
收起阅读 »
2018 年 Elastic Advent Calendar 分享活动已结束 ??
活动创意来自于圣诞节倒计时,从12月1号开始到12月25日结束。
每天固定一篇文章分享,内容长短都可。
报名现在开始,留言报名即可,留言格式: Day[日期] - 你的分享标题。
一共25篇,报满即止。
虽然是西方的节日,不过目的是为了大家一起分享,重在参与嘛。
往期活动可参考:https://elasticsearch.cn/topic/advent
活动参与名单:
- Day 1 - ELK 使用小技巧 - @rochy
- Day 2 - ES 6.x拼音分词高亮爬坑记 - @abia
- Day 3 - kibana二次开发tips - @vv
- Day 4 - PB级规模数据的Elasticsearch分库分表实践 - @ouyangchucai
- Day 5 - es存储设备全解析 - @cyberdak
- Day 6 - 上手 Logstash Pipeline to Pipeline 特性 - @rockybean
- Day 7 - Elasticsearch中数据是如何存储的 - @weizijun
- Day 8 - 如何使用Spark快速将数据写入Elasticsearch - @Ricky Huo
- Day 9 - 动手实现一个自定义beat - @Xinglong
- Day 10 - Elasticsearch 分片恢复并发数过大引发的bug分析 - @howardhuang
- Day 11 - Elasticsearch 5.x 6.x父子关系维护检索实战 - @yinbp
- Day 12 - Elasticsearch日志场景最佳实践 - @ginger
- Day 13 - Elasticsearch-Hadoop打通Elasticsearch和Hadoop - @Jasonbian
- Day 14 - 订单中心基于elasticsearch 的解决方案 - @blogsit
- Day 15 - 基于海量公司分词ES中文分词插件 - @novia
- Day 16 - Elasticsearch性能调优 - @白衬衣
- Day 17 - 关于日志型数据管理策略的思考 - @kennywu76
- Day 18 - 记filebeat内存泄漏问题分析及调优 - @点火三周
- Day 19 - 通过点击反馈优化es搜索结果排序 - @laigood
- Day 20 - Elastic性能实战指南 - @laoyang360
- Day 21 - ECE 版本升级扫雷实战 - @Ben_Wu
- Day 22 - 熟练使用ES离做好搜索还差多远 - @nodexy
- Day 23 - 基于 HanLP 的 ES 中文分词插件 - @rochy
- Day 24 - predator捕捉病毒样本 - @swordsmanli
- Day 25 - Elasticsearch Ingest节点数据管道处理器 - @bindiego
如何发布?
自己选择发布文章,按你的标题在12月你的这一天发布出来就好了。
活动创意来自于圣诞节倒计时,从12月1号开始到12月25日结束。
每天固定一篇文章分享,内容长短都可。
报名现在开始,留言报名即可,留言格式: Day[日期] - 你的分享标题。
一共25篇,报满即止。
虽然是西方的节日,不过目的是为了大家一起分享,重在参与嘛。
往期活动可参考:https://elasticsearch.cn/topic/advent
活动参与名单:
- Day 1 - ELK 使用小技巧 - @rochy
- Day 2 - ES 6.x拼音分词高亮爬坑记 - @abia
- Day 3 - kibana二次开发tips - @vv
- Day 4 - PB级规模数据的Elasticsearch分库分表实践 - @ouyangchucai
- Day 5 - es存储设备全解析 - @cyberdak
- Day 6 - 上手 Logstash Pipeline to Pipeline 特性 - @rockybean
- Day 7 - Elasticsearch中数据是如何存储的 - @weizijun
- Day 8 - 如何使用Spark快速将数据写入Elasticsearch - @Ricky Huo
- Day 9 - 动手实现一个自定义beat - @Xinglong
- Day 10 - Elasticsearch 分片恢复并发数过大引发的bug分析 - @howardhuang
- Day 11 - Elasticsearch 5.x 6.x父子关系维护检索实战 - @yinbp
- Day 12 - Elasticsearch日志场景最佳实践 - @ginger
- Day 13 - Elasticsearch-Hadoop打通Elasticsearch和Hadoop - @Jasonbian
- Day 14 - 订单中心基于elasticsearch 的解决方案 - @blogsit
- Day 15 - 基于海量公司分词ES中文分词插件 - @novia
- Day 16 - Elasticsearch性能调优 - @白衬衣
- Day 17 - 关于日志型数据管理策略的思考 - @kennywu76
- Day 18 - 记filebeat内存泄漏问题分析及调优 - @点火三周
- Day 19 - 通过点击反馈优化es搜索结果排序 - @laigood
- Day 20 - Elastic性能实战指南 - @laoyang360
- Day 21 - ECE 版本升级扫雷实战 - @Ben_Wu
- Day 22 - 熟练使用ES离做好搜索还差多远 - @nodexy
- Day 23 - 基于 HanLP 的 ES 中文分词插件 - @rochy
- Day 24 - predator捕捉病毒样本 - @swordsmanli
- Day 25 - Elasticsearch Ingest节点数据管道处理器 - @bindiego
如何发布?
自己选择发布文章,按你的标题在12月你的这一天发布出来就好了。
收起阅读 »
社区日报 第454期 (2018-11-20)
http://t.cn/E20PA5a
2、GitLab 11.5 将支持 Elasticsearch 6,放弃支持5.5。
http://t.cn/E20Pq9j
3、ElasticSearch搜索之布尔和聚合。
http://t.cn/E20PxFB
编辑:叮咚光军
归档:https://elasticsearch.cn/article/6148
订阅:https://tinyletter.com/elastic-daily
http://t.cn/E20PA5a
2、GitLab 11.5 将支持 Elasticsearch 6,放弃支持5.5。
http://t.cn/E20Pq9j
3、ElasticSearch搜索之布尔和聚合。
http://t.cn/E20PxFB
编辑:叮咚光军
归档:https://elasticsearch.cn/article/6148
订阅:https://tinyletter.com/elastic-daily 收起阅读 »
腾讯云Elasticsearch团队招聘高级后台开发工程师 base深圳
Elasticsearch相关产品的新功能设计、开发、运营和维护工作;
跟进研究业界前沿技术,推动产品技术升级。
岗位要求:
编程能力扎实,熟悉Java/C++中的一种,具有良好的数据结构、算法、操作系统等计算机基本知识;
熟悉ElasticSearch/Lucene开源系统,有实际开发经验者优先;
熟悉Hadoop、HBase、InfluxDB等开源系统,有云计算相关开发经验者优先;
具有敏捷开发、完整产品生命周期开发者优先;
学习能力强,善于独立思考,思维活跃,对技术有强烈激情。
请发简历至:360608805@qq.com
Elasticsearch相关产品的新功能设计、开发、运营和维护工作;
跟进研究业界前沿技术,推动产品技术升级。
岗位要求:
编程能力扎实,熟悉Java/C++中的一种,具有良好的数据结构、算法、操作系统等计算机基本知识;
熟悉ElasticSearch/Lucene开源系统,有实际开发经验者优先;
熟悉Hadoop、HBase、InfluxDB等开源系统,有云计算相关开发经验者优先;
具有敏捷开发、完整产品生命周期开发者优先;
学习能力强,善于独立思考,思维活跃,对技术有强烈激情。
请发简历至:360608805@qq.com
收起阅读 »
社区日报 第453期 (2018-11-19)
http://t.cn/E2aQmeA
2. 如何租到靠谱的房子?Scrapy爬虫帮你一网打尽各平台租房信息!
http://t.cn/E2a8AoX
3. 理解elasticsearch的parent-child关系
http://t.cn/E2a89kd
编辑:cyberdak
归档:https://elasticsearch.cn/article/6146
订阅:https://tinyletter.com/elastic-daily
http://t.cn/E2aQmeA
2. 如何租到靠谱的房子?Scrapy爬虫帮你一网打尽各平台租房信息!
http://t.cn/E2a8AoX
3. 理解elasticsearch的parent-child关系
http://t.cn/E2a89kd
编辑:cyberdak
归档:https://elasticsearch.cn/article/6146
订阅:https://tinyletter.com/elastic-daily 收起阅读 »
海量科技股份有限公司ES中文插件
海量分词演示界面 http://www.hailiangxinxi.com/smartCenter2018/index
另外,海量提供免费API接口,文档详见http://www.hailiangxinxi.com/smartCenter2018/doc,欢迎大家试用,如有疑问,请联系nlp@hylanda.com
Analyzer: hlseg_search , hlseg_large , hlseg_normal, Tokenizer: hlseg_search , hlseg_large , hlseg_normal
github地址:https://github.com/HylandaOpen ... ME.md
海量分词演示界面 http://www.hailiangxinxi.com/smartCenter2018/index
另外,海量提供免费API接口,文档详见http://www.hailiangxinxi.com/smartCenter2018/doc,欢迎大家试用,如有疑问,请联系nlp@hylanda.com
Analyzer: hlseg_search , hlseg_large , hlseg_normal, Tokenizer: hlseg_search , hlseg_large , hlseg_normal
github地址:https://github.com/HylandaOpen ... ME.md 收起阅读 »
ET007 ElasticStack 6.5 介绍
就在 11月14日,ElasticStack 6.5.0 发布了,此次发布带来了许多激动人心的特性,我们一起来体验一下:
如果没有任何数据,kibana会提示我们导入sample数据,这边我选择Try our sample data, 然后导入全部3个样例数据,这可以让我们在没有数据的情况下快速体验新特性。
Infrastructure & Logs UI
很多用户使用 ElasticStack 收集基础架构的日志和指标,比如系统日志、安全日志、CPU指标,内存指标等等。在6.5中,kibana 侧边栏中增加了 Infrastructure 和 Logs 两个新的 tab,让用户更简单地查看自己的基础架构,和每台主机或者容器里的日志。
logs
进入logs标签页,如果当前没有数据,kibana会引导我们添加数据
我们选择 system logs
根据指示,我们安装部署好filebeat并启动,再次进入 logs 标签页便可以看到收集到的系统日志了
- 搜索过滤框:在这里可以像在 discover 里一样写query string,并且会有输入提示
- 时间选择框:可以选择需要查看的时间点,如果点了 Stream live,会持续监听尾部新输出的日志内容,类似 linux 命令中的tail -f
- 日志时间轴:高亮的部位是当前查看日志所在的时间范围,对应的区域图标识了日志量
假如我想实现 tail -f /var/log/system.log | grep google.com
一样的效果,可以打开 Stream live,并在搜索过滤框中这样输入:
很简单,很方便有木有?
Infrastructure
同样在kibana的引导下安装 Metric beat,并开启system模块,启动后进入 infrastructure 标签页:
这里可以直观地看到所有基础架构的指标状况,深色的内层代表主机,颜色代表了健康状况。浅灰色的外层代表了group,因为我只在自己的笔记本上做了部署,所以只能看到一个host。
点击主机会弹出菜单
- View logs : 跳转到 logs 标签页,并通过搜索过滤框指定host,只查看这台主机的日志。
- View metrics : 跳转到这台主机的指标详情,可以查看历史数据
APM
Java 和 Go
不负众望,继 Nodejs、Python、Ruby、Javascript 之后,Elastic APM 5.6.0 新增了对 Java 和 Golang 的支持!
Distributed Tracing
在 SOA 和 MSA 大行其道的年代,如何追踪请求在各个系统之间的流动成为了apm的关键问题。
Elastic APM 支持 OpenTracing 标准,并在各个agent里内置了 OpenTracing 兼容的bridge
以下是官网上该特性的截图:
APM Server 监控
如 ElasticStack的其他产品一般,APM也支持了监控,并可以在 Kinbana Montoring下查看监控信息:
APM Server 内存占用优化
通过新的基于NDJSON的协议,agent可以在采集信息后通过事件流立即发往APM server,这样 APM Server可以一个接一个地处理接收到的事件,而不是一次性地收到一大块(chunk),这样在很大程度上减少了APM Server的内存占用。
Elasticsearch
Cross-cluster replication
这里的副本并非我们平时常见的分片副本,而是通过在集群B配置一个副本indexB来追随集群A中的indexA,indexA中发生的任何变化都会同步到indexB中来。另外也可以配置一个pattern,当集群A出现符合pattern的索引,自动在集群B创建他的副本,这听起来很酷。值得一提的是,这将是白金版里新增的一个特性。
Minimal Snapshots
snapshot 是 es 中用来创建索引副本的特性,在之前的版本中,snapshot会把完整的 index 都保存下来,包括原始数据和索引数据等等。新的 Minimal Snapshots 提供了一种只备份 _source
内容和 index metadata
,当需要恢复时,需要通过 reindex 操作来完成。最小快照最多可能帮你节省50%的磁盘占用,但是会花费更多的时间来恢复。这个特性可能并不适合所有人,但给恢复窗口比较长,且磁盘容量有限的用户多了一种选择。
SQL / ODBC
现在可以使用 支持 ODBC 的第三方工具来连接 elasticsearch 了!我想可以找时间试试用 tableau 直连 elasticsearch会是啥效果。
Java 11
Java11 是一个 LTS 版本,相信会有越来越多的用户升级到 java11
G1GC支持
经过无数的测试,Elasticsearch官方宣布了在 JDK 10+ 上支持 G1GC。G1GC 相比 CMS有诸多优势,如今可以放心地使用G1GC了。(期待对ZGC的支持!)
Authorization realm
X-Pack Security中的新特性,可以对用户认证和用户授权分别配置 realm,比如使用内置的用户体系来认证,再去ldap中获取用户的角色、权限等信息。这也是白金版新增的特性。
机器学习的新特性
- 支持在同一个机器学习任务中分析多个时间系列
- 为机器学习任务添加了新的多分桶(multi-bucket) 分析
Kibana
Canvas
Canvas ! 我在做数据分析师的同学看到之后说太酷了,像 PPT。
点击侧边栏的 canvas 标签,可以看到我们先前导入的样本数据也包含了 canvas 样例:
在 11月的 深圳开发者大会上,上海普翔 也用 canvas 对填写调查问卷的参会人员做了分析:
https://github.com/alexfrancoeur/kibana_canvas_examples 这里有很多非常不错的 canvas 样例供大家学习,把json文件直接拖到 canvas 页面就可以导入学习了!
Spaces
把 kibana 对象(比如 visualizations、dashboards)组织到独立的 space 里,并且通过 RBAC 来控制哪些用户可以访问哪些 space。这实在是太棒了,想象在一个企业里,多个部门通过kibana查询、分析数据,大家关注的dashboard肯定是不一样的,在6.5之前,我们只能通过社区插件来实现这样的需求,而大版本的升级可能直接导致插件不可用,有了 Space,我们不必再担心!
Rollups UI
Rollup 是 es6.4 中新增的一个特性,用来把一些历史数据压缩归档,用作以后的分析。6.5.0 中 kibana 增加了一个界面用来查看和管理 Rollup 任务。
Data visualizer for files
通过可视化的方式查看文件的结构,查看其中出现最频繁的内容:
Beats
Beats Central Management
Beats 终于也支持中心化配置管理了!我们只需按照往常一样安装filebeat、metricbeat,然后使用 filebeat enroll <kibana-url> <token>
,便可以通过kibana来管理beats的配置、甚至给他们打上tag:
想一想,假如我们在上千台机器上部署filebeat,如果哪天需要批量变更配置文件,只需要通过脚本调用配置管理的API就可以了
Functionbeat
Functionbeat是一种新的beat类型,可以被部署为一个方法,而不需要跑在服务器环境上,比如 AWS Lambda function。
以上就是 6.5.0 版本的主要特性,更详细的内容可以查看 https://www.elastic.co/blog/elastic-stack-6-5-0-released ,希望通过我的介绍,可以让大家了解到新版本所带来的激动人心的特性。
就在 11月14日,ElasticStack 6.5.0 发布了,此次发布带来了许多激动人心的特性,我们一起来体验一下:
如果没有任何数据,kibana会提示我们导入sample数据,这边我选择Try our sample data, 然后导入全部3个样例数据,这可以让我们在没有数据的情况下快速体验新特性。
Infrastructure & Logs UI
很多用户使用 ElasticStack 收集基础架构的日志和指标,比如系统日志、安全日志、CPU指标,内存指标等等。在6.5中,kibana 侧边栏中增加了 Infrastructure 和 Logs 两个新的 tab,让用户更简单地查看自己的基础架构,和每台主机或者容器里的日志。
logs
进入logs标签页,如果当前没有数据,kibana会引导我们添加数据
我们选择 system logs
根据指示,我们安装部署好filebeat并启动,再次进入 logs 标签页便可以看到收集到的系统日志了
- 搜索过滤框:在这里可以像在 discover 里一样写query string,并且会有输入提示
- 时间选择框:可以选择需要查看的时间点,如果点了 Stream live,会持续监听尾部新输出的日志内容,类似 linux 命令中的tail -f
- 日志时间轴:高亮的部位是当前查看日志所在的时间范围,对应的区域图标识了日志量
假如我想实现 tail -f /var/log/system.log | grep google.com
一样的效果,可以打开 Stream live,并在搜索过滤框中这样输入:
很简单,很方便有木有?
Infrastructure
同样在kibana的引导下安装 Metric beat,并开启system模块,启动后进入 infrastructure 标签页:
这里可以直观地看到所有基础架构的指标状况,深色的内层代表主机,颜色代表了健康状况。浅灰色的外层代表了group,因为我只在自己的笔记本上做了部署,所以只能看到一个host。
点击主机会弹出菜单
- View logs : 跳转到 logs 标签页,并通过搜索过滤框指定host,只查看这台主机的日志。
- View metrics : 跳转到这台主机的指标详情,可以查看历史数据
APM
Java 和 Go
不负众望,继 Nodejs、Python、Ruby、Javascript 之后,Elastic APM 5.6.0 新增了对 Java 和 Golang 的支持!
Distributed Tracing
在 SOA 和 MSA 大行其道的年代,如何追踪请求在各个系统之间的流动成为了apm的关键问题。
Elastic APM 支持 OpenTracing 标准,并在各个agent里内置了 OpenTracing 兼容的bridge
以下是官网上该特性的截图:
APM Server 监控
如 ElasticStack的其他产品一般,APM也支持了监控,并可以在 Kinbana Montoring下查看监控信息:
APM Server 内存占用优化
通过新的基于NDJSON的协议,agent可以在采集信息后通过事件流立即发往APM server,这样 APM Server可以一个接一个地处理接收到的事件,而不是一次性地收到一大块(chunk),这样在很大程度上减少了APM Server的内存占用。
Elasticsearch
Cross-cluster replication
这里的副本并非我们平时常见的分片副本,而是通过在集群B配置一个副本indexB来追随集群A中的indexA,indexA中发生的任何变化都会同步到indexB中来。另外也可以配置一个pattern,当集群A出现符合pattern的索引,自动在集群B创建他的副本,这听起来很酷。值得一提的是,这将是白金版里新增的一个特性。
Minimal Snapshots
snapshot 是 es 中用来创建索引副本的特性,在之前的版本中,snapshot会把完整的 index 都保存下来,包括原始数据和索引数据等等。新的 Minimal Snapshots 提供了一种只备份 _source
内容和 index metadata
,当需要恢复时,需要通过 reindex 操作来完成。最小快照最多可能帮你节省50%的磁盘占用,但是会花费更多的时间来恢复。这个特性可能并不适合所有人,但给恢复窗口比较长,且磁盘容量有限的用户多了一种选择。
SQL / ODBC
现在可以使用 支持 ODBC 的第三方工具来连接 elasticsearch 了!我想可以找时间试试用 tableau 直连 elasticsearch会是啥效果。
Java 11
Java11 是一个 LTS 版本,相信会有越来越多的用户升级到 java11
G1GC支持
经过无数的测试,Elasticsearch官方宣布了在 JDK 10+ 上支持 G1GC。G1GC 相比 CMS有诸多优势,如今可以放心地使用G1GC了。(期待对ZGC的支持!)
Authorization realm
X-Pack Security中的新特性,可以对用户认证和用户授权分别配置 realm,比如使用内置的用户体系来认证,再去ldap中获取用户的角色、权限等信息。这也是白金版新增的特性。
机器学习的新特性
- 支持在同一个机器学习任务中分析多个时间系列
- 为机器学习任务添加了新的多分桶(multi-bucket) 分析
Kibana
Canvas
Canvas ! 我在做数据分析师的同学看到之后说太酷了,像 PPT。
点击侧边栏的 canvas 标签,可以看到我们先前导入的样本数据也包含了 canvas 样例:
在 11月的 深圳开发者大会上,上海普翔 也用 canvas 对填写调查问卷的参会人员做了分析:
https://github.com/alexfrancoeur/kibana_canvas_examples 这里有很多非常不错的 canvas 样例供大家学习,把json文件直接拖到 canvas 页面就可以导入学习了!
Spaces
把 kibana 对象(比如 visualizations、dashboards)组织到独立的 space 里,并且通过 RBAC 来控制哪些用户可以访问哪些 space。这实在是太棒了,想象在一个企业里,多个部门通过kibana查询、分析数据,大家关注的dashboard肯定是不一样的,在6.5之前,我们只能通过社区插件来实现这样的需求,而大版本的升级可能直接导致插件不可用,有了 Space,我们不必再担心!
Rollups UI
Rollup 是 es6.4 中新增的一个特性,用来把一些历史数据压缩归档,用作以后的分析。6.5.0 中 kibana 增加了一个界面用来查看和管理 Rollup 任务。
Data visualizer for files
通过可视化的方式查看文件的结构,查看其中出现最频繁的内容:
Beats
Beats Central Management
Beats 终于也支持中心化配置管理了!我们只需按照往常一样安装filebeat、metricbeat,然后使用 filebeat enroll <kibana-url> <token>
,便可以通过kibana来管理beats的配置、甚至给他们打上tag:
想一想,假如我们在上千台机器上部署filebeat,如果哪天需要批量变更配置文件,只需要通过脚本调用配置管理的API就可以了
Functionbeat
Functionbeat是一种新的beat类型,可以被部署为一个方法,而不需要跑在服务器环境上,比如 AWS Lambda function。
以上就是 6.5.0 版本的主要特性,更详细的内容可以查看 https://www.elastic.co/blog/elastic-stack-6-5-0-released ,希望通过我的介绍,可以让大家了解到新版本所带来的激动人心的特性。
收起阅读 »