自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 Kubernetes Pod入门

Pod 是一个或多个容器的组合。这些容器共享存储、网络和命名空间,以及运行规范。在 Pod中,所有容器都被统一安排和调度,并运行在共享的上下文中。对于具体应用而言,Pod 是它们的逻辑主机,Pod 包含业务相关的多个应用容器。所以,Pod 是一组具有共享命名空间、IP 地址和端口的容器的集合。备注:共享上下文是一种基于线程的内存位置。

2024-08-21 19:03:21 858

原创 Containerd初体验

Containerd 采用的也是 C/S 架构,服务端通过 unix domain socket 暴露低层的 gRPCAPI 接口出去,客户端通过这些 API 管理节点上的容器,每个 containerd 只负责一台机器,Pu11 镜像,对容器的操作(启动、停止等),网络,存储都是由 containerd 完成。Shim 插件负责与容器进程的通信,以及监控容器的状态。总体而言,Containerd 提供了一个轻量级、高度可定制的容器运行时,为容器生态系统的发展提供了一个稳定和可靠的基础。

2024-08-15 17:21:48 904

原创 Docker Swarm 管理

如果管理节点也推出了群,需要在管理节点上使用docker swarm init --advertise-addr 192.168.10.201命令再生成一次群,其他节点再加入一次群即可,相当于重新创建一次群集。Drain:集群中该节点不可以被指派新的任务,Swarm Scheduler 停掉已经存在的任务,并将它们调度到可用的节点上。Pause:集群中该节点不可以被指派新的任务,但是其他已经存在的任务保持运行。要确定好容器是在哪个节点运行的,可以看出,此案例中实在work01中运行的。

2024-08-13 18:46:57 946

原创 Docker Compose与私有仓库部署

1)不支持制表符tab键缩进,需要使用空格缩进。2)通常开头缩进两个空格。3)字符后缩进一个空格,如冒号、逗号、横杆。4)用号注释。5)如果包含特殊字符,要使用单引号('')引起来。6)布尔值(truefalseyesnoonoff)必须用引号("")括起来,这样分析器会将它们解释为字符串。

2024-08-12 16:31:37 753

原创 KVM+GFS分布式存储系统构建KVM高可用

这里直接使用CentOS官方提供的qcow2格式的系统镜像(CentOS-7-x86_64-GenericCloud-2009.qcow2),这个镜像可以直接部署到kvm或openstack的平台中。该工具提供了virt的高级命令,其中有一个virt-customize命令,可以为系统镜像设置密码。测试环境用的 VMware的环境,没有隔离设备,必须要关闭,否则无法实现高可用。当把虚拟机迁移到了另一台主机,会出现约束,要想将虚拟机迁移回来,需要先清除约束。

2024-08-01 11:21:51 1081

原创 KVM高级功能部署

而对于相同类型的虚拟机,在物理内存量不变的情况下,可以在一个宿主机中创建更多虚拟机,从而提高虚拟化部署的密度,同时也可以提高物理资源的利用效率。这里直接使用CentOS官方提供的qcow2格式的系统镜像(CentOS-7-x86_64-GenericCloud-2009.qcow2),这个镜像可以直接部署到kvm或openstack的平台中。注意:填写的IP地址(192.168.10.201)是Linux宿主机的IP地址,开放的端口号5901映射到了test01虚拟机。连接成功后,就可以开始安装虚拟机了。

2024-07-31 20:46:33 700

原创 部署KVM虚拟化平台

virt-manager:虚拟机图形管理工具(宿主机有桌面环境时可以考虑安装,命令操作或者远程控制则不需要)QEMU是“Quick Emulator”的缩写,是一个用C语言编写的开源虚拟化软件。libguestfs-tools:用于访问虚拟机的磁盘映像文件提供的一组命令。)修改虚拟机配置信息(用来修改系统内存大小、磁盘文件等信息)qemu-kvm-tools :qemu-kvm的工具包。bridge-utils:虚拟机与外界通信的命令管理工具。qemu-img :是QEMU的磁盘管理工具。

2024-07-30 17:47:25 685

原创 物联网架构之Hadoop

resourcemanager、nodemanager的通信端口,web端口等信息。实现了对文本中的单词计数的功能,并要求输出结果并按单词首字母排序。名称节点和数据节点的存放位置,文件副本数和读取权限。备注:Mapreduce作业记录的web地址和端口。4:将file1和file2拷贝到hdfs存储目录中。备注:定义hdfs的uri,以及hdfs的临时目录。10:将hadoop目录拷贝到其他节点上。3:启动hadoop并 创建hdfs目录。注意:输出目录不能已存在,否则不会输出。1:创建测试文件的目录。

2024-07-23 12:07:22 1007

原创 高性能内存对象缓存

关闭memcached后,该主机的keepalived也会被脚本关闭,于是VIP就漂移到了另一台主机,待此主机修好后,把memcached和keepalived开启,由于设置了不抢占,VIP不会抢占回来,但是把第二台主机的memcached关闭后,第二台主机的keepalived也会关闭,于是VIP就漂移回了第一台主机。cas命令的最后一个数字是更新因子,如果gets获取到的更新因子和cas命令提供的更新因子一致,则更新改数据,否则不会更新,会提示exists。支持 I/O,定时器和信号等事件;

2024-07-19 08:31:24 635

原创 RabbitMQ消息队列

说明:用户权限指的是用户对exchange(交换器),queue(队列)的操作权限,包括配置权限,读写权限。在集群中的每个节点,要么是内存节点,要么是磁盘节点,如果是内存节点,会将所有的元数据信息仅存储到内存中,而磁盘节点则不仅会将所有元数据存储到内存上, 还会将其持久化到磁盘。所以在搭建集群的时候,为了保证数据的安全性和性能,最好是两种节点都要有。可登陆管理控制台(启用management plugin的情况下),同时可以查看rabbitmq节点的相关信息(进程数,内存使用情况,磁盘使用情况等)

2024-07-16 11:53:00 922

原创 zookeeper+kafka消息队列群集部署

如果启动不了,可以将/etc/kafka/kafka-logs中的数据清除再试试。log.dirs=/etc/kafka/kafka-logs #60行。注意:启动时先启动zookeeper,关闭时先关闭kafka。2888:集群内机器通讯使用(Leader监听此端口)##21行 修改,注意其他两个的id分别是2和3。#31行 修改,其他节点改成各自的IP地址。##123行,填写集群中各节点的地址和端口。##65行 分片数量,不能超过节点数。注释:zookeeper只用的端口。如果要关闭kafka。

2024-07-15 16:12:39 944

原创 NoSQL 之Redis集群模式

redis集群使用投票容错机制,如果集群中超过半数以上的节点投票认为某节点挂了,那么这个节点就会被认为挂掉了,所以,在设置redis集群时,最少的master节点为3个,如果每一个master节点都添加一个slave节点的话,搭建一个redis集群总共需要6个节点,即3个master节点,3个slave节点。当某个节点被检测到不可用时,系统会自动将该节点标记为下线,并将该节点上的哈希槽重新分配给其他节点。每个分片都有一个主节点和多个从节点,主节点负责处理读写操作,而从节点则复制主节点的数据。

2024-07-12 12:19:16 1059

原创 NoSQL之Redis配置与优化

一、redis与memcache总体对比1.性能Redis:只使用单核,平均每一个核上Redis在存储小数据时比Memcached性能更高。Memcached:可以使用多核,而在100k以上的数据中,Memcached性能要高于Redis。2.内存使用效率MemCached:使用简单的key-value存储,Memcached的内存利用率更高。Redis:如果采用hash结构来做key-value存储,由于其组合式的压缩,其内存利用率会高于Memcached。3.内存空间和数据量大小。

2024-07-11 12:08:04 951

原创 Nginx+Tomcat负载均衡、动静分离群集

用来获取客户端的ip地址。

2024-07-09 12:22:25 936

原创 Haproxy搭建Web群集

haproxy在默认情况不会记录日志,除了在haproxy.conf中的global段指定日志的输出外,还需要配置系统日志的配置文件。#local3是设备,对应于 /etc/rsyslog.conf中的配置,默认回收info的日志级别。客户端与服务器端建立连接后,等待服务器端的超时时长,是haproxy 连接后端web服务器的时间.1:编译安装nginx服务器(两个nginx网站的步骤完全一样,只有测试页面不同)客户端非活动状态的超时时长,是 app 连接 haproxy的时间。#-m 0 标记时间戳。

2024-07-08 14:35:31 904

原创 LVS+Keepalived群集

(2)测试计算机不要使用master调度器,在master调度器上访问VIP时,调度器不会将访问的请求调度到web服务器,而是自己尝试解析;所以客户端一定要使用独立的测试计算机,或者使用处于BACKUP状态的调度器。(1)生产环境中可以使用NFS服务器保证网站代码的一致性,在测试环境中为了观察效果,web服务器池中的网站代码可以不一样,更加便于观察实验效果。4:开启从服务器的keepalived服务。2:主服务器keepalived的配置。2:从调度器keepalived的配置。(1)web1网络的配置。

2024-07-05 14:08:29 609

原创 直接路由模式(LVS-DR)

(1)配置虚拟IP地址VIPONBOOT=yes(2)调整内核参数,禁止转发重定向报文由于LVS负载调度器和各节点需要共用VIP地址,应该关闭Linux内核的重定向在末尾添加:ens33(3)配置负载分配策略[root@localhost ~]#ipvsadm -v \\查看版本。

2024-07-04 15:31:03 855

原创 LVS负载均衡群集

SYN_SENT状态表示请求连接,当你要访问其它的计算机的服务时首先要发个同步信号给该端口,此时状态为SYN_SENT,如果连接成功了就变为ESTABLISHED。对方主动关闭连接或者网络异常导致连接中断,这时我方的状态会变成CLOSE_WAIT 此时我方要调用close()来使得连接正确关闭。-S 保存ipvsadm设定的规则策略,默认保存在/etc/sysconfig/ipvsadm中;另一台web节点的测试页面可以修改为其他文字,这样在测试时,就可以看到调度效果。表示两台机器正在通信。

2024-07-03 14:45:58 809

原创 MySQL主从复制与读写分离

Slave 的 IO 线程接收到信息后,将接收到的日志内容依次写入到 Slave 端的Relay Log文件(relay-log-bin.xxxxxx)的最末端,并将读取到的Master端的master-bin的文件名和位置记录到master- info文件中,以便在下一次读取的时候能够清楚的告诉Master“我需要从某个master-bin的哪个位置开始往后的日志内容,请发给我。##能查到在client上写入的数据,说明写操作在master上。而在后台运行作业时,它不会占据终端。3:混合类型的复制。

2024-07-01 14:13:05 1044

原创 MySQL存储引擎

MySQL 支持多种类型的数据库引擎,可分别根据各个引擎的功能和特性为不同的数据库处理任务提供各自不同的适应性和灵活性。MySQL 提供了多个不同的存储引擎,包括处理事务安全表的引擎和处理非事务安全表的引擎。在 MySQL 中,不需要在整个服务器中使用同一种存储引擎,针对具体的要求,可以对每一个表使用不同的存储引擎。不同的存储引擎都有各自的特点,以适应不同的需求,如表所示。通过配置文件修改的方法,对以前的老表不会有影响,只会影响以后新创建的表,并且在创建表时没有指定存储引擎的情况。delimiter;

2024-06-28 17:45:00 668

原创 MySQL备份与还原

root@localhost mysql]# mysqlbinlog --no-defaults --stop-position='521' mysql-bin.000002 | mysql -u root -p ##恢复到521之前的一个数据,不包含521。[root@localhost ~]# mysqldump -u root -p --opt --all-databases >/opt/all-data.sql ##备份所有库。' ##查看表,已经存在,但数据不全。

2024-06-27 15:17:07 916

原创 MySQL索引、事务

如果指定使用列前的 length 个字符来创建索引,就是使用列的一部分来创建索引,这样有利于减小索引文件的大小,节省索引列所占的空间。索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址。在1M大小的文件中搜索一个词,可能需要几秒,在100M的文件中可能需要几十秒,如果在更大的文件中搜索那么就需要更大的系统开销,这样的开销是不现实的。索引是一个排序的列表,在这个列表中存储着索引的值和包含这个值的数据所在行的物理地址(类似于C语言的链表通过指针指向数据记录的内存地址)

2024-06-26 11:47:14 1060

原创 用户管理与高级SQL语句

的连接查询,通常都是将来自两个或多个表的行结合起来,基于这些表之间的共同字段,进行数据的拼接。:由于位取反运算符‘~’的级别高于位与运算符‘&’,因此先对 1 进行取反操作,结果为 63 个‘1’加一个‘0’,然后再与整数 5 进行与运算,结果为 0100,即整数 4。语句也可以使用多个字段来进行排序,当排序的第一个字段相同的记录有多条的情况下,这些多条的记录再按照第二个字段进行排序。子句是一种简单的分页方法,它的使用减少了数据结果的返回时间,提高了执行效率,也解决了由于数据量过大从而导致的性能问题。

2024-06-25 20:27:05 816

原创 MySQL数据库管理

否则在添加记录时,如果使用了password()加密函数保存密码字段,会提示字符长度错误。5.7以前的版本的password()加密函数可以生成16位密文,5.7后的password()函数可以生成41位的密文,其算法为。zhangsan用户可以查看auth数据库的表,但不能查看mysql数据库的表。truncate和drop后面只能加上表名,直接删除表,无法where。truncate删除表中的内容,不删除表结构,释放空间;delete删除表中的内容,不删除表结构,但不释放空间。

2024-06-24 11:56:54 638

原创 MySQL数据库初体验视

当一个进程调用fork()函数后,系统先给新的进程分配资源,然后把原来的进程的所有值都复制到新的新进程中。这样就把新的进程创建了出来, 在fork函数执行完毕后,如果创建新进程成功,则出现两个进程,一个是子进程,一个是父进程。mysql接收到连接请求后,获得的是客户端的ip,为了更好的匹配mysql.user里的权限记录(某些是用hostname定义的)。OpenSSL是一个开放源代码的软件库包,应用程序可以使用这个包来进行安全通信,避免窃听,同时确认另一端连接者的身份。新进程为子进程,而原进程为父进程。

2024-06-23 19:58:31 687

原创 Tomcat 部署及优化

2)#Samples:表示你这次测试中一共发出了多少个请求,如果模拟10个用户,每个用户迭代10次,那么这里显示100,这里显示的应该是150000而不是172649,之所以是172649,是因为我中间点击停止,然后又再原来的基础上重新开始执行。Servlet是Java Servlet 的简称,可以理解为是一个服务连接器,是用Java编写的服务器端程序,具有独立于平台和协议的特性,简单的理解: servlet 就是一个中间件,包含了接口和方法,将客户端和数据库连接,从而实现动态网页的创建。

2024-06-20 18:38:30 962

原创 Nginx Rewrite

先用客户端192.168.10.51访问,能正常访问www.benet.com,再用其他IP客户端访问,打开的是maintenance.html页面。浏览器访问 http://www.benet.com/upload/1.php会跳转到http://www.benet.com。开头的地址,匹配符合以后,还要继续向下搜索,只有后面的正则表达式没有匹配到时,这一条才会起作用。匹配除"n"之外的任何单个字符,若要匹配包括"n"在内的任意字符,请使用诸如"[.如"ol*"能匹配"o"及"ol"、"oll。

2024-06-19 16:43:43 1265

原创 nginx优化与防盗链

valid_referers:nginx会通就过查看referer自动和valid_referers后面的内容进行匹配,如果匹配到了就将$invalid_referer变量置0,如果没有匹配到,则将$invalid_referer变量置为1,匹配的过程中不区分大小写。如果location ~* \.(gif|jpg|jpeg)$中写了png格式,就会被循环重定向,无法看到报错图片。如果看不到压缩,将nginx配置文件中页面缓存的参数去掉,清空一下浏览器,再测试。,则执行后面的操作,即进行重写或返回。

2024-06-18 17:08:36 1183

原创 Nginx网站服务

与 php-fpm 通信过程是通过 nginx 的 fastcgi 模块来处理的,即 fastcgi 模块将来自客户端的关于 php 文件的请求转发给 php-fpm 来处理。--with-mysqli=mysqlnd需要用ip地址的方式连接数据库,既可以是php和mysql装在同一个服务器,也可以装在不同的服务器。PHP的GD库是用来处理图形的扩展库,通过GD库提供的一系列API,可以对图像进行处理或者直接生成新的图片。CMake是一个跨平台的安装工具,可以用简单的语句来描述所有平台的安装(编译过程)。

2024-06-17 18:42:13 1046

原创 Apache 网站服务基础

Before/After:要是一个服务 Before 另一个服务,那么在并行启动时(Systemd 总是用进程 0 并行启动所有东西,然后通过这两个标记来二次等待排序),那另一个服务这时就会等这个服务先启动并返回状态,注意是先启动而不是启动成功,因为失败也是一种状态,一定要成功才启动另一个服务是通过依赖关系定义的。检查是否用rpm方式安装有httpd,如果有,卸载使用 RPM 方式安装的 httpd,并且编译安装之前需要先安装依赖软件。上述三个扩展工具库,可以设置好阿里的yum仓库,用yum安装。

2024-06-12 15:44:34 369

原创 iptables防火墙

root@localhost ~]# iptables -t filter -I INPUT -p tcp -j ACCEPT \\允许tcp的数据包通过。[root@localhost ~]# iptables -I INPUT 2 -p icmp -j ACCEPT \\允许icmp数据包通过,放到第二条。[root@localhost ~]# iptables -I INPUT -p udp -j ACCEPT \\允许udp数据包通过,放到第一条。

2024-06-07 12:02:33 515

原创 Shell编程之免交互

这个时候就可以手工操作了,interact后的命令不起作用,比如interact后添加exit,并不会退出root用户。Bash的默认注释是“#”,该注释方法只支持单行注释,在shekk脚本的工作中,“#”右侧的任何字符串,bash都会将其忽略。##捕获内容,当出现password的时候,就会向程序发送密码,默认是不换行的,所以需要##\r回车换行,多个条件需要花括号括起来,注意格式问题!运维和开发中,经常需要远程登录服务器进行操作,登录的过程是一个交互的过程,可能会需要输入。

2024-05-31 14:25:05 817

原创 正则表达式

awk -F: '$1~/mail/ || $3>1000 {print }' /etc/passwd //逻辑或,统计以mail开头或第3列大于1000的行。awk -F: '{print NR,NF,$NF,"\t",$0}' /etc/passwd //依次打印行号,字段数,最后字段值,制表符,每行内容。awk -F: '$1~/mail/ && $3>6 {print }' /etc/passwd //逻辑与,$1匹配mail,并且$3>6。

2024-05-29 12:05:40 1151

原创 shell编程之循环语句与函数

11

2024-05-28 12:19:22 577

原创 Shell编程之条件语句

root@localhost ~]# [ -d /media/cdrom/server ] && echo "yes" \\无输出表示不存在。[root@localhost ~]# [ $Mnum -eq 2 ] && [ $Snum -gt 4 ] && echo "符合要求"[root@localhost ~]# [ $ACK = "yes" ] && echo "覆盖"[root@localhost ~]# [ $ACK = "no" ] && echo "不覆盖"

2024-05-27 12:04:23 975

原创 Shell编程规范与变量

root@localhost ~]# uname -r >> kernel.txt \\追加并保存,不覆盖原有的数据。-rw-r--r--. 1 root root 101K 12月 1 22:36 beifen-1448980601.tgz。-rw-r--r--. 1 root root 1.1K 12月 1 22:37 beifen-1448980640.tgz。[root@localhost ~]# sed -i '1a\aaa' 123.txt #在第一行的下一行添加文字。

2024-05-25 11:54:52 847

原创 ftp服务配置

的ftp服务中,ftp的根目录不能有写的权限,对于匿名用户来说,需要在ftp根目录下创建一个文件夹,给这个文件夹写的权限即。)的ftp服务中,ftp的根目录不能有写的权限,对于系统用户来说,可以让系统用户对ftp根目录有写权限。==> CWD (1) /pub ... 完成。==> PWD ... 完成。

2024-05-24 16:24:53 889

原创 DNS域名解析服务02

转发器,本机无法解析的条目转发至10.101为其解析。ns1的ens33网卡的桥接不变(NAT模式)------->内网客户机192.168.10.106(NAT模式)ns1的ens36网卡桥接到仅主机模式------>外网客户机172.16.16.106,桥接为仅主机模式。[root@localhost ~]# systemctl restart network:安装bind。备注:有几个域名,就添加多少个zone,每个zone对应一个区域文件。父域服务器:192.168.10.101。

2024-05-22 12:17:05 1267 1

原创 PXE高效批量网络装机

比如,使用的是scsi硬盘,而内核vmlinuz中并没有这个scsi硬件的驱动,那么在装入scsi模块之前,内核不能加载根文档系统,但scsi模块存储在根文档系统的/lib/modules下。initrd-2.4.7-10.img是用gzip压缩的文档,initrd实现加载一些模块和安装文档系统等功能。[root@localhost ~]# cp /usr/share/syslinux/pxelinux.0 /var/lib/tftpboot/ \\拷贝引导程序pxelinux.0。

2024-05-21 17:24:19 1267 3

原创 部署YUM仓库及NFS共享服务

1:yum概述yum是一个基于RPM包(是Red-Hat Package Manager红帽软件包管理器的缩写)构建的软件更新机制,能够自动解决软件包之间的依赖关系。yum由仓库和客户端组成,也就是整个yum由两部分组成,所以yum可以存放在两台服务器上。也可以存放在一台服务器上。可以有官方来提供服务,也可以由第三方来提供,比如国内的阿里云,搜狐云,还有一些非盈利组织比如学校等。一个文件可以搭建多个yum仓库;内核位置为:/boot X86代表架构;

2024-05-20 15:46:50 816 1

空空如也

空空如也

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

TA关注的人

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