P_Chou水冗

436
获赞数
15
关注数
258
粉丝数
上海
河海大学 | 电子信息工程
IP 属地未知
2013-12-30 加入
浏览 25.4k

大数据spark/flink/hadoop/elasticsearch/kafka架构与开发
C/Golang Unix开发,跨平台系统编程

5,055 声望|大师
全站排名超越 99.77% 用户
linux
910
c
909
javascript
560
php
534
c++
524
个人动态
  • 发布了文章2021-02-19
    java多类加载器类冲突案例分析
    众所周知,jvm类加载机制采用双亲委派机制。但在有些框架中,常常为了提供某种形式的“隔离和沙盒”,自定义一种称为ChildFirst的了类加载器,简单的说就是破坏了双亲委派,由自定义子类加载器优先加载类,而不是先委派给父加载器。由于同一个类可以在不同的类加载器中...
  • 发布了文章2021-02-09
    在Kubernetes上运行Flink
    Flink是目前最热门的分布式流/批处理框架,而Kubernetes是目前最热门的资源管理和调度平台。Flink支持在Kubernetes上采用Session模式或Application模式部署作业。基于实践经验,本文主要讨论在Kubernetes上部署Flink作业需要注意的地方。
  • 发布了文章2021-02-09
    使用Spring拦截器实现SPNEGO服务端
    在理清SASL/GSSAPI/Kerberos文中,我们了解到,在java中可以通过Krb5LoginModule模块实现Kerberos登录,以及通过GSSAPI完成校验的基本流程;同时也明白java还定义了一个高层次接口SASL,抽象校验流程。校验流程并没有定义客户端和服务端之间传递“票据”的通信方式,用...
  • 赞了文章2021-02-09
    记一次goroutine泄漏的问题
    Golang因为有着比线程更加轻量级的协程的出现,使得并发编程的上手难度一下子变得亲民起来。而channel的引入,使得goroutine之间的通信变得异常的便捷。但好用并不意味着毫无风险,go channel使用不当,也极易引起goroutine泄漏。何谓goroutine泄漏?就是开启了gorou...
  • 发布了文章2021-01-25
    理清SASL/GSSAPI/Kerberos
    信息安全越来越重要,企业里面越来越多的开始重视信息安全。其中在java/大数据领域很容易遇到SASL/Kerberos这些概念。比如:hadoop,kafka等常见的大数据组件。本文试图理清楚这些概念之间的真正联系。
  • 发布了文章2020-10-09
    Livy探究(七) -- 编程接口分析
    与REPL不同的是,Programmatic API提供了在一个“已经存在”的SparkContext上执行处理程序的机制。用户需要实现Job接口:
  • 发布了文章2020-10-07
    Livy探究(六) -- RPC的实现
    Kryo是一种对象序列化和反序列化工具。通信双方需要互相发送消息,livy选择了Kryo作为消息的编解码器,并在netty框架中实现编码和解码接口:
  • 发布了文章2020-10-04
    Livy探究(五) -- 解释器的实现
    ReplDriver是真正最终运行的Driver程序对应的类(其基类是第三篇中提到的RSCDrvier)。在这一层,重点关注handle系列方法:
  • 发布了文章2020-10-03
    Livy探究(四) -- 从es读取数据
    在前面的所有例子中,我们只是运行了livy官方给的两个例子。这篇我们要尝试运行一些有意义的代码。如没有特殊说明,以后所有的实验都是在yarn-cluster模式下运行的。我们打算尝试运行下面代码: {代码...} 这段代码用spark sql加载了elasticsearch的某个index,并使...
  • 发布了文章2020-10-03
    Livy探究(三) -- 核心架构细节探索
    客户端创建session,LivyServer收到请求后启动一个RpcServer。RpcServer会顺序选择一个从10000~10010之间的可用端口启动监听,假设此时是10000。
  • 发布了文章2020-10-02
    Livy探究(二) -- 运行模式
    上一篇的例子采用Livy默认的Local模式运行Spark任务。本篇我们尝试一下其他模式。因为修改配置文件需要重启,而每次重启服务都要设置SPARK_HOME和HADOOP_CONF_DIR比较麻烦。我们首先修改一下conf/livy-env.sh:
  • 发布了文章2020-10-01
    Livy探究(一) -- 初体验
    Livy是Apache的开源项目,目前仍然处于孵化阶段。它提供了一种通过restful接口执行交互式spark任务的机制。通过它可以进一步开发交互式的应用。当然,交互式spark应用其实有许多实现。本系列与大家一起对Livy做个探索
  • 发布了文章2020-09-19
    elasticsearch插件开发--插件配置声明
    getSettings方法需要返回一个Setting集合,es根据这个集合把elasticsearch.yml中的配置项通过构造函数传递给插件。Setting类是泛型的。例如:Setting<Boolean>表示bool类型的配置项。在nacos-elasticsearch中通过声明NACOS_ENABLED配置作为功能开关:
  • 发布了文章2020-09-19
    Mesos和Marathon简介
    Mesos是apache的开源项目,是使用C++开发的资源管理框架。假设我们的数据中心有众多的服务器,这些服务器要运行业务程序,业务程序随着业务规模的增加往往需要扩容,在运维层面会遇到的问题是,运维无法准确把握资源分配是否合理,扩容是否需要购买和上架新的机器。...
  • 发布了文章2020-08-29
    elasticsearch插件开发--环境搭建
    从这篇开始,以nacos-elasticsearch为例,一步步介绍如何开发插件。nacos-elasticsearch是一个自动将当前es节点注册到nacos注册中心的插件。环境基于maven,至少需要引用如下两个包 {代码...} 开发es插件,肯定是要引用es的依赖,而且es还提供了测试框架,方便测试。...
  • 回答了问题2020-08-22
    gin框架报了这样一个错是哪里出错了?
    不应该使用go关键字
  • 赞了文章2020-08-20
    Go语言文件读取的一些总结
    Go语言在进行文件操作的时候,可以有多种方法。最常见的比如直接对文件本身进行Read和Write; 除此之外,还可以使用bufio库的流式处理以及分片式处理;如果文件较小,使用ioutil也不失为一种方法。
  • 发布了文章2020-08-15
    elasticsearch插件开发--概述
    elasticsearch(简称es)是一款运用广泛的支持实时搜索的数据库。常用于全文检索、时序数据分析等领域。es本身基于模块设计,同时支持插件定制,当现有的功能和插件无法满足需求的时候,我们可以基于es的插件框架和接口,实现自己的插件,完成功能。常见的插件,有中文...
  • 发布了文章2020-07-29
    mesos对jvm进程的隔离和资源限制
    根据资料显示,jdk版本必须为Java 8u131及以上 ,实测采用8u201没毛病: {代码...} mesos-slave isolation模式之前之所以不能限制jvm,是由于slave的默认isolation并不是cgroup,需要通过slave启动参数启用: {代码...} 参考Mesos isolation cgroups/cpu & cgrou...
  • 发布了文章2020-06-28
    spark executor 被yarn杀掉的问题
    spark的任务,在运行期间executor总是挂掉。刚开始觉得是数据量太大executor内存不够。但是估算了数据量,觉得不应该出现内存不够。于是,首先尝试通过jvisualvm观察executor的内存分布: