自定义博客皮肤VIP专享

*博客头图:

格式为PNG、JPG,宽度*高度大于1920*100像素,不超过2MB,主视觉建议放在右侧,请参照线上博客头图

请上传大于1920*100像素的图片!

博客底图:

图片格式为PNG、JPG,不超过1MB,可上下左右平铺至整个背景

栏目图:

图片格式为PNG、JPG,图片宽度*高度为300*38像素,不超过0.5MB

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(72)
  • 收藏
  • 关注

原创 linux, Too Many Open Files

too many open files

2022-12-06 16:04:25 580 1

原创 linux文件打开数

linux 文件打开数

2022-12-06 15:39:10 1316

原创 go, 随机实例化xml (2)

go xml

2022-08-29 16:00:56 272

原创 go, 随机实例化xml (1)

go 随机实例化xml

2022-08-29 09:44:40 190

原创 [资源监控] influxdb,对接go客户端

资源监控 influxdb go

2022-08-15 16:49:33 489

原创 [资源监控] influxdb, 集成telegraf

资源监控 telegraf influxdb

2022-08-15 10:09:19 809

原创 [资源监控] influxdb2安装

资源监控 influxdb

2022-08-15 09:09:00 652

原创 go, 坑爹的面向对象

go 面向对象

2022-08-01 18:16:55 208

原创 【Golang】go 解析xmind

golang 解析 xmind

2022-07-20 09:33:53 517

原创 RPM, 定制redis包

定制redis rpm包

2022-07-12 20:29:28 1021

原创 Linux, Heredoc使用

here document

2022-07-11 08:55:24 226

原创 Linux, RPM初体验

rpm入门

2022-07-07 19:55:40 393

原创 HDFS, DataNode数据扫描

序HDFS数据文件由blocks组成, 每个块复制为3份 (默认副本数3)存储在不同的DataNode每个block对应1个数据文件(blk_xxx) 和1个元文件(blk_xxx.meta), 元文件记录数据文件的校验信息, 用于验证数据文件的完整性DataNode通过block reports向NameNode报告块的状态ll current/finalized/subdir111/subdir111/总用量 152-rw-r--r-- 1 hdfs hadoop 52888 9月 29

2022-05-26 09:49:33 432

原创 HDFS, NameNode堆内存计算

1. 问题NameNode Heap size配置多大合适?2. 分析2.1. 前提以后标准引用自cloudera ( Sizing NameNode Heap Memory | 5.16.x | Cloudera Documentation), 供参考, 准确性请自行考究In HDFS, data and metadata are decoupled. Data files are split into block files that are stored, and replicated,

2022-05-25 10:06:48 1019

原创 HDFS, 配置项清单

1 数据存储dfs.namenode.name.dirfsimage和edits存储目录Determines where on the local filesystem the DFS name node should store the name table(fsimage). If this is a comma-delimited list of directories then the name table is replicated in all of the directories, f

2022-05-18 09:46:06 824

原创 ambari2.6, HDP集群删除

1 问题工作中往往因为一些魔幻操作, 导致HDP集群部署失败, 与其解决一个个奇怪的问题, 不如卸载重装但是ambari UI页面不支持删除HDP集群, 如何操作呢?2 分析既然ambari不支持删除, 那就手动删除 (程序干的活, 无非是把人的行为有序的排列, 并一一执行)删除HDP集群需要考虑如下几点停止HDP组件服务清除ambari配置卸载HDP组件rpm包 (根据hdp版本号匹配)删除HDP组件目录 (日志/var/log, 运行/var/run, 配置/etc, 库/var/l

2022-04-24 13:47:55 3077

原创 ambari2.6 blueprint, HA集群

1 问题生产环境大数据集群一般采用多节点HA形式, 确保高可用那么通过blueprint如何实现多节点HA的部署呢?2 分析HA本质还是在指定主机上部署规划组件创建HA, 需要知道组件对应的服务名称, 如HDFS组件(NameNode, JOURNALNODE, ZKFC)同时添加组件HA配置不知道如何配置时, 可以先通过UI部署HA集群, 再使用API接口GET /api/v1/clusters/<集群名称>?format=blueprint导出集群信息, 保留必要的配置项

2022-04-24 11:24:11 2233

原创 ambari2.6 blueprint, 创建单节点集群

1 blueprint介绍blueprint通过API方式实现集群的部署, 相较于可视化部署, 可以轻松实现静默安装, 进一步简化部署步骤Ambari Blueprints provide an API to perform cluster installations.You can build a reusable “blueprint” that defines which Stack to use, how Service Components should be laid out acros

2022-04-22 17:29:56 2465

原创 JSch, connection is closed by foreign host

1. 问题多线程连接SFTP时, 程序抛出异常com.jcraft.jsch.JSchException: connection is closed by foreign host at com.jcraft.jsch.Session.connect(Session.java:269) at com.jcraft.jsch.Session.connect(Session.java:183)2. 分析单线程连接正常, 多线程异常, 连接数的变化导致SFTP不同反应, 猜测是sshd对连接有限制

2022-03-31 09:47:57 5103 1

原创 Spring Boot, 配置https

1. 概述Spring Boot配置https, 共2步获取SSL证书在spring boot配置ssl2. 生成自签名证书2.1. jks证书keytool -genkeypair -alias springboot -keyalg RSA -keysize 4096 -storetype JKS -keystore springboot.jks -validity 3650 -storepass password2.2. pkcs证书keytool -genkeypair -ali

2022-03-30 09:48:14 403

原创 Hadoop 3.X, 纠删码

1. 问题HDFS 2.X默认使用3副本, 造成200%的磁盘消耗, 以及带宽消耗纠删码(Erasure Coding)技术, 在保障数据容灾性的同时, 减少数据的的膨胀Replication is expensive – the default 3x replication scheme in HDFS has 200% overhead in storage space and other resources (e.g., network bandwidth). However, for war

2022-03-28 09:31:42 492

原创 hive, count统计与列表不一致

1. 问题同一张表, 单独查询字段时有数据, 但是使用count查询显示02. 分析count查询走的是hive元数据, 找到hive元数据库的partition_params表, 查看numFiles, numRows, rawDataSize等属性3. 方案同步元数据统计信息analyze table <table_name> COMPUTE STATISTICS;...

2022-03-24 11:58:01 2566

原创 hive/beeline, 关闭console日志

1. 需求执行hive/beeline时, 控制台输出日志太多, 影响输出结果查看, 如何关闭控制台日志呢?2. 方案2.1. 关闭操作日志hive.server2.logging.operation.enabled设置为false2.2. 调整日志级别可直接修改hive-site.xml文件的hive.server2.logging.operation.level属性, 永久生效也可以通过命令参数临时修改hive --hiveconf hive.server2.logging.operat

2022-03-24 11:44:51 5457

原创 Maven打可执行jar包

1. 需求maven默认package打包, 只包含项目代码, 没有引入项目代码依赖的lib包, 执行时缺包那么如何将依赖的lib文件打进jar包呢?2. Assembly插件assembly插件用于maven工程打包, 将项目代码与依赖lib包打进一个jar文件中单词: assembly, 组装, the process of putting together the parts of sth such as a vehicle or piece of furnitureThe Ass

2022-03-23 10:43:17 1070

原创 DAG全路径输出 (xmind转测试用例)

1 需求旧版本xmind是xml格式, 11版本后变成json格式, 但数据层级一致输出如下层级数据的全路径节点A0|---节点B01|---|---节点C011|---|---节点C012|---节点B02|---|---节点C021|---|---|---节点D02112 样例数据{ "title": "节点A0", "children": [ { "title": "节点B01", "children": [ {

2022-03-03 16:19:49 323

原创 Kafka 0.10, 清空数据

1 问题如何清空kafka数据?文中配置项的含义, 请参考: Kafka 0.10, 配置项清单_Lion…的博客-CSDN博客2 对策2.1 方案一(饥饿法)默认情况下, kafka旧数据保留期限为一周所以, 如果一周内不向topic写入数据, 数据会全部清空缺点:一周太久, 等不起2.2 方案二(重生法)设置delete.topic.enable=true手动删除topic, 然后重建缺点:需要修改kafka集群配置, 并重启2.3 方案三(最优法)设置topi

2022-02-24 16:36:54 1635

原创 Kafka 0.10, 配置项清单

kafka完整配置项, 请参阅官网: kafka doc1 broker级配置通过配置文件server.properties修改zookeeper.connect, zk连接信息advertised.listeners, broker监听auto.create.topics.enable, 允许自动创建topic, 默认值truecompression.type, topic数据压缩方式 (gzip, snappy, lz4), 默认值producer, 表示压缩方式与生产者.

2022-02-17 15:38:53 1032

原创 Yarn日志 - Log Aggregation

1. 概述大数据任务的日志,首先保存于本地,但本地存储能力有限,且检索时需要切不同服务器,不够方便Yarn Log Aggregation的主要功能,是将本地日志移动到HDFS或者云存储日志的重要性错误定位历史分析2. 聚合开关yarn.log-aggregation-enable,yarn日志聚合功能开关true表示开启3. 存储路径3.1. 本地存储yarn.nodemanager.local-dirs,本地化文件存储目录,如JAR包、配置文件,参考值/hado

2022-01-19 17:08:50 4103

原创 Python metaclass

1 类亦为对象class Person(): name = "Rocky" age = 18 def __init__(self, weight): self.weight = weight In[5]: person = Person(48)In[6]: print(person)<__main__.Person object at 0x00000277A5FC8DA0>In[7]: print(Person)&

2022-01-11 08:57:37 109

原创 Java, 反射

1 概述白盒测试时,工具类最容易对付,直接调用类方法即可;public修饰的实例方法也还行,先实例化后调用;但是遇到private修饰的方法就头大了,虽然可以在类里写个main方法调用,但破坏了代码本身的完整性,功能代码与测试代码混在一起不过,反射让我们彻底告别这个问题2 基本成员由class展开,类有构造函数(Constructor),类有成员变量(Field),类还有方法(Method)然后使用public、private、protected、static、final等来修饰当然还有注解,参

2022-01-11 08:55:51 74

原创 Java, 加载外部数据

1 txtJava7新引入了Path, 用于取代FileFiles提供了文件的基本操作, 包括基本属性, 输入输出流Path path = Paths.get(basePath, "data.txt");Files.lines(path, StandardCharsets.UTF_8).forEachOrdered(p -> { // do some action});2 xml使用Dom4j按DOM方式解析XML文件, 分成三种节点: Element, Attribue,

2022-01-11 08:55:27 209

原创 JavaFX, GUI库 - 用户交互(2)

作为一名优秀的CRUD工程师, 不仅要会 查询 和 删除, 还得会 新增 和 修改1. 新增/编码页面使用ScenceBuilder创建页面布局PersonEditView.fxml<?xml version="1.0" encoding="UTF-8"?><?import javafx.geometry.Insets?><?import javafx.scene.control.Button?><?import javafx.scene.cont

2022-01-11 08:52:57 301

原创 JavaFX, GUI库 - 用户交互(1)

页面数据展示出来后, 用户如何与工具互动呢?1. 抽取数据正常情况下, 数据来自于文本, 或者直接读取数据库, 这里单独抽取成一个类PersonDB, 以模拟相同的效果import com.leon.model.Person;import javafx.collections.FXCollections;import javafx.collections.ObservableList;public class PersonDB { private volatile static Per

2022-01-11 08:52:19 255

原创 JavaFX, GUI库 - MVC

上一篇介绍了项目的基本布局单纯的静态展示无法满足日常需求, 还需增加数据的联动, 让项目活起来1. 创建model与java bean类似, 数据类型上有些许差异 – StringProperty, IntegerProperty等package com.leon.model;import javafx.beans.property.IntegerProperty;import javafx.beans.property.SimpleIntegerProperty;import javafx

2022-01-11 08:51:46 384

原创 JavaFX, GUI库初识

1. 介绍曾以为java不适合桌面应用程序的开发, 直到遇到JavaFX它采用MVC的设计模式, 有过web开发经验的人极易上手JavaFX is an open source, next generation client application platform for desktop, mobile and embedded systems built on Java.2. Scene Builder可视化页面设计, 让元素布局不再复杂下载地址: JavaFX Scene Builde

2022-01-11 08:51:13 543

原创 RMI, 远程方法调用

RMI = Remote Method Invocation, 远程方法调用机制: 允许一个JVM对象调用另一个JVM对象方法这种机制特别适合分布式应用, 比如JMeter的分布式压测1. 架构图RMI registry, 命名空间, 供server注册RMI server, 具体的实现, 被调用的对象RMI client, 从registry的命名空间中查找注册的方法, 实现远程调用2. 样例角色之前的关系如下, 代码逻辑大体一致2.1. 定义远程调用接口import java.

2022-01-11 08:50:29 726 7

原创 Python3 requests

1 前言官网中对requests的介绍是"HTTP for Humans"Requests allows you to send organic, grass-fed HTTP/1.1 requests, without the need for manual labor. There’s no need to manually add query strings to your URLs, or to form-encode your POST data. Keep-alive and HTTP c

2022-01-10 09:06:18 164

原创 Selenium + Cucumber,行为驱动

前言Cucumber为BDD测试框架, 在于以直白的语言表达业务场景, 统一产品经理, 开发人员, 测试人员, 运营人员等角色的系统认知关于Cucumber的基础知识可以参阅官网: https://docs.cucumber.io/guides/Selenium应该都比较熟悉, 通过webdriver实现UI自动化的测试工具总结:虽然Scenario要求每一个Step都直白易懂, 不要引入代码层面的元素, 但考虑到页面元素众多, 不得不考虑参数化由于上一条的原因, 整体风格更像是关键字驱动无

2022-01-10 09:04:55 648

原创 Python3 unittest,入门

1 介绍unittest借鉴了JUnit的思想,支持测试代码的初始化(setup)和回收(teardown),测试集,以及测试报告框架与测试用例的独立性The unittest unit testing framework was originally inspired by JUnit and has a similar flavor as major unit testing frameworks in other languages. It supports test automation, s

2022-01-10 09:02:22 524

原创 Linux sftp,配置

SFTP = SSH File Transfer Protocol, 属于SSH协议的一部分, 具备sshd服务即可提供SFTP功能, 不需要额外安装VSFTPD支持开启ssl, 但不等价于SFTP1 新建用户# 添加用户useradd -d /home/u1/ u1echo "changeme" |passwd u1 --stdin2 sftp连接[root@localhost ~]# sftp u1@localhostu1@localhost's password: Connec

2022-01-10 08:59:34 1935

空空如也

空空如也

TA创建的收藏夹 TA关注的收藏夹

TA关注的人

提示
确定要删除当前文章?
取消 删除