自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(284)
  • 资源 (2)
  • 问答 (2)
  • 收藏
  • 关注

原创 解决idea粘贴空格时显示NBSP的问题并且在Registry中找不到editor.show.special.chars

解决办法:在设置中找到Advanced Settings,把Render special characters前面的对勾取消掉就好了。原因:2020.2版本以后无法找到以上的选项来解决问题;之后的版本这个选项换地方了。

2024-03-21 20:55:12 529

原创 Linux - tmux命令

tmux attach连接到某个会话后,可以使用tmux switch [-t target-session]切换到指定的 tmux 会话。tmux attach到某个终端后, 可以使用ctrl+b+d或者在终端输入tmux detach分离会话。在创建会话的时候,提及可以在 tmux 会话里面直接使用exit退出会话;在新创建的 tmux 终端运行exit命令直接退出当前 tmux 会话;在当前 tmux 会话tmux new-window创建一个新的窗口;使用如下命令可以进入指定的 tmux 的会话。

2024-03-12 23:11:10 479

原创 linux ipmitool - 硬件管理软件

ipmitool 是一款开源的命令行工具,用于管理远程服务器的硬件,可以通过 IPMI(Intelligent Platform Management Interface)接口与服务器进行通信。它可以帮助管理员监视服务器的状态、诊断硬件问题、重置服务器、更新固件等。ipmitool 可以在 Linux、Windows 和 Mac OS 等操作系统上运行,并且支持多种 IPMI 版本。它还提供了一些有用的功能,如传感器读取、事件记录、电源管理、KVM 控制等。

2024-03-08 18:10:44 1133

原创 kerberos学习系列一:原理

Kerberos 一词来源于古希腊神话中的 Cerberus —— 守护地狱之门的三头犬。Kerberos 是一种基于加密 Ticket 的身份认证协议。Kerberos 主要由三个部分组成:Key Distribution Center (即KDC)、Client 和 Service。

2024-03-06 21:32:10 1060

原创 hbase学习十:客户端实现与Meta表解析

hbase社区的客户端一般是java客户端。HBase也支持Shell交互式客户端。Shell客户端实质是用JRuby(用Java编写的Ruby解释器,方便Ruby脚本跑在JVM虚拟机上)脚本调用官方HBase客户端来实现的。因此,各种客户端的核心实现都在社区Java版本客户端上。客户端访问HBase表数据的全过程如下:步骤1:获取集群的Conf iguration对象。

2024-02-28 18:46:53 288

原创 HDFS 之 Topology(Rack) Awareness - 机架感知

机架感知在大型分布式存储系统中非常实用,可以有效保证数据的高可用,同时提升集群稳定性。在HDFS中,也实现了类似Topology Awareness的机制,只不过是采用软件的方式模拟。

2024-02-23 18:09:24 67

原创 HBASE学习九:数据写入 -> BulkLoad

在实际生产环境中,有这样一种场景:用户数据位于HDFS中,业务需要定期将这部分海量数据导入HBase系统,以执行随机查询更新操作。鉴于存在上述问题,HBase提供了另一种将数据写入HBase集群的方法——BulkLoad。

2024-02-21 21:50:06 254

原创 HDFS 之 数据管理(namespace 和 slaves)

Namespace在HDFS中是一个非常重要的概念,也是有效管理数据的方法。Namespace有很多优点:可伸缩性。使HDFS集群存储能力可以轻松进行水平拓展;系统性能。单点性能受限,影响系统吞吐;隔离性。不同业务类型访问集群有时容易互相干扰,使用多Namespace可以有效管理访问分类。

2024-02-07 17:03:32 192 1

原创 HDFS架构 之 元数据架构解析

FsImage是一种持久化到磁盘上的文件,里面包含了集群大部分的meta数据,持久化的目的主要是为了防止meta数据丢失,也就是在HDFS不可用的情况下还能够保证绝大多数的数据是正常的。这个工作在Namenode服务中有专门的线程去做。FsImage包含了所有在持久化之前Namenode管理的meta信息,加载这些数据时会按照数据类型逐条、串行处理每一条数据,然后填充到Namenode内存中的主体结构FSDirectory中。。具体类型如下所示。

2024-02-07 15:32:17 744 1

原创 HDFS架构 之 服务视图

为实现以上特性,HDFS包含的各个服务模块都是经过精心设计的,HDFS的服务视图如图。HDFS的服务视图包含三大部分:核心服务、公共服务和拓展服务。

2024-02-07 15:31:52 480 1

原创 HDFS HA 之 HA 原理

ZKFC(ZK Failover Controller) 是HA热切换的主要实现者。当工作时,与Namenode(主要是Active和Standby节点)一对一搭配合作。ZKFC的默认实现者是DFSZKFailoverController,运行时需要独立开启一个JVM进程,并且需要和Namenode位于同一节点,这样做的好处是能够“近距离”了解Namenode的健康状态。ZKFC主要由以下几个部分组成。

2024-01-31 09:41:30 152

原创 mac 窗口管理器-spectacle

链接: https://pan.baidu.com/s/1uINZgeoR4zBWgCtTvAi8zA?pwd=vvfm 提取码: vvfm。

2024-01-30 19:42:04 346

原创 JVM 内存配置参数积累

在进行JVM内存配置时,应当考虑到应用程序的实际需求和运行环境的资源限制,合理分配、和参数,以获得最佳的性能表现。通常建议将和设置为相同的值,以避免JVM在运行过程中动态调整堆大小带来的性能损耗。而的设置则应根据具体的应用程序特性和垃圾回收策略来决定。定义: 参数用于设置Java虚拟机(JVM)堆内存的最大值。这是JVM可以使用的堆内存的上限。用途: 通过设置,你可以控制JVM运行时分配给对象存储的最大内存量,以此来避免程序运行时因为消耗过多内存而导致的。示例: 如果你想要设置JVM的最大堆内存为2GB,可

2024-01-30 14:09:34 619

原创 HDFS HA 之 Quorum Journal Manager

通过Secondary namenode 作为备节点,然后冷备namenode数据,为Namenode分担部分压力,主要执行Checkpoint工作。在这种架构体系下,Namenode以单点的形式运行,一旦系统集群出现故障,可用性是致命的,目前基本不使用了。

2024-01-29 15:58:30 53

原创 HDFS 之 命令积累

当管理员在 hdfs-site.xml 配置文件中更新了节点的排除列表(exclude list)或包含列表(include list)后,可以运行此命令来应用这些变更,而无需重启整个 HDFS 服务。当编辑日志变得过大时,可以使用 -rollEdits 命令来滚动编辑日志,即关闭当前的编辑日志文件,并开始一个新的编辑日志文件。退役是一个逐渐将节点从集群中移除的过程,该过程中该节点上的数据将被安全地迁移到其他节点。这个输出告诉你当前配置下,失败的存储卷是否可以在不重启 DataNode 的情况下恢复。

2024-01-29 11:51:07 39

原创 HBase学习五:运维排障之备份与恢复

在线Snapshot备份与恢复最常用的4个工具是snapshot、restore_snapshot、clone_snapshot以及ExportSnapshot。snapshot,可以为表打一个快照,但并不涉及数据移动。hbase> snapshot 'sourceTable', 'snapshotName' #登录habse shell执行restore_snapshot,用于恢复指定快照,恢复过程会替代原有数据,将表还原到快照点,快照点之后的所有更新将会丢失。

2024-01-24 18:14:47 442

原创 mac 截图工具snipaste

软件自提链接: https://pan.baidu.com/s/1N5TfZhYZmavfBGrUS9fOgA?pwd=wxmc 提取码: wxmc官网下载:https://www.snipaste.com/download.html。

2024-01-24 15:36:07 360

原创 macOS 上使用 Sublime Text

使用快捷键Command + F打开查找功能。然后点击左下角的.*图标或使用快捷键Command + Alt + R来启用正则表达式搜索。确保替换栏为空,然后点击Replace All按钮或使用快捷键Command + Alt + Enter来删除所有匹配的空行。如果你只想删除那些完全是空的行(没有任何空格或制表符),可以使用更简单的正则表达式^\n。这个正则表达式匹配从行开始到行结束之间的所有空白字符,包括空格、制表符和换行符。确保在进行任何批量编辑操作之前备份文件,以防不小心删除了不想删除的内容。

2024-01-24 15:19:07 1150 1

原创 sshpass使用

【代码】sshpass使用。

2024-01-24 11:30:47 332

原创 HBase学习五:运维排障之复制

在HBase中,"peer"一词通常用于描述参与复制过程的另一个HBase集群。这个术语特别用于HBase的数据复制功能,其中数据从一个集群(称为主集群)复制到另一个集群(称为peer集群或者副本集群)。接收数据: Peer集群接收主集群复制过来的数据变更。数据备份: 作为数据备份,以便在主集群不可用时仍然能够访问数据。读写分离: 可以用于读写分离,将读请求分发到peer集群,减轻主集群的负载。灾难恢复: 在不同的数据中心部署peer集群,用于灾难恢复。

2024-01-23 10:12:11 332

原创 HBase学习五:运维排障之宕机恢复

HBase系统中主要有两类服务进程:Master进程以及RegionServer进程。Master主要负责集群管理调度,在实际生产线上并没有非常大的压力,因此发生软件层面故障的概率非常低。RegionServer主要负责用户的读写服务,进程中包含很多缓存组件以及与HDFS交互的组件,实际生产线上往往会有非常大的压力,进而造成的软件层面故障会比较多。

2024-01-23 10:06:40 297

原创 HBase学习八: 核心参数配置

参数配置是一个富有技巧性的工作,每个参数的背后都隐藏着对应模块的工作原理,如果不清楚这些工作原理,就没办法真正理解这些参数的核心意义。

2024-01-18 20:47:07 392

原创 HBase学习七:Compaction

Compaction是从一个Region的一个Store中选择部分HFile文件进行合并。其目的为了减少 HFile 的个数跟清理掉过期和删除的数据。合并原理是,先从这些待合并的数据文件中依次读出KeyValue,再由小到大排序后写入一个新的文件。之后,这个新生成的文件就会取代之前已合并的所有文件对外提供服务。HBase根据合并规模将Compaction分为两类:Minor Compaction和Major Compaction。

2024-01-17 22:25:42 449

原创 brew install XXX一直卡在UpdateHomebrew…

【代码】brew install XXX一直卡在UpdateHomebrew…

2024-01-17 16:15:06 519

原创 markdown的颜色管理器

颜色管理器:浅红色文字深红色文字浅绿色文字深绿色文字浅蓝色文字深蓝色文字浅黄色文字深黄色文字浅青色文字深青色文字浅紫色文字深紫色文字。

2024-01-17 15:05:55 353

原创 HBASE学习一:原理架构详解

HBase 是一款面向列存储,用于存储处理海量数据的 NoSQL 数据库。它的理论原型是Google 的 BigTable 论文。你可以认为 HBase 是一个高可靠性、高性能、面向列、可伸缩的分布式存储系统。HBase 的存储是基于HDFS的,HDFS 有着高容错性的特点,被设计用来部署在低廉的硬件上,基于 Hadoop 意味着 HBase 与生俱来的超强的扩展性和吞吐量。HBase 采用的时key/value的存储方式,这意味着,即使随着数据量的增大,也几乎不会导致查询性能的下降。

2024-01-17 15:04:34 462

原创 HBase学习六:LSM树算法

随着写入的增加,内存数据会不断地刷新到磁盘上。最终磁盘上的数据文件会越来越多。如果数据没有任何的读取操作,磁盘上产生很多的数据文件对写入并无影响,而且这时写入速度是最快的,因为所有IO都是顺序IO。但是,一旦用户有读取请求,则需要将大量的磁盘文件进行多路归并,之后才能读取到所需的数据。因为需要将那些Key相同的数据全局综合起来,最终选择出合适的版本返回给用户,所以磁盘文件数量越多,在读取的时候随机读取的次数也会越多,从而影响读取操作的性能。

2024-01-16 18:42:43 282

原创 HBase学习五:运维排障之负载均衡

在当前的HBase版本中,Region迁移虽然是一个轻量级操作,但实现逻辑依然比较复杂,≈复杂性主要表现在两个方面:其一,Region迁移过程涉及多种状态的改变;其二,迁移过程中涉及Master、ZooKeeper(ZK)以及RegionServer等多个组件的相互协调。在实际执行过程中,Region迁移操作分两个阶段:unassign阶段和assign阶段。

2024-01-16 17:59:25 200

原创 HBASE学习四:常用命令汇总梳理(包括数据库、zk、hdfs相关操作与配置)

disable 后才可以 drop 这张表。

2024-01-16 17:56:06 241

原创 HBase学习三:集群部署

集群启停顺序:启动Hadoop—>启动HBase—>关闭HBase—>关闭Hadoop。

2024-01-16 17:53:44 267

原创 HBase学习二:RegionServer详解

RegionServer是HBase系统中最核心的组件,主要负责用户数据写入、读取等基础操作。RegionServer组件实际上是一个综合体系,包含多个各司其职的核心模块:HLog、MemStore、HFile以及BlockCache。一个RegionServer由一个(或多个)HLog、一个BlockCache以及多个Region组成。其中,HLog用来保证数据写入的可靠性;BlockCache可以将数据块缓存在内存中以提升数据读取性能;

2024-01-16 17:50:23 383

原创 excel使用之删除多余空行

【代码】excel使用之删除多余空行。

2024-01-16 12:28:43 311

原创 HDFS HA 之 集群搭建 - 基于Quorum Journal Manager(hadoop2.7.1)

在Hadoop分布式文件系统(HDFS)中,检查点(Checkpointing)是一个关键的过程,它涉及到将文件系统的命名空间状态持久化到磁盘。这个状态由两部分组成:EditLogs和FsImage。检查点的作用检查点的创建。

2024-01-15 16:43:38 474

原创 ping为什么不能加http

通过上述解释,你现在应该明白为什么在 Ping 命令中加入 HTTP 会导致无法通信,而去掉 HTTP 后可以正常通信。Ping 需要的是可以解析到 IP 地址的主机名,而不是包含协议的 URL。

2024-01-09 10:57:44 1088

原创 go语言学习-包管理

Go语言自定义包是Go语言中模块化编程的重要组成部分,通过将代码封装在包中,可以实现更好的代码复用、可维护性和可扩展性。同时,自定义包也可以方便地分享给其他开发者使用,可以提高部门或者团队的开发效率。提高代码复用率实现代码解提高代码可读性提高代码安全性K提供团队开发效率//新建一个目录packagestudy,初始化项目,切换到新建目录下执行go mod init packagestudy //packagestudy为包名。

2023-12-04 01:02:18 241

原创 go语言学习-并发编程(并发并行、线程协程、通道channel)

比如一个饭店多个菜系的师傅,然后相关菜系会放到对应的存放位置,然后服务员到对一个的位置取菜。GoRoutine实现: 只需要语句前添加。通过运行函数可以发现基本是同一时间执行的。

2023-12-03 17:50:54 335

原创 Hadoop功能与使用详解(HDFS+YARN)

Hadoop是一个开源的分布式计算和存储框架,由Apache基金会开发和维护。Hadoop 为庞大的计算机集群提供可靠的、可伸缩的应用层计算和存储支持,它允许使用简单的编程模型跨计算机群集分布式处理大型数据集,并且支持在单台计算机到几千台计算机之间进行扩展。Hadoop使用Java开发,所以可以在多种不同硬件平台的计算机上部署和使用。其核心部件包括分布式文件系统 (Hadoop DFS,HDFS) 和MapReduce。

2023-11-24 20:15:03 65

原创 go语言学习-结构体

/ 结构体可以理解为一个自定义的类型,我们可以给自定义的类型创建各种各样的方法(功能),就像原生的类型一样,也是有很多方法的,可以对数据做不同的处理// 比如定义一个People类型,可以有吃饭、获取详情以及工作挣钱等功能// 一个经典的案例,定义一个机器人的类型,机器人有很多功能比如开机、关机、升级、走路等等// 这些功能都叫做方法// 定义一个结构体// type 结构体名称 structName string //结构体具有的属性 属性名 类型Sex stringAge int。

2023-11-21 22:37:49 428

原创 go语言学习-异常处理

有两种方法:1、通过errors包中的errors.New方法定义。2、通过fmt.Errorf方法定义错误。import ("errors""fmt"// 定义一个函数,用来实现除法fmt.Println("需要计算的数字是:", i1, i2)return 0, errors.New("输入的分母不能为0")} else {// go 错误定义为一种类型,err = ccc// 像使用其他类型的变量一样,去处理我们的错误。// go打开一个本地文件。

2023-11-21 10:52:25 289

原创 go语言学习-go环境安装

找对应电脑的版本进行安装即可。点击安装包,直接下一步下一步即可,安装目录可以自行设置一下。

2023-11-21 00:24:45 326

深度学习入门.txt

深度学习 基于Python语言和TensorFlow的课程资源,想要学习深度学习入门的小伙伴可以进行观看,希望可以帮助到大家!

2020-04-04

KUKA工业机器人编程与实操技巧课件.rar

关于KUKA工业机器人的一些编程与实操技巧 的知识,希望对小伙伴们有所帮助, 需要的朋友们可以下载观看,

2020-03-12

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

TA关注的人

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