自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+

Daphnis的博客

吹着前奏望着天空..

  • 博客(44)
  • 收藏
  • 关注

原创 SpringBoot数据库连接泄露快速排查方法

快速排查SpringBoot Hikari数据库连接池连接泄露的方法,java.sql.SQLTransientConnectionException: HikariPool-1 - Connection is not available, request timed out after 30000ms.

2024-08-24 16:26:44 827

原创 记一次Flink任务无限期INITIALIZING排查过程

环境:Flink-1.16.1,部署模式:Flink On YARN,现象:Flink程序能正常提交到 YARN,Job状态是 RUNNING,而 Task状态一直处于 **INITIALIZING**,排查思路有...

2024-03-07 22:00:00 1807 2

原创 Ambari动态给YARN分配计算节点

YARN可用的计算节点数量并不总是等于 Hadoop集群节点数量,可以根据业务需求分配 YARN计算节点数量。

2024-03-04 20:07:46 613

原创 Flink使用 KafkaSource消费 Kafka中的数据

很多 flink相关的书籍和网上的文章讲解如何对接 kafka时都是使用的 FlinkKafkaConsume,'org.apache.flink.streaming.connectors.kafka.FlinkKafkaConsumer' is deprecated ,新版 flink应该使用 KafkaSource来对接 kafka。

2023-03-21 21:22:23 2106 1

原创 大数据集群搭建方案对比

回顾从前,已经在大数据领域混了5年了,经手了不少大数据集群搭建方案,自己也做过许多大数据平台的运维工作,在这里进行阶段性的总结,主要是 原生Hadoop、CDH、Ambari集群搭建对比。

2023-03-19 12:17:06 1130

原创 离线和实时数仓技术架构梳理

对目前流行的离线数仓和实时数仓架构进行了梳理和对比

2023-03-02 20:00:00 3539

原创 Kafka使用MirrorMaker同步数据的两种方式

CDH对 Kafka MirrorMaker的支持度不错,稳定性也能经得起时间的检验。另外,这种备份方式属于实时备份,很适合对数据完整性和及时性要求较高的项目,能最大程度地确保通过 kafka流转的数据的及时可用。还有一个好处是,当 kafka集群1因为某种原因无法工作时,可以迅速切换到集群2,且两个集群的数据几乎一致。

2022-12-22 12:05:24 3801

原创 HBase Shell启动缓慢及操作耗时长的原因分析与解决

在内网搭了一个 hbase-2.2.6(hadoop-2.7.3)的环境,使用的是其内置的 zookeeper-3.4.10,16010端口对应的 web界面可以正常访问,且各项功能正常。在使用 hbase shell的过程中,首先是 hbase shell启动非常慢,约 210s才成功,其次执行 scan、put、get等命令需要 20s左右才能完成。以笔者的经验,hbase肯定出问题了,不可能这么慢。

2022-11-17 20:00:00 3803 4

原创 Logstash对接 SNMP v2和 v3

老版的 logstash不支持 snmp协议,当时只能自己写插件实现,现在官方支持了,故验证其对 v2c和 v3两个版本 snmp的支持情况,并熟悉其用法。

2022-11-04 20:00:00 1027

原创 Kibana自动优化索引模式字段显示

优化 Kibana Discover页面索引模式中字段的显示效果:0.98-> 98%,10240-> 10KB, 20.1-> $20.1。介绍如何使用脚本实现自动更新,以及如何在界面上手动修改的方法

2022-10-24 21:45:57 1008

原创 DataX VS Kettle,深度对比分析

开源的 ETL工具里面 DataX和 Kettle的人气一直高居不下,datax虽然比较年轻,但这两年发展势头很猛,不时就能听到身边的同事谈起。kettle作为老牌的 etl工具,诞生年限长,功能完善,特别是其开箱即用的数据转换算子,不得不令人叹服。因此,笔者决定对这两款工具进行深入的对比分析,有多深呢,到源码那种。

2022-10-19 20:15:00 15735 1

原创 站在使用者的角度研究 List 源码

站在使用者的角度研究下 List 源码,对其核心方法进行梳理,发现 List除了增删改查,还有部分实用的集合运算。ArrayList作为其实现类之一,方法的实现逻辑较为清晰简洁,在集合运算中还调用了 native方法。在代码风格上也很有借鉴意义,比如 使用 Objects.requireNonNull()方法进行 null判断,使用 'E'来表示本集合元素类型,用 '?'来表示其他未知集合的元素类型。

2022-10-12 22:20:49 376

原创 Elasticsearch生产环境使用总结及扩展

本文从 基本概念、数据类型、查询类型、数据聚合、集群维护等维度对 Elasticsearch进行了总结和介绍,中间融入了一些生产环境的实际经验。

2022-10-07 11:08:12 768

原创 Kibana生产上的常用功能总结

出差现场一个月总结 Kibana生产上的常用功能包含 discover,console,visualize,monitoring等的实用方法

2022-08-26 20:15:00 1507

原创 Java Socket服务端和客户端通讯实例

Java Socket服务端和客户端通讯实例本文在 java socket通讯的基础上,适当扩展了 客户端认证、多客户端支持、心跳检测等功能

2022-08-10 17:52:05 1660

原创 解决 Docker容器因 iptables无法启动的问题

解决 Docker容器因 iptables无法启动的问题driver failed programming external..iptables: No chain/target/match by that name

2022-07-30 16:41:20 6215 6

原创 使用 Zookeeper命令行修改 Kafka Cluster ID

使用 Zookeeper命令行修改 Kafka Cluster IDkafka.common.InconsistentClusterIdException: The Cluster ID q3r3fhGkTya24-s3dfvYUQ doesn't match stored clusterId Some(kguWHlzQQGmCHczV3u38vQ) in meta.properties.

2022-07-27 17:55:06 2260

原创 MySQL高可用和灾备调研

1.高可用和灾备方案概览高可用方案的评价以组件能正常对外提供服务为主,而灾备方案的评价以数据稳定同步和恢复时间尽量短为主,其他的还要求方案实现起来较简单,后期运维服务压力较小等。当下业界比较流行的 mysql高可用灾备方案是主从复制和 galera,这里先对所有的方案进行简要介绍,然后详细介绍 基于主从复制这一种方案。1.1 主从复制使用双节点数据库,搭建单向或者双向的半同步复制(semi sync replication)。在 5.7以后的版本中,由于 lossless replication、

2022-05-04 14:19:33 4322 2

原创 分析升级 OpenSSH后 Linux open files配置不生效问题

1.现象Elasticsearch、Hadoop和 MongoDB等都需要修改 Linux里面最大打开文件数这个配置,即下面的 open files[root@localhost opt]# ulimit -acore file size (blocks, -c) 0data seg size (kbytes, -d) unlimitedscheduling priority (-e) 0file size

2022-04-10 15:59:21 5302 1

原创 解决 OpenSSH开启 PAM后 root用户无法远程登录问题

1.现象OpenSSH版本:8.8p1在 openssh配置文件中开启 pam,如下:UsePAM yes发现在 windows上用远程连接工具无法以 root用户登录,其他的 linux服务器也无法以 ssh的方式登录该服务器。远程连接工具报错:Access denied2.分析从报错来看只能猜测是权限问题,具体原因还需要查看 Linux系统日志,这里简要介绍两个系统日志:/var/log/messages这里存放的是一些常规系统日志,一般的操作都能在这里找到对应日志,但是有的日志

2022-04-08 20:30:00 18051 2

原创 通过 GC工具分析 HiveServer2停顿时间过长问题

1.现象线上环境 HiveServer2报:在前 5分钟内暂停所花的平均时间过长hs2角色日志如下:2.分析看到上面的报错和日志,第一个直觉就是 hs2 GC出问题了,于是使用 jstat命令进行分析:jstat -gcutil 82775 5000 5这里先简单介绍一下 jstat这条命令:​ -gcutil,打印 gc统计信息​ 82775,java进程ID​ 5000,5000ms​ 5,5次所以这条命令的含义为:每间隔 5000ms打印一次 进程 82775的 gc

2022-04-01 20:15:00 3238

原创 数据仓库VS数据湖

1.前言本文将新兴的数据湖技术和数据仓库技术进行了对比,然后简要介绍三种常见的数据湖实施方案。2.数据仓库痛点没有存储非结构化的数据这里并不是说数仓不能存储非结构化的数据,而是数仓的分层模型决定了数据会被规整计算为结构化的数据,然后在处理完成的数据上进行建模、分析等。一般的数仓分层模型:ODS-> DWD-> DWS-> APP。数据分析人员一般会在 APP或 DWS层上进行分析,而不会直接针对 ODS(原始数据层)进行分析。没有保留原始数据企业出于成本考虑,ODS层

2022-03-26 18:34:01 3619

原创 Java连接基于 LDAP认证的 Impala服务

1.前言本文将描述如何根据 impala官方文档使用 java连接 impala。使用的 impala版本:2.12.0。2.下载和安装 JDBC包2.1 下载 JDBC包官网下载地址:Download Impala JDBC Connector这里需要根据 impala的版本选择对应的 jdbc包,impala-2.12.0对应的包如下:打开下载压缩包,可以看到官方给的指引文档:​ Cloudera-JDBC-Driver-for-Impala-Install-Guide.pdf2.2

2022-03-08 20:30:00 1230

原创 解决 HDFS edit log文件损坏问题

1.现象CDH集群 HDFS出现爆红项,具体原因是 JournalNode状态异常,查看角色日志如下:2.分析edit log文件里面存放的是hdfs一些状态信息,从报错来看是某个 edits文件无法读取导致的,结合最近服务器出现过一次集体断电,猜测是 edit log文件损坏了。3.解决查看集群组件状态,JournalNode一共有 3台机器,其中一台状态异常,另外两台状态良好,于是可以把从其中一台状态良好的机器上拷贝 edit log文件到状态异常的机器。具体步骤如下:停止集群所有服

2022-02-23 21:30:00 880

原创 Hive通过 ZooKeeper开启 HA(高可用)

前言生产上的大数据平台都会配置多个 HiveServer,在使用 JDBC这种方式连接 hive服务时,如果直接连接某个 HiveServer,当其所在机器异常时,就会导致服务不可用。因此,生产上一般都要求使用 ZooKeeper开启 HA,通过 zk去间接访问 hive服务。这里以 CDH 5.X为例介绍 Hive如何通过 ZooKeeper开启 HA。Hive开启 HA(高可用)修改界面配置打开 CDH界面,然后在 Hive配置里面搜索 hive-site,如下:然后添加如下配置项:

2022-02-17 20:00:00 3392

原创 解决 HDFS副本数不足问题

1.现象CDH界面 HDFS出现爆红项,查看详情发现是 副本数不足导致的,如下:HDFS和 CDH版本:2.6.0+cdh5.15.1+28222.分析报错是很明确的:接近 99%的 hdfs块副本缺失。默认情况下 hdfs的副本一般是3个,要求至少有3个 DataNode。出问题的集群是一个测试集群,之前一共有 3台机器,最近由于一台机器故障,现在集群只剩 2台机器了,问题应该就出在这里了。明确一下问题的原因:​ 集群现有的机器数量不满足 3个 DataNode的要求,故导致副本数不足。

2022-01-27 15:56:14 4874

原创 Hive 简明使用教程

1.简介The Apache Hive ™ data warehouse software facilitates reading, writing, and managing large datasets residing in distributed storage using SQL. Structure can be projected onto data already in storage. A command line tool and JDBC driver are provided t

2022-01-18 15:09:52 2573

原创 NLP 算法工具箱(关键词、实体、摘要、文本相似度)

1.前言本项目包含几种常用 NLP算法的实现:关键词(keyword)、命名实体(named entity)、自动摘要(abstract)、文本相似度比较(text similarity)等。另外,本项目基于 python3,依赖 jieba,tensorflow等第三方库。2.NLP 工具箱简介2.1 关键词在 jieba的基础上,进行了一些封装。可以很方便的在 etc/user_words.dict中添加用户词典,以加强对一些领域特有关键词的识别。调用举例:kw_extract = Key

2022-01-16 11:44:31 1062

原创 CentOS7搭建和维护共享 YUM源

1. 前言虽然互联网上已经有了多个公开的可以直接使用的 yum源,但是针对于内网(局域网)这种无法连接互联网,又需要安装维护多台服务器的场景,就需要搭建一个内网的共享 yum源了。此时,就会涉及如何搭建本地 yum源、从公开 yum源同步 rpm包,以及手动添加 rpm包等操作,这就是本文的主要内容。本文基于 CentOS7.9编写,应用场景为局域网多台服务器。2. 搭建多主机共享的 YUM源2.1 创建本地 YUM源这里使用 CentOS操作系统镜像文件作为本地 yum源的基础 rpm包。

2021-11-27 15:39:12 822

原创 Python调用 Java下载 FastDFS文件

1. 前言最近由于业务需求,需要使用 Python下载 FastDFS上的文件。一开始看到 Python有第三方包可以用就直接上了,但是需要处理的文件数量实在太大,导致经常出现文件积压的情况。经过分析,发现文件的下载速度是影响较大的因素之一,所以第一个程序调优思路就定为研究如何提高文件的下载速度。通过查阅资料,发现 FastDFS是使用 Java编写的,作者只提供了 Java版本的客户端,而 Python的客户端则是由其他开发者编写的。那么一个疑问就随之而来:会不会使用 Java下载文件会更快?2.

2021-09-26 22:15:17 288

原创 修复 py3Fdfs因 socket timeout导致下载失败的问题

背景笔者在使用 pypi.org提供的 FastDFS Python客户端:py3Fdfs-2.2.0.tar.gz时,发现:下载文件时偶尔报错 socket timeout,随即文件下载失败因苦于 2.2.0已经是官网最新版本,无奈只能自己动手修复问题—————————————————————————————————说明通过调试发现下载文件失败的原因在下面这段代码:def tcp_recv_file(conn, local_filename, file_size, buffer_size=

2021-07-07 23:05:07 934 5

原创 Kafka Producer通过参数调优提高数据发送速度

1. 前言最近项目现场发生了 日志文件积压的情况,日志文件的大概处理流程是:读取日志文件->进行结构化->发送到 kafka以一个 7.57M的日志文件为例(约58400条日志信息),程序需要 16.8s才能将其处理完,也就是说平均每秒只能处理约 3500条数据,经过验证,其中瓶颈在数据发送到 Kafka这一步。这个根据经验,明显肯定是没有达到 Kafka的瓶颈的,应该是自己 producer程序有问题,于是去 Kafka官网一查:Single producer thread, 3x a

2021-04-22 16:08:58 4408

原创 Java 后台开发高频 Linux 命令

前言本文所有命令都基于 linux 发行版:centos ,centos 是目前工业上比较流行的服务器操作系统。1. 查看系统信息# centos 查看系统版本cat /etc/redhat-release# 查看主机名hostname# 防火墙# 检查selinux/usr/sbin/sestatus -v# 查看系统时间date# 查看系统的开机信息 dmesg2. 目录切换# 进到某个目录cd <path># eg. cd /opt/test

2020-10-31 23:14:49 225

原创 Pip 技巧 批量下载安装 WHL 文件

1. 前言最近入坑 NLP 了,开始正儿八经玩 Python ,那么 pip 的使用就必须要掌握了。2. 修改 Pip 仓库地址为国内源这个跟 maven 一样如果使用默认的国外仓库,很多时候速度感人 …如果想按时下班,那么更换国内源是必须的。国内常用的 Pip 地址仓库如下:阿里云, http://mirrors.aliyun.com/pypi/simple/中国科技大学, https://pypi.mirrors.ustc.edu.cn/simple/清华大学, https://pypi

2020-05-27 20:57:56 11285 3

原创 Git+TortoiseGit 环境搭建 SSH 免密码登录

1. 序言市面上有很多的 Git 第三方界面管理工具,为何选择小乌龟(TortoiseGit)呢?可以先看下面的截图:操作简单,功能强大,用了之后其他的 Git 管理工具就不太习惯了…2. 文件准备需要的文件如下,第三个语言包可选:下载地址如下:Git 官网下载页面TotoriseGit 官网下载页面喜欢中文菜单码友的可以把中文语言包一起下载下来。补充:通常官网下载很慢,下不动可以用迅雷试试。另外贴一下某网盘的连接,方便下载:​ 链接:https://pan.baidu.

2020-05-19 22:15:24 865

原创 基于 Hive 构建数据仓库

前言设想有一批各种类型的离线(或实时)数据(文本、csv、Excel 等),我们如何挖掘这些数据背后的价值,分析这些数据之间的关联?很容易想到的就是,写程序把每种数据按照某种规则抽取出来放到关系型数据库中进行分析。这样做可能存在什么样的问题?按照某种规则进行抽取,是否会导致原始数据信息的丢失?因为前期设计不足或者后期需求变化导致数据的重复处理?面对上千亿,甚至上万亿的数据,...

2020-04-24 17:27:23 2911 1

原创 MySql8 重置密码踩坑记

MySql8 重置密码踩坑记为什么要重置密码呢?MySql8 首次安装完成后会为 root 生成一个随机密码,可以在日志(/var/log/mysqld.log)里面找到。手动安装都不会有问题,修改密码参考网上的教程很简单的。但是如果是自动部署呢?去日志里面捞这个密码可不容易。先贴一下官网重置密码的步骤,加入一些自己的经验:下面针对的是 Linux 平台重置密码的步骤,其他平台可以参考文末...

2020-04-18 15:59:14 243

原创 Spark 开发调试技巧

Spark 部署模式简介:Local一般就是跑在自己的本地开发机上,用于跑单元测试、学习算子的使用方式等。ClusterStandalonespark 自己负责资源的管理调度。Mesos使用 mesos 来管理资源调度。Yarn使用 yarn 来管理资源调度开发和调试技巧下面介绍的开发和调试技巧都是基于 Spark On Yarn 这种部署模式,这...

2020-03-28 16:48:31 828

原创 结合官方文档分析 kafka 重复消费问题

结合官方文档分析 kafka 重复消费问题出现重复消费的根本原因:​ 客户端已经消费了数据,但是 offset 没有提交。offset 没有提交的原因一般有 3种:设置了自动提交 offset ,由于程序的异常导致了漏提交consumer 被 group coordinator 从当前消费组中移除consumer 提交 offset 失败备注:group coordinator ...

2020-03-14 19:11:15 316

原创 Java开发环境搭建笔记

1. git1.1 下载安装官网:https://www.git-scm.com/download/win安装如没有特殊要求,可以一路下一步。1.2 配置用户名、邮箱、ssh 密钥打开 git 命令行…# 用户名、邮箱git config --global user.name "<name>"git config --global user.email "<ema...

2019-06-14 13:47:10 312 1

空空如也

空空如也

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

TA关注的人

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