- 博客(106)
- 资源 (16)
- 收藏
- 关注
原创 Nacos2.2.3适配达梦数据库编译打包完整教程
MySQL、derby 的实现,也可以有我们自己的实现,具体来说就是达梦数据库的实现,我们只需要把这几个类重写就可以了,当然具体重写的内容中的 SQL 要根据达梦数据库的方言情况,修改或者不修改。这种方式的问题是由于自行修改了源代码,在进行版本升级时会比较麻烦,每一次升级都要手动合并最新的代码再进行编译,未来甚至有可能出现。原生是不支持达梦数据库的,所以就要想办法让它 “支持”,因为是开源软件,我们可以从源码入手,在流行的。的实现类,然后根据数据源参数找到相应的实现类就可以了。包下有不同的数据库实现类。
2024-02-21 16:51:48
3963
原创 七、ZooKeeper选举机制
zookeeper默认的算法是FastLeaderElection,采用投票数大于半数则胜出的逻辑。服务器ID、选举状态、数据ID、逻辑时钟,对于运行正常的zookeeper集群,中途有机器down掉,需要重新选举时,选举过程就需要加入数据ID、服务器ID和逻辑时钟。
2023-12-02 11:15:31
1008
原创 六、ZooKeeper Java API操作
这里操作Zookeeper的JavaAPI使用的是一套zookeeper客户端框架 Curator ,解决了很多Zookeeper客户端非常底层的细节开发工作。对zookeeper的底层api的一些封装封装了一些高级特性,如:Cache事件监听、选举、分布式锁、分布式计数器等。
2023-12-02 10:53:57
1523
原创 五、ZooKeeper的shell操作
功能,一个典型的发布/订阅模型系统定义了一种一对多的订阅关系,能让多个订阅者同时监听某一个主题对象,当这个主题对象自身状态变化时,会通知所有订阅者,使他们能够做出相应的处理。dataVersion:数据版本号,每次对节点进行set操作,dataVersion的值都会增加1(即使设置的是相同的数据),可有效避免了数据更新时出现的先后顺序问题。事件发生触发监听,一个watcher event就会被发送到设置监听的客户端,这种效果是一次性的,后续再次发生同样的事件,不会再次触发。
2023-12-02 10:49:30
1179
原创 三、Zookeeper数据模型
ZooKeeper虽然可以关联一些数据,但并没有被设计为常规的数据库或者大数据存储,相反的是,它用来管理调度数据,比如分布式应用中的配置文件信息、状态信息、汇集位置等等。另外,每一个节点都拥有自己的ACL(访问控制列表),这个列表规定了用户的权限,即限定了特定用户对目标节点可以执行的操作。既像文件一样维护着数据、元信息、ACL、时间戳等数据结构,又像目录一样可以作为路径标识的一部分,并可以具有子Znode。ZooKeeper的数据模型,在结构上和标准文件系统的非常相似,拥有一个层次的命名空间,都是采用。
2023-12-02 09:56:55
968
原创 二、ZooKeeper集群搭建
Zookeeper集群搭建指的是ZooKeeper分布式模式安装。通常由2n+1台server组成。这是因为为了保证Leader选举(基于Paxos算法的实现)能过得到多数的支持,所以ZooKeeper集群的数量一般为奇数。
2023-12-02 09:49:45
1261
原创 一、Zookeeper基本知识
Zookeeper是一个分布式协调服务的开源框架。主要用来解决分布式集群中应用系统的一致性问题。ZooKeeper本质上是一个分布式的小文件存储系统。提供基于类似于文件系统的目录树方式的数据存储,并且可以对树中的节点进行有效管理。从而用来维护和监控你存储的数据的状态变化。通过监控这些数据状态的变化,从而可以达到基于数据的集群管理。
2023-12-02 09:33:46
625
原创 七、三台虚拟机JDK环境安装
修改完成之后记得在三台主机上分别执行source /etc/profile使配置生效。远程拷贝/etc/profile配置文件,将其拷贝到node2和node3主机。上传jdk到node1的/export/software路径下去并解压。2、在三台虚拟机上查看是否有自带的openjdk,如果有则卸载。远程拷贝jdk安装目录,将其拷贝到node2和node3主机。3、在node1机上传安装包并解压。1、在三台机器上分别创建安装目录。5、在node1上进行文件分发。4、在node1配置环境变量。
2023-12-01 14:48:56
1000
原创 六、三台主机免密登录和时钟同步
Linux集群节点众多, 所以, 这个时候就需要程序自动在主节点登录到从节点中, 如果不能免密就每次都要输入密码, 非常麻烦。1. 需要先在 B节点 配置 A节点 的公钥2. A节点 请求 B节点 要求登录3. B节点 使用 A节点 的公钥, 加密一段随机文本4. A节点 使用私钥解密, 并发回给 B节点5. B节点 验证文本是否正确在三台机器执行以下命令,生成公钥与私钥。
2023-12-01 14:39:29
1030
原创 五、关闭三台虚拟机的防火墙和Selinux
2) Linux中的权限管理是针对于文件的, 而不是针对进程的, 也就是说, 如果root启动了某个进程, 则这个进程可以操作任何一个文件。如果开启了SELinux, 需要做非常复杂的配置, 才能正常使用系统, 在学习阶段, 在非生产环境, 一般不使用SELinux。3) SELinux在Linux的文件权限之外, 增加了对进程的限制, 进程只能在进程允许的范围内操作资源。编辑每台虚拟机的Selinux的配置文件。#禁止firewall开机启动。#停止firewall。
2023-12-01 14:24:03
846
原创 四、设置主机名和域名映射
分别编辑每台虚拟机的hostname文件,直接填写主机名,保存退出即可。注意:不要修改文件原来的内容,三台虚拟机的配置内容都一样。第一台主机主机名为:node1。第二台主机主机名为:node2。第三台主机主机名为:node3。
2023-12-01 14:18:34
659
原创 三、使用CRT连接三台虚拟机
使用CRT连接三台虚拟机,1、建立连接,2、参数配置,3、设置主题、颜色和仿真,按照同样方式去连接node2和node3主机。
2023-12-01 14:04:20
640
原创 二、设置三台虚拟机的内存、MAC地址、IP地址
1、三台虚拟机再加上windows本身, 需要同时运行4台机器, 所以在分配的时候,, 每台虚拟机的内存为:总内存 ÷ 4,比如电脑总内存为16G,则每台虚拟机内存为4G即4096。
2023-12-01 11:58:30
1444
原创 一、服务器准备
本案例使用VMware Workstation Pro虚拟机创建虚拟服务器来搭建Linux服务器集群,所用软件及版本如下:Centos7.7-64bit第一种方式:通过iso镜像文件来进行安装(不推荐)第二种方式:直接复制安装好的虚拟机文件(强烈推荐)在资料里边已经提供了一个安装好的虚拟机node1(注意,为了大家以后环境的统一,尽量使用课程资料中提供的已经安装好的虚拟机!!!!!!),我们需要根据这个虚拟机克隆出另外两台虚拟机出来。资料地址:联系作者获取。注意,步骤如下:注意克隆node1虚拟机的时候,先
2023-12-01 11:50:33
1005
原创 十、shell - 加载其它文件的变量
和其他语言一样,Shell 也可以包含外部脚本。这样可以很方便的封装一些公用的代码作为一个独立的文件。Shell 文件包含的语法格式如下:. filename # 注意点号(.)和文件名中间有一空格或。
2023-12-01 09:51:31
489
原创 九、shell - select
select表达式是bash的一种扩展应用,擅长于交互式场合。用户可以从一组不同的值中进行选择。select 是个无限循环,因此要记住用 break 命令退出循环,或用exit 命令终止脚本
2023-12-01 09:48:22
446
原创 八、shell - 数组
数组中可以存放多个值。Bash Shell 只支持一维数组(不支持多维数组),初始化时不需要定义数组大小(与 PHP 类似)。与大部分编程语言类似,数组元素的下标由0开始。
2023-12-01 09:44:18
987
原创 七、shell - 函数
linux shell 可以用户定义函数,然后在shell脚本中可以随便调用。shell中函数的定义格式如下:action;1、可以带function fun() 定义,也可以直接fun() 定义,不带任何参数。1)定义一个函数并进行调用test28.sh/bin/bashdemoFun(){echo"这是我的第一个 shell 函数!
2023-12-01 09:38:51
989
原创 六、shell - 流程控制
Shell提供了丰富的语句判断方式,包括数字,字符串和文件。1、语句判断,当变量值在列表里,for循环即执行一次所有命令,使用变量名获取列表中的当前取值。命令可为任何有效的shell命令和语句。in列表可以包含替换、字符串和文件名。while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。while循环用于不断执行一系列命令,也用于从输入文件中读取数据;命令通常为测试条件。Shell case语句为多选择语句。可以用case语句匹配一个值与一个模式,如果匹配成功,执行相匹配的命令
2023-12-01 09:33:47
880
原创 六、shell编程
shell脚本执行方式Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。它类似于 DOS 下的 command 和后来的 cmd.exe。Shell 既是一种命令语言,又是一种程序设计语言。
2023-11-30 17:46:38
523
原创 五、shell - 算术运算符
Shell 和其他编程一样,支持包括:算术、关系、布尔、字符串等运算符。原生 bash 不支持简单的数学运算,但是可以通过其他命令来实现,例如expr。expr 是一款表达式计算工具,使用它能完成表达式的求值操作。
2023-11-30 17:39:24
989
原创 四、shell - 字符串
字符串是shell编程中最常用最有用的数据类型(除了数字和字符串,也没啥其它类型好用了),字符串可以用单引号,也可以用双引号,也可以不用引号。
2023-11-30 17:30:04
1120
原创 三、shell - 变量
shell变量是一种很“弱”的变量,默认情况下,一个变量保存一个串,shell不关心这个串是什么含义。所以若要进行数学运算,必须使用一些命令例如let、declare、expr、双括号等。
2023-11-30 17:18:51
898
原创 二、shell编程快速入门
的全称是 Bourne shell,由 AT&T 公司的 Steve Bourne开发,为了纪念他,就用他的名字命名了。默认情况下,所有的数值都是不能进行运算的,如果想要进行数学运算,可以使用“$((运算式))”或“$[运算式]”方式运算(后续讲)。是因使用C语言的语法风格而得名,在用户的命令行交互界面上进行了很多改进,并增加了历史,别名,文件名替换,作业掏等功能,相比Bsh,Csh在更加适用为用户提供命令交互操作。sh执行,进入脚本的工作目录,然后使用对应的sh或bash来执行脚本,
2023-11-30 17:03:11
780
原创 一、shell编程简介
shell脚本执行方式Shell 是一个用 C 语言编写的程序,通过 Shell 用户可以访问操作系统内核服务。Shell 编程一般指 shell脚本编程,不是指开发 shell 自身。Shell 编程跟 java、php 编程一样,只要有一个能编写代码的文本编辑器和一个能解释执行的脚本解释器就可以了。1、大数据开发的代码需要封装到脚本中,自动化执行,可以使用Shell脚本来完成。Linux 的 Shell 种类众多,一个系统可以存在多个 shell,可以通过。命令查看系统中安装的 shell。
2023-11-30 16:49:34
385
原创 五、Linux基础软件安装
接下来,我们来学习如何在linux上安装JDK和Mysql,安装之前需要在Linux上提前创建三个目录:mkdir-pexportsoftware#软件包存放目录mkdir-pexportserver#安装目录mkdir-pexportdata#数据存放目录。
2023-11-30 16:32:59
922
原创 四、虚拟机网络配置
当安装完虚拟机之后,默认的ip分配方案为DHCP,每一次开机时的ip都是有可能不同的,这样就会导致每次远程连接都需要查看ip地址.设置为静态ip后, 当前虚拟机的ip地址就不会在发生改变,, 后期配置集群相关的内容时首要的要求就是ip必须为静态, 否则由于无法得到一个准确的ip地址,集群也是构建不了的。仅主机模式和NAT模式是类似的,在该模式下,虚拟网络是一个全封闭的网络,它唯一能够访问的就是主机,当然多个虚拟机之间也可以互相访问, 只需要记住仅主机模式是无法进行上网的。桥接模式、NAT模式、仅主机模式。
2023-11-30 16:21:00
1318
原创 三、Linux高级命令
重定向 > Linux 允许将命令执行结果重定向到一个文件,本应显示在终端上的内容保存到指定文件中。如:ls >test.txt ( test.txt 如果不存在,则创建,存在则覆盖其内容 )。;重定向>>>>这个是将输出内容追加到目标文件中。如果文件不存在,就创建文件;如果文件存在,则将新的内容追加到那个文件的末尾,该文件中的原有内容不受影响。
2023-11-30 16:00:37
1251
原创 二、Linux基础命令
Linux基础命令、终端命令格式、显示文件列表命令、目录查看、目录创建和目录删除命令(pwd、mkdir、rm)、目录切换命令、文件操作命令、文件查找命令、压缩和解压命令tar、系统管理命令、用户的创建和删除命令、权限管理命令、网络和服务管理命令
2023-11-30 15:50:15
911
原创 一、Linux系统概述和安装
Linux系统概述和安装、Linux发行版介绍、虚拟机软件介绍、VMware安装、Linux系统(CentOS)系统安装、Linux连接工具CRT使用、Linux的快照、1.9.Linux目录结构介绍
2023-11-30 14:57:44
907
原创 第8章 docker网络管理
由于Docker 所有容器都连接于默认的桥接网络上,因此默认情况下所有容器都是可以互联的,没有隔离,当然这样安全性不好。而服务发现,是在这种环境下发展出来的,通过修改容器内的 /etc/hosts 文件来完成的。凡是 --link 的主机的别名就会出现于 /etc/hosts 中,其地址由 Docker 引擎维护。因此容器间才可以通过别名互访。
2022-11-14 18:03:15
440
原创 第7章 docker存储管理
docker存储管理1.docker 为容器提供了两种存储资源:数据层和 Data Volume。2.数据层包括镜像层和容器层,由 storage driver 管理。3.Data Volume 有两种类型:bind mount 和 docker managed volume。4.bind mount 可实现容器与 host 之间,容器与容器之间共享数据。5.volume container 是一种具有更好移植性的容器间数据共享方案,特别是 data-packed volume container。
2022-11-14 10:03:24
381
原创 第5章 dockerfile
在docker build创建镜像的时候,使用 -build-arg [=]来指定参数,当镜像编译成功后,ARG指定的变量将不存在(ENV指定的变量将在镜像中保留)一般还是会用entrypoint的中括号形式作为docker 容器启动以后的默认执行命令,里面放的是不变的部分,可变部分比如命令参数可以使用cmd的形式提供默认版本,也就是run里面没有任何参数时使用的默认参数。如果我们想用默认参数,就直接run,否则想用其他参数,就run 里面加参数。
2022-11-14 09:25:33
683
c与c++常见面试题汇总
2023-06-01
黑盒测试、白盒测试、单元测试、集成测试、系统测试、验收测试的区别
2023-06-01
深入理解高并发编程-Java线程池核心技术
2023-06-01
消息中间件消息队列常见面试题
2023-06-01
字节大佬总结的Java面试资料
2023-06-01
10个Java经典的Main方法面试题!
2023-05-31
JVM执行子系统-JVM进阶
2023-05-31
JVM性能优化相关问题-面试-进阶
2023-05-31
MySQL性能优化的21个最佳实践
2023-05-31
v2.6.10-vue.js&vue.min.js&vue.common.js&vue.runtime.js等14个资源
2023-03-12
Java Springboot科大讯飞webapi、sdk实现语音听写、语音转写、实时语音转写
2022-06-27
prometheus-2.33.5.windows-arm64.tar
2022-04-20
SpringSecurity企业及认证全套开发资源.docx
2020-02-25
apache-tomcat-8.5.47.zip
2019-11-07
redis-desktop-manager-0.8.3.3850.zip
2019-11-07
黑马(linux、redis、oracle、maven、全栈基础班视频教程
2018-03-16
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人