自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 大数据-Hadoop-基础篇-第四章-HDFS(分布式文件存储)

使用 get 命令可以将 HDFS 文件系统中的文件下载到本地,注意下载时的文件名不能与本地文件相同,否则会提示文件已经存在。使用 appendToFie 命令可以将单个或多个文件的内容从本地系统追加到 HDFS 系统的文件中。例如,将本地文件a.txt移动到HDFS的/imnput 文件夹中,命令如下:.使用 cp命令可以复制 HDFS 中的文件到另一个文件,相当于给文件重命名并保存,但源文件仍然存在。例如,将本地文件 a.txt 上传到 HDFS 文件系统的/input文件夹中,命令如下:。

2024-09-17 08:00:00 553

原创 window下使用msys2安装openssl

【代码】window下使用msys2安装openssl。

2024-09-02 07:45:00 337

原创 大数据-Hadoop-基础篇-第五章-HBase (分布式 NoSQL 数据库)

Hbase 是 Hadoop database 的简称,也就是基于 Hadoop 数据库,是一种 NoSQL 数据库,主要适用于海量明细数据(十亿、百亿)的随机实时 查询,如日志明细、交易清单、轨迹行为等。HBase中的列是由 列族前缀和列的名字组成的,以冒号间隔。例如这一行的列名就是a.HBase 基于 Hadoop 的 HDFS 存储, zookeeper 进行管理,处理数据是基于 列 的而不是基于行的模式,适合海量数据的随机访问。HBase 是近实时系统,支持实时查询,支持增删改查。

2024-08-27 18:00:00 369

原创 阿里QuickBI实战

Quick BI是一款全场景数据消费式的BI平台,秉承全场景消费数据,让业务决策触手可及的使命,通过智能的数据分析和可视化能力帮助企业构建数据分析系统,您可以使用Quick BI制作漂亮的仪表板、格式复杂的电子表格、酷炫的大屏、有分析思路的数据门户,也可以将报表集成在您的业务流程中,并且通过邮件、钉钉、企业微信等分享给您的同事和合作伙伴。

2024-08-20 08:00:00 822

原创 linux入门到精通-第二十章-bufferevent(开源高性能事件通知库)

一般通过libevent进行网络编程,都是将一个socket的fd与一个event进行绑定,并自行维护一个buffer用于存储从socket上接收的数据,同时可能也用于待发送数据的缓存。然后通过可读可写事件从socket上收取数据写入缓存并进行相应处理,或者将缓存中的数据通过socket发送。libevent为这种带缓存的IO模式提供了一种通用的机制,那就是bufferevent。

2024-08-06 18:45:00 993

原创 大数据-Hadoop-基础篇-第六章-Hive (搜狗用户搜索词分析)

1)、数据介绍:搜索引擎查询日志库设计为包括约1个月(2008年6月)Sogou搜索引擎部分网页查询需求及用户点击情况的网页查询日志数据集合。2)、数据格式访问时间\t用户ID\t[查询词]\t该URL在返回结果中的排名\t用户点击的顺序号\t用户点击的URL。

2024-07-21 08:00:00 1813

原创 OutOfMemoryError异常OOM排查

OutOfMemoryError 是 Java 虚拟机(JVM)抛出的一种错误,表示程序在尝试分配对象时无法获得足够的内存。这通常是由于应用程序内存泄漏、内存溢出或者程序需要的内存超过了 JVM 的限制所引起的。原文链接:https://blog.csdn.net/TreeShu321/article/details/135255821。内存泄漏: 未被使用的对象或者引用未被正确释放,导致堆积的对象占用了大量内存。内存资源耗尽: 应用程序需要的内存资源超过了 JVM 配置的最大堆大小。

2024-07-16 08:00:00 803

原创 大数据-Hadoop-基础篇-第七章-Hive 实战(sogou用户搜索日志分析)

当Hive提供的内置函数不能满足査询需求时,用户也可以根据自己的业务编写自定义函数(User Defined Functions,UDF),然后在HiveQL中调用。例如有这样一个需求:为了保护用户的隐私,当查询数据的时候,需要将用户手机号的中间四位用星号()代替,比如手机号18001292688需要显示为180***2688。这时候就可以写一个自定义函数来实现这个需求。

2024-07-09 08:00:00 1052

原创 大数据-Hadoop-基础篇-第八章-Flume

Flume中传输数据的基本单位是event(如果是文本文件,通常是一行记录),event包括event头(headers)和event体(body),event头是一些key-value键值对,存储在Map集合中,就好比HTTP的头信息,用于传递与体不同的额外信息,event体为一个字节数组,存储实际要传递的数据。Flume中最小的独立运行单位是Agent,Agent是一个JVM进程,运行在日志收集节点(服务器节点),其包含三个组件Source(源)、Channel(通道)和Sink(接收地)。

2024-07-09 08:00:00 590

原创 大数据-Hadoop-基础篇-第十章-Spark

Spark是一种通用的大数据计算框架,是基于RDD(弹性分布式数据集)的一种计算模型。那到底是什么呢?可能很多人还不是太理解,通俗讲就是可以分布式处理大量集数据的,将大量集数据先拆分,分别进行计算,然后再将计算后的结果进行合并。SparkSQL。

2024-06-30 08:00:00 1392 1

原创 大数据-Hadoop-基础篇-第九章-Storm

使用一个Bolt 订阅切分的单词 Tuple,并且选择使用按字段分组的策略进行单词统计,将统计结果发射出去:最后使用一个Bot订阅统计结果,词频实时排序,把前10个单词打印到log中。Stom 可以作为Kafka 的生产者,将 Stom 中的每条记录作为消息发送到 Kafka 消息队列中,也可以将 Stom 作为消费者,消费Kafka队列中的消息。在实际开发中经常将两者结合使用,用 Kafka 缓存消息,并将不均匀的消息转换成均匀的数据流提供给 Stom 进行消费,这样才可以实。重发,可以用于计数吗?

2024-06-23 08:00:00 493

原创 大数据-Hadoop-基础篇-第四章-MapReduce (离线计算引擎)

MapReduce 常用于对大规模数据集(大于 1TB)的并行运算,或对大数据进行加工、挖掘和优化等处理。MapReduce 将并行计算过程高度抽象到了两个函数 map 和reduce 中,程序员只需负责 map和 reduce 函数的编写工作,而并行程序中的其它复杂问题(如分布式存储、工作调度、负载均衡、容错处理等)均可由MapReduce 框架代为处理,程序员完全不用心。

2024-06-17 08:00:00 1030

转载 如何设计一个安全性架构

通过以上全面的安全性架构设计,可以显著提高系统的安全性,保护系统免受各种潜在威胁和攻击。每个层次的安全措施相互补充,形成多层次的防御体系,确保系统的整体安全。单点登录(SSO):使用 OAuth、OpenID Connect 等协议,实现跨应用系统的单点登录。安全信息与事件管理(SIEM):整合和分析安全日志,实时监控和响应安全事件。安全配置:确保服务器和操作系统的安全配置(如关闭不必要的服务和端口)。安全日志:记录所有的安全相关事件,如登录尝试、权限变更、数据访问等。

2024-06-05 08:00:00 121

原创 集成Google Authenticator实现多因素认证(MFA)

尤其是在面临日益复杂的网络安全威胁时,MFA的实施可以有效减少未经授权的访问,提高账户安全性。同时,将“实体所有”、“实体特征”、 “实体所知”三种不同认证因素结合起来增强系统或设备的安全性是研究人员容易设想的方向,因此多因素认证解决认证安全问题是大势所趋。基于OTP技术的MFA认证,是指在传统的用户名密码认证的基础上,增加一个额外的OTP认证。基于实体所知的方法是最为广泛使用的方法,如密码、验证码等,其成本低、实现简单,但同时也面临较大安全威胁如暴力破解和木马侵入等。

2024-06-03 08:00:00 2075

原创 linux入门到精通-第九章-文件操作

打开现存文件或新建文件时,系统(内核)会返回一个文件描述符,文件描述符用来指定已打开的文件。这个文件描述符相当于这个已打开文件的标号,文件描述符是非负整数,是文件的标识,操作这个文件描述符相当于操作这个描述符所指定的文件。需要说明的是,当一个进程终止时,内核对该进程所有尚未关闭的文件描述符调用close关闭,所以即使用户程序不调用close,在终止时内核也会自动关闭它打开的所有文件。在程序运行起来后打开其他文件时,系统会返回文件描述符表中最小可用的文件描述符,并将此文件描述符记录在表中。

2024-05-30 18:15:00 810

原创 linux入门到精通-第十九章-libevent(开源高性能事件通知库)

Libevent 是一个用C语言编写的、轻量级的开源高性能事件通知库,主要有以下几个亮点:事件驱动( event-driven),高性能;轻量级,专注于网络,不如 ACE 那么臃肿庞大;源代码相当精炼、易读;跨平台,支持 Windows、 Linux、 *BSD 和 Mac Os;支持多种 I/O 多路复用技术, epoll、 poll、 dev/poll、 select 和 kqueue 等;支持 I/O,定时器和信号等事件;注册事件优先级。Libevent 已经被广泛的应用,作为底层的网络库;

2024-05-27 07:45:00 1181

原创 VSCode在window使用cmake和MinGW-w64编译器编译Debug调试

安装完之后,在目录下会有bin目录会有所有程序,下图我是安装在D:/c/mingw64。点击run-》run with debug,会提示创建launch.json。注意:要下MinGW-w64版本,不要下成别的版本(比如MinGW-32)上面编译成功之后会在build目录下生成执行程序Demo.exe。配置launch.json如下,制定执行程序目录,以及gdb路径。在任意位置打开cmd,输入gcc -v查看版本,说明安装成功。点击我的电脑-》属性-》环境变量设置。注意安装目录不要有空格或者特殊字符。

2024-05-22 18:11:41 1910

原创 linux入门到精通-第十一章-进程间通信(无名管道)

管道也叫无名管道,它是是 UNIX 系统IPC(进程间通信)的最老形式,所有的 UNIX 系统都支持这种通信机制。1)半双工,数据在同一时刻只能在一个方向上流动2)数据只能从管道的一端写入,从另一端读出。3)写入管道中的数据遵循先入先出的规则。4)管道所传送的数据是无格式的,这要求管道的读出方与写入方必须事先约定好数据的格式,如多少字节算一个消息等。5)管道不是普通的文件,不属于某个文件系统,其只存在于内存中6)管道在内存中对应一个缓冲区。不同的系统其大小不一定相同。

2024-04-23 08:00:00 1412

原创 hertzbeat监控工具部署

hertzbeat是一个拥有强大自定义监控能力,高性能集群,兼容 Prometheus,无需 Agent 的开源实时监控告警系统。集 监控+告警+通知 为一体,支持对应用服务,应用程序,数据库,缓存,操作系统,大数据,中间件,Web服务器,云原生,网络,自定义等监控阈值告警通知一步到位。易用友好,无需 Agent,全 WEB 页面操作,鼠标点一点就能监控告警,零上手学习成本。

2024-04-11 09:47:34 685

原创 linux入门到精通-第十一章-进程间通信(有名管道)

管道,由于没有名字,只能用于亲缘关系的进程间通信。为了克服这个缺点,提出了命名管道(FIFO),也叫有名管道、FIFO文件。**命名管道(FIFO)**不同于无名管道之处在于它提供了一个路径名与之关联,以 FIFO 的文件形式存在于文件系统中,这样,即使与 FIFO 的创建进程不存在亲缘关系的进程,只要可以访问该路径,就能够彼此通过 FIFO 相通信,因此,通过 FIFO 不相关的进程也能交换数据命名管道 (FIFO)和无名管道 (pipe) 有一些特点是相同的,不一样的地方在于。

2024-04-09 08:00:00 985

原创 linux入门到精通-第十章-进程和程序(2)

在每个进程退出的时候,内核释放该进程所有的资源、包括打开的文件、占用的内存等。但是仍然为其保留一定的信息,这些信息主要指进程控制块PCB的信息 (包括进程号、退出状态、运行时间等)。父进程可以通过调用wait或waitpid得到它的退出状态,同时彻底清除掉这个进程。wait() 和 waitpid() 函数的功能一样,区别在于wait() 函数会阻塞,waitpid()可以设置不阻塞,waitpid()还可以指定等待哪个子进程结束。

2024-04-07 07:45:00 792

原创 linux入门到精通-第十章-进程和程序

我们平时写的 C 语言代码,通过编译器编译,最终它会成为一个可执行程序,当这个可执行程序运行起来后(没有结束之前),它就成为了一个进程。程序是存放在存储介质上的一个可执行文件,而进程是程序执行的过程。进程的状态是变化的,其包括进程的创建、调度和消亡。程序是静态的,进程是动态的。演程序就类似于剧本(纸),进程类似于戏(舞台、演员、灯光、道具…),同一个剧本可以在多个舞台同时上演。同样,同一个程序也可以加载为不同的进程(彼此之互不影响)。在Linux系统中,操作系统是通过进程去完成一个一个的任务,

2024-04-02 07:30:00 592

原创 AI-基于Langchain-Chatchat和chatglm3-6b部署私有本地知识库

自从去年GPT模型火爆以来,降低了很多个人和企业进入人工智能领域的门槛,对于大模型尤其是开源的大模型国内应该比较受关注和期待,毕竟高额的成本也能将不少人阻挡在门外,其次,大家都希望在产品中集成LLM的能力,结合业务来落地智能化应用,提升产品的竞争力,最直接的应用就是构建知识库。下面汇总了一下之前介绍的有关构建知识库相关的文章和视频,包含了开源和闭源多种不同的解决方案,从使用情况来看,因为都是开源产品,所以在架构和功能完整性上可能都不够全面,因为一直在持续的迭代过程。

2024-01-16 08:00:00 3159 1

原创 linux入门到精通-第九章-文件操作(2)

dup() 和 dup2() 是两个非常有用的系统调用,都用来复制一个文件的描述符,使新的文件描述符也标识旧的文件描述符所标识的文件。这个过程类似于现实生活中的配钥匙,钥匙相当文件描述符,锁相当于文件,本来一个钥匙开一把锁,相当于,通过旧的钥匙复制了一把新的钥匙,这样的话,旧的钥匙和新的钥匙都能开启这把锁。

2024-01-08 18:30:00 492

原创 linux入门到精通-第六章-gdb调试器

GNU工具集中的调试器是GDB (GNU Debugger),该程序是一个交互式工具,工作在字符模式。除gdb外,linux下比较有名的调试器还有xxgdb,ddd, kgdb,ups。GDB主要帮忙你完成下面四个方面的功能1.启动程序,可以按照你的自定义的要求随心所欲的运行程序。2.可让被调试的程序在你所指定的调置的断点处停住。(断点可以是条件表达式)3.当程序被停住时,可以检查此时你的程序中所发生的事4.动态的改变你程序的执行环境。

2023-12-26 08:00:00 932

原创 linux入门到精通-第八章-系统调用

系统调用,顾名思义,说的是操作系统提供给用户程序调用的一组“特殊”接口。用户程序可以通过这组“特殊“接口来获得操作系统内核提供的服务,比如用户可以通过文件系统相关的调用请求系统打开文件、关闭文件或读写文件,可以通过时钟相关的系统调用获得系统时间或设置定时器等。从逻辑上来说,系统调用可被看成是一个内核与用户空间程序交写的接口一一它好比一个中间人,把用户进程的请求传达给内核,待内核把请求处理完毕后再将外理结果送回给用户空间。系统服务之所以需要通过系统调用来提供给用户空间的根本原因是为了对系统进行“保护”

2023-12-12 19:00:00 1740

原创 linux入门到精通-第七章-Makefile使用

一个工程中的源文件不计其数,其按类型、功能、模块分别放在若千个目录中,makefile定义了一系列的规则来指定,哪些文件需要先编译,哪些文件需要后编译,哪些文件需要重新编译,甚至于进行更复杂的功能操作,因为makefile就像一个shell脚本一样,其中也可以执行操作系统的命令。Makefile带来的好处就是一”自动化编译”,一旦写好,只需要一个make命令,整个工程完全自动编译,极大的提高了软件开发的效率。

2023-11-20 08:00:00 387

原创 linux入门到精通-第五章-动态库和静态库

静态链接动态链接所谓“程序库”,简单说,就是包含了数据和执行码的文件。其不能单独执行,可以作为其他执行程序的一部分来完成模型功能。库的存在可以使得程序模块化,可以加快程序的再编译,可以实现代码重用,可以使得程序便于升级。程序库可分入静态库(static library)和共享库(shared library)。

2023-11-03 18:45:00 216

原创 linux入门到精通-第四章-gcc编译器

编辑器vi、记事本)是指我用它来写程序的 (编辑码),而我们写的代码语句,电脑是不懂的,我们需要把它转成电脑能懂的语句,编译器就是这样的转化工具。就是说,我们用编辑器编写程序,由编译器编译后才可以运行!编译器是将易于编写、阅读和维护的高级计算机语言翻译为计算机能解读、运行的低级机器语言的程序。gcc (GNU Compiler Collection,GNU 编译器套件是由 GNU 开发的编程语言编译器。

2023-10-17 19:00:00 1201 1

原创 linux入门到精通-第一章-文件目录

Linux是一种开源电脑操作系统内核。它是一个用C语言写成,符合POSIX标准的类Unix操作系统。Linux最早是由芬兰 Linus Torvalds为尝试在英特尔x86架构上提供自由的类Unix操作系统而开发的。该计划开始于1991年,在计划的早期有一些 Minix 黑客提供了协助,而如今全球无数程序员正在为该计划无偿提供帮助。Linux是开源的Unix是收费的。

2023-10-10 08:00:00 125

原创 linux入门到精通-第三章-vi(vim)编辑器

gedit是一个GNOME桌面环境下兼容UTF-8的文本编辑器。它使用GTK+编写而成,它十分的简单易用,有良好的语法高亮,对中文支持很好,支持包括gb2312、gbk在内的多种字符编码。gedit是一个自由软件。这是 Linux 下的一个纯文本编辑器,但你也可以把它用来当成是一个集成开发环境 (IDE), 它会根据不同的语言高亮显现关键字和标识符。

2023-09-19 08:00:00 217

原创 linux入门到精通-第二章-常用命令和工具

command:命令名,相应功能的英文单词或单词的缩写[-options]: 选项,可用来对命令进行控制,也可以省略,[]中括号代表可选。一个横杆后面跟单词缩写,两个横杆后面是跟完整单词parameter1…: 传给命令的参数,可以是零个一个或多个。

2023-09-04 08:00:00 135

原创 nginx通过实现rtmp服务及使用flv.js播放

设置gop_cache off;可以去掉缓存,加快速度,延迟从5秒减少到2秒,但是打开播放会卡,播放也不会很流畅。//改为自己服务的地址。

2023-08-29 08:00:00 1127

原创 消息中间件-kafka实战-第五章-kafka重复消费、顺序消费及死信队列

这个默认值是比较坑人的,如果你的消息处理逻辑比较重,比如需要查数据库,调用接口,甚至是复杂计算,那么你很难保证能够在5min内处理完500条消息,也就是说,如果上游真的突然大爆发生产了成千上万条消息,而平摊到每个消费者身上的消息达到了500的又无法按时消费完成的话就会触发rebalance, 然后这批消息会被分配到另一个消费者中,还是会处理不完,又会触发rebalance, 这样这批消息就永远也处理不完,而且一直在重复处理。,单次poll调用返回的最大消息记录数,如果处理逻辑很轻量,可以适当提高该值。

2023-08-22 08:00:00 1284

原创 消息中间件-kafka实战-第六章-kafka加线程池多线程消费

头条面试:当线上Kafka集群有大量消息积压时,如何利用多线程消费解决消费积压问题

2023-08-18 08:00:00 603

原创 百度飞浆实战-手写数字识别

因为每张图片是28*28(784)像素,所以我们输入层设置为784个神经元,隐藏层是512(这个数据是可以变得,一般是深度学习设计者根据经验计算得出),输出层是10(0~9的数字)飞桨框架帮助我们将MNIST数据集进行了内置。再项目中搜索,找到打开链接。

2023-08-15 08:00:00 585

原创 使用SpringAop切面编程通过Spel表达式实现Controller权限控制

我们仅需要定义一个value属性用于接收表达式即可。@Target({/*** permissionAll()-----只要配置了角色就可以访问* hasPermission("MENU.QUERY")-----有MENU.QUERY操作权限的角色可以访问* hasAnyPermission("MENU.QUERY","MENU.ADD")-----有MENU.QUERY操作权限的角色可以访问* permitAll()-----放行所有请求。

2023-08-14 18:30:00 937

原创 SpringBoot集成企业微信群聊机器人消息

现在很多企业都在使用企业微信进行工作交流,自从企业微信推出群机器人之后,使用企业微信的小伙伴一般都会用机器人来推送定时消息或者提醒等,这样能够为企业工作群的管理提升效率,能很好的帮助企业运营管理工作群,同样它可以作为一个小助手,也为工作增加一些乐趣。

2023-08-03 08:00:00 1412

原创 Ubuntu20.04安装redis的c++操作库hiredis

我们这里先了解一下hiredis的基本接口,笔者都加了注释。由于上面下载的不是源码,所以不需要如下操作。由于上面下载的不是源码,所以不需要如下操作。由于上面下载的不是源码,所以不需要配置。

2023-07-12 08:50:45 798

原创 wireshark抓包工具实战

Kali Linux 系统自带 Wireshark 工具,而 Windows 系统中默认没有安装该工具。该工具主要是用来捕获网络数据包,并自动解析数据包,为用户显示数据包的详细信息,供用户对数据包进行分析。可以使用该工具捕获并分析各类协议数据包,本文将讲解该工具的安装及基本使用方法。其中服务器发送FIN和回复ACK合并发送,如果想要分开发送,可以在close(cfd)之前执行一次sleep(1)延时。以太网层(MAC地址)包含目的地址(6字节)、源地址(6字节)、地址类型(2个字节),对应的mac地址是。

2023-07-03 20:15:00 4889 3

空空如也

空空如也

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

TA关注的人

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