使用 man ascii 来查看 ASCII 表。

ElasticTalk #3 Elasticsearch压测实战 II esrally 进阶实战

ElasticTalk 第3期 直播的内容是 Elasticsearch 压测实战之 esrally 进阶实战。

本次我们主要讲解了 esrally 如何自定义测试集群、自定义数据集和报告,最后还讲了三步上手 esrally 的方法。
 
视频地址如下:
http://www.bilibili.com/video/av27117279/
继续阅读 »
ElasticTalk 第3期 直播的内容是 Elasticsearch 压测实战之 esrally 进阶实战。

本次我们主要讲解了 esrally 如何自定义测试集群、自定义数据集和报告,最后还讲了三步上手 esrally 的方法。
 
视频地址如下:
http://www.bilibili.com/video/av27117279/ 收起阅读 »

ElasticTalk #2 Elasticsearch压测实战 I esrally 入门与实战

 
ElasticTalk 第2期 直播的内容是 Elasticsearch 压测实战之 esrally 入门和实战。希望这次直播可以帮助大家快速掌握 esrally 这款优秀的 es 压测工具。
 
视频地址如下:
https://www.bilibili.com/video/av27114309/
继续阅读 »
 
ElasticTalk 第2期 直播的内容是 Elasticsearch 压测实战之 esrally 入门和实战。希望这次直播可以帮助大家快速掌握 esrally 这款优秀的 es 压测工具。
 
视频地址如下:
https://www.bilibili.com/video/av27114309/ 收起阅读 »

ElasticTalk #1 用 ElasticStack 快速收集和分析 Nginx 日志

 
去年做了3期 ElasticTalk 的直播节目,预计下周开始恢复。现在放出相关的视频内容,希望对大家有所帮助。
 
第1期的课程内容为用 ElasticStack 快速收集分析 Nginx 日志,其中详细讲解了如何使用 filebeat 的 module 功能。
 
 
视频地址如下:
https://www.bilibili.com/video/av27123368/
继续阅读 »
 
去年做了3期 ElasticTalk 的直播节目,预计下周开始恢复。现在放出相关的视频内容,希望对大家有所帮助。
 
第1期的课程内容为用 ElasticStack 快速收集分析 Nginx 日志,其中详细讲解了如何使用 filebeat 的 module 功能。
 
 
视频地址如下:
https://www.bilibili.com/video/av27123368/ 收起阅读 »

社区日报 第338期 (2018-07-20)

1、如何监控Elasticsearch?
http://t.cn/RdT4xjw
2、Elasticsearch 专属的性能压测工具:Rally 正式发布 1.0.0 版本!
http://t.cn/RdEJlzR
3、Elasticsearch 上生产环境之前,要考虑哪些设置,重要的配置都在这里了
http://t.cn/RdtzzaG

活动预告
1. 7月21日上海meetup倒计时(更大场地,等您来!)
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:铭毅天下
归档:https://elasticsearch.cn/article/721
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1、如何监控Elasticsearch?
http://t.cn/RdT4xjw
2、Elasticsearch 专属的性能压测工具:Rally 正式发布 1.0.0 版本!
http://t.cn/RdEJlzR
3、Elasticsearch 上生产环境之前,要考虑哪些设置,重要的配置都在这里了
http://t.cn/RdtzzaG

活动预告
1. 7月21日上海meetup倒计时(更大场地,等您来!)
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:铭毅天下
归档:https://elasticsearch.cn/article/721
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

社区日报 第337期 (2018-07-19)

1.JavaWeb项目架构之Elasticsearch日志处理系统
http://t.cn/RgKPKeO
2.基于快速GeoHash,如何实现海量商品与商圈的高效匹配?
http://t.cn/RgKP3qE
3.kafka的内部通信和可靠性
http://t.cn/RgKPFrW

活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 
 
编辑:金桥
归档:https://elasticsearch.cn/article/720
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1.JavaWeb项目架构之Elasticsearch日志处理系统
http://t.cn/RgKPKeO
2.基于快速GeoHash,如何实现海量商品与商圈的高效匹配?
http://t.cn/RgKP3qE
3.kafka的内部通信和可靠性
http://t.cn/RgKPFrW

活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 
 
编辑:金桥
归档:https://elasticsearch.cn/article/720
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

我曲解Elasticsearch了吗?

我曲解了Elasticsearch,我以为是每个节点可以存放不同的数据,哈哈哈?。既然不是这样,引发了我另一个思考,说是Elasticsearch能处理TB以及PB的数据,这样的话,一台存放PB级数据的机器该是个多“可怕”的配置。每个节点的数据都一样,这是真正意义的分布式吗?我觉得按Elasticsearch的概念只是利用了节点的硬件资源。我真心希望我的理解是错的,这样我将欢欣鼓舞。
继续阅读 »
我曲解了Elasticsearch,我以为是每个节点可以存放不同的数据,哈哈哈?。既然不是这样,引发了我另一个思考,说是Elasticsearch能处理TB以及PB的数据,这样的话,一台存放PB级数据的机器该是个多“可怕”的配置。每个节点的数据都一样,这是真正意义的分布式吗?我觉得按Elasticsearch的概念只是利用了节点的硬件资源。我真心希望我的理解是错的,这样我将欢欣鼓舞。 收起阅读 »

社区日报 第336期 (2018-07-18)

1. 来自腾讯的 elasticsearch 调优实践
https://0x7.me/Rzl6U
2. 基于 ElasticStack 实现 Kubernetes 的全方位监控
https://0x7.me/7U3gW
3. 想知道 Kibana 最近在研发哪些功能,来看看这个
https://0x7.me/31pGr


活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html

编辑:rockybean
归档:https://elasticsearch.cn/article/718
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1. 来自腾讯的 elasticsearch 调优实践
https://0x7.me/Rzl6U
2. 基于 ElasticStack 实现 Kubernetes 的全方位监控
https://0x7.me/7U3gW
3. 想知道 Kibana 最近在研发哪些功能,来看看这个
https://0x7.me/31pGr


活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html

编辑:rockybean
归档:https://elasticsearch.cn/article/718
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

社区日报 第335期 (2018-07-17)

1.如何为Elasticsearch开发属于你自己的安全扩展和自定义领域。
http://t.cn/RgfWl6d
2.通过启用 Cognito 身份验证来保护 AWS Elasticsearch Service。
http://t.cn/RgfWEpG
3.Elasticsearch史上最全最常用工具清单。
http://t.cn/RgfDHQr 

活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:叮咚光军
归档:https://elasticsearch.cn/article/717
订阅:https://tinyletter.com/elastic-daily
 
继续阅读 »
1.如何为Elasticsearch开发属于你自己的安全扩展和自定义领域。
http://t.cn/RgfWl6d
2.通过启用 Cognito 身份验证来保护 AWS Elasticsearch Service。
http://t.cn/RgfWEpG
3.Elasticsearch史上最全最常用工具清单。
http://t.cn/RgfDHQr 

活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:叮咚光军
归档:https://elasticsearch.cn/article/717
订阅:https://tinyletter.com/elastic-daily
  收起阅读 »

社区日报 第334期 (2018-07-16)

1. 基于Kubernetes的ESaaS架构及实现细节
http://t.cn/RgbgnUI

2. 去哪儿的es as a service 实践
http://t.cn/RgbeGwf

3.PB级ES集群的管理经验
http://t.cn/RtNmXMk 

1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655

2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:cyberdak
归档:https://elasticsearch.cn/article/716
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1. 基于Kubernetes的ESaaS架构及实现细节
http://t.cn/RgbgnUI

2. 去哪儿的es as a service 实践
http://t.cn/RgbeGwf

3.PB级ES集群的管理经验
http://t.cn/RtNmXMk 

1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655

2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:cyberdak
归档:https://elasticsearch.cn/article/716
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

社区日报 第333期 (2018-07-15)

1.Elasticsearch设置和配置。
http://t.cn/Rg2fx0m
2.elasticsearch集群轻松部署在kubernetes。
http://t.cn/RiuNMXw
3.(自备梯子)如果人们支付他们的数据会怎样。
http://t.cn/Rg2o6lA 
 


活动预告
1. 7月21日上海meetup倒计时(更大场地,等您来!)
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:至尊宝
归档:https://elasticsearch.cn/article/715
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1.Elasticsearch设置和配置。
http://t.cn/Rg2fx0m
2.elasticsearch集群轻松部署在kubernetes。
http://t.cn/RiuNMXw
3.(自备梯子)如果人们支付他们的数据会怎样。
http://t.cn/Rg2o6lA 
 


活动预告
1. 7月21日上海meetup倒计时(更大场地,等您来!)
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 

编辑:至尊宝
归档:https://elasticsearch.cn/article/715
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

社区日报 第332期 (2018-07-14)

  1. ES使用SQL示例 http://t.cn/RgvTQ3C

  2. ES6.3新功能:使用Rollup来合并旧日志。 http://t.cn/Rdr8LIZ

  3. pyspark操作ES实例。 http://t.cn/RgzHJm0

活动预告

  1. 7月21日上海meetup倒计时(更大场地,等您来!) https://elasticsearch.cn/m/article/655
  2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作 https://conf.elasticsearch.cn/2018/shenzhen.html

编辑: bsll

归档:https://elasticsearch.cn/article/714

订阅:https://tinyletter.com/elastic-daily

继续阅读 »
  1. ES使用SQL示例 http://t.cn/RgvTQ3C

  2. ES6.3新功能:使用Rollup来合并旧日志。 http://t.cn/Rdr8LIZ

  3. pyspark操作ES实例。 http://t.cn/RgzHJm0

活动预告

  1. 7月21日上海meetup倒计时(更大场地,等您来!) https://elasticsearch.cn/m/article/655
  2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作 https://conf.elasticsearch.cn/2018/shenzhen.html

编辑: bsll

归档:https://elasticsearch.cn/article/714

订阅:https://tinyletter.com/elastic-daily

收起阅读 »

Elastic Certified Engineer 徽章到手!Elastic 官方认证考试

Elastic 官方在6月29日推出了认证服务,即 elastic certified engineer(官方网页),在7月9日我参加了认证考试,并顺利通过拿到了这枚官方认证的徽章。
 

elastic_certificate.png

 
考试还是有一定难度的,需要你对 elastic 的知识面有比较全面的掌握,由于是面向 engineer 的认证,所以只是在应用层面,不会考理论深度层面,感兴趣的同学可以根据官方的考纲重点来准备考试了,下周我会和大家再详细分享下该认证考试的方式和建议。
 
Good Luck!
继续阅读 »
Elastic 官方在6月29日推出了认证服务,即 elastic certified engineer(官方网页),在7月9日我参加了认证考试,并顺利通过拿到了这枚官方认证的徽章。
 

elastic_certificate.png

 
考试还是有一定难度的,需要你对 elastic 的知识面有比较全面的掌握,由于是面向 engineer 的认证,所以只是在应用层面,不会考理论深度层面,感兴趣的同学可以根据官方的考纲重点来准备考试了,下周我会和大家再详细分享下该认证考试的方式和建议。
 
Good Luck! 收起阅读 »

社区日报 第331期 (2018-07-13)

1、elasticAlert使用指南
http://t.cn/RdDZL7C
2、Elasticsearch must_not为什么相对较慢?
http://t.cn/RdDZtfq
3、Function Score Query优化Elasticsearch搜索结果
http://t.cn/RdDZJRP

活动预告
1. 7月21日上海meetup倒计时(更大场地,等您来!)
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 
 
编辑:铭毅天下
归档:https://elasticsearch.cn/article/712
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1、elasticAlert使用指南
http://t.cn/RdDZL7C
2、Elasticsearch must_not为什么相对较慢?
http://t.cn/RdDZtfq
3、Function Score Query优化Elasticsearch搜索结果
http://t.cn/RdDZJRP

活动预告
1. 7月21日上海meetup倒计时(更大场地,等您来!)
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 
 
编辑:铭毅天下
归档:https://elasticsearch.cn/article/712
订阅:https://tinyletter.com/elastic-daily 收起阅读 »

聊聊ELASTICSEARCH的集群状态的管理和维护

注意 本文参考的ES 5.0.1的源码

1. 查看集群状态

可以通过API查看集群状态

GET /_cluster/state

大致可以得到如下内容 cluster_state version 集群状态数字版本号 每次更新version + 1 集群重启version不会置0(只会单调增)

state_uuid 是集群状态字符串版本号(UUID)

master_node master节点

nodes 该版本中的所有节点信息

routing_tablerouting_nodes 都是描述不同index上的shard在node上的分布关系

2. 集群状态的维护

可以阅读 .//core/src/main/java/org/elasticsearch/cluster/ClusterState.java

  • 2.1 ClusterState是不可变对象,每次状态变更都会产生新的ClusterState,它们拥有不同的版本号
  • 2.2 在ES中, 集群状态由Master维护,并且只能由master节点更新集群状态
  • 2.3 更新完成后,Master会把新版本的集群状态推送给集群的其它所有节点 对于publish,Master节点会根据它已知其它节点所拥有的集群状态版本,决定是执行 sendFullClusterState()还是sendClusterStateDiff(),  前者是全量推送,后者增量推送。

  • 2.4 对于使用Zen Discovery的情况,只要有minimumMasterNodes响应了Master节点的publish消息, 那么这次的commit就算成功

  The cluster state can be updated only on the master node. All updates are performed by on a single thread and controlled by the {@link ClusterService}. After every update the {@link Discovery#publish} method publishes new version of the cluster state to all other nodes in the cluster.   In the Zen Discovery it is handled in the {@link PublishClusterStateAction#publish} method

  • 2.5 另外需要补充的是Elasticsearch使用Gossip + Bully算法进行选主。Bully算法在具体实现中,不是简单选取节点ID小的节点, 首先要先比较ClusterState的版本。版本高的优先当选。(各个版本实现有不同,但都需要考虑候选节点的集群状态版本)
        /**
         * Elects a new master out of the possible nodes, returning it. Returns <tt>null</tt>
         * if no master has been elected.
         */
        public MasterCandidate electMaster(Collection<MasterCandidate> candidates) {
            assert hasEnoughCandidates(candidates);
            List<MasterCandidate> sortedCandidates = new ArrayList<>(candidates);
            sortedCandidates.sort(MasterCandidate::compare);
            return sortedCandidates.get(0);
        }
            /**
             * compares two candidates to indicate which the a better master.
             * A higher cluster state version is better
             *
             * @return -1 if c1 is a batter candidate, 1 if c2.
             */
            public static int compare(MasterCandidate c1, MasterCandidate c2) {
                // we explicitly swap c1 and c2 here. the code expects "better" is lower in a sorted
                // list, so if c2 has a higher cluster state version, it needs to come first.
                int ret = Long.compare(c2.clusterStateVersion, c1.clusterStateVersion);
                if (ret == 0) {
                    ret = compareNodes(c1.getNode(), c2.getNode());
                }
                return ret;
            }
        }

参考资料

  1. cluster-state

欢迎光临我的个人博客 萌叔 | http://vearne.cc

继续阅读 »

注意 本文参考的ES 5.0.1的源码

1. 查看集群状态

可以通过API查看集群状态

GET /_cluster/state

大致可以得到如下内容 cluster_state version 集群状态数字版本号 每次更新version + 1 集群重启version不会置0(只会单调增)

state_uuid 是集群状态字符串版本号(UUID)

master_node master节点

nodes 该版本中的所有节点信息

routing_tablerouting_nodes 都是描述不同index上的shard在node上的分布关系

2. 集群状态的维护

可以阅读 .//core/src/main/java/org/elasticsearch/cluster/ClusterState.java

  • 2.1 ClusterState是不可变对象,每次状态变更都会产生新的ClusterState,它们拥有不同的版本号
  • 2.2 在ES中, 集群状态由Master维护,并且只能由master节点更新集群状态
  • 2.3 更新完成后,Master会把新版本的集群状态推送给集群的其它所有节点 对于publish,Master节点会根据它已知其它节点所拥有的集群状态版本,决定是执行 sendFullClusterState()还是sendClusterStateDiff(),  前者是全量推送,后者增量推送。

  • 2.4 对于使用Zen Discovery的情况,只要有minimumMasterNodes响应了Master节点的publish消息, 那么这次的commit就算成功

  The cluster state can be updated only on the master node. All updates are performed by on a single thread and controlled by the {@link ClusterService}. After every update the {@link Discovery#publish} method publishes new version of the cluster state to all other nodes in the cluster.   In the Zen Discovery it is handled in the {@link PublishClusterStateAction#publish} method

  • 2.5 另外需要补充的是Elasticsearch使用Gossip + Bully算法进行选主。Bully算法在具体实现中,不是简单选取节点ID小的节点, 首先要先比较ClusterState的版本。版本高的优先当选。(各个版本实现有不同,但都需要考虑候选节点的集群状态版本)
        /**
         * Elects a new master out of the possible nodes, returning it. Returns <tt>null</tt>
         * if no master has been elected.
         */
        public MasterCandidate electMaster(Collection<MasterCandidate> candidates) {
            assert hasEnoughCandidates(candidates);
            List<MasterCandidate> sortedCandidates = new ArrayList<>(candidates);
            sortedCandidates.sort(MasterCandidate::compare);
            return sortedCandidates.get(0);
        }
            /**
             * compares two candidates to indicate which the a better master.
             * A higher cluster state version is better
             *
             * @return -1 if c1 is a batter candidate, 1 if c2.
             */
            public static int compare(MasterCandidate c1, MasterCandidate c2) {
                // we explicitly swap c1 and c2 here. the code expects "better" is lower in a sorted
                // list, so if c2 has a higher cluster state version, it needs to come first.
                int ret = Long.compare(c2.clusterStateVersion, c1.clusterStateVersion);
                if (ret == 0) {
                    ret = compareNodes(c1.getNode(), c2.getNode());
                }
                return ret;
            }
        }

参考资料

  1. cluster-state

欢迎光临我的个人博客 萌叔 | http://vearne.cc

收起阅读 »

社区日报 第330期 (2018-07-12)

1.携程酒店订单Elastic Search实战
http://t.cn/Rdumu4V
2.如何使用Kafka Streams构建广告消耗预测系统
http://t.cn/RlDKqWa
3.请自查!这些优秀日志实践准则,你做到了几点?
http://t.cn/Rldk5Ku

活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 
 
编辑:金桥
归档:https://elasticsearch.cn/article/710
订阅:https://tinyletter.com/elastic-daily
继续阅读 »
1.携程酒店订单Elastic Search实战
http://t.cn/Rdumu4V
2.如何使用Kafka Streams构建广告消耗预测系统
http://t.cn/RlDKqWa
3.请自查!这些优秀日志实践准则,你做到了几点?
http://t.cn/Rldk5Ku

活动预告
1. 7月21日上海meetup倒计时
https://elasticsearch.cn/m/article/655 
2. Elastic 中国开发者大会 2018 ,开始接受演讲申请和赞助合作
https://conf.elasticsearch.cn/2018/shenzhen.html 
 
编辑:金桥
归档:https://elasticsearch.cn/article/710
订阅:https://tinyletter.com/elastic-daily 收起阅读 »