
运维相关
文章平均质量分 88
有梦想的攻城狮
既然选择了远方,留给别人的就只能是背影
展开
-
使用Systemd管理ES服务进程
CentOS 中的 Systemd 详细介绍Systemd 是 Linux 系统的初始化系统和服务管理器,自CentOS 7起取代了传统的 SysVinit,成为默认的初始化工具。它负责系统启动、服务管理、日志记录等核心功能,显著提升了系统的启动速度和资源管理效率。1. Systemd 的核心作用•服务管理:启动、停止、重启服务,管理服务依赖关系。•系统初始化:并行化启动进程,加速系统启动。•资源监控:跟踪进程状态、资源占用(CPU、内存等)。•日志管理:通过journald。原创 2025-03-21 23:59:03 · 1121 阅读 · 0 评论 -
linux创建文件并分配权限
在Linux中,文件是一个具有符号名字的一组相关联元素的有序序列。文件可以包含的内容十分广泛,操作系统和用户都可以将具有一定独立功能的一个程序模块、一组数据或一组文字命名为一个文件。文件名是数据有序序列集合(文件)的名称。常规文件:简称r,如文本文件、二进制文件等。目录文件:简称d,即文件夹。字符设备文件:简称c,Linux中一切皆文件,字符设备一般指输入输出文件,如键盘、显示器和鼠标等。块设备文件:简称b,Linux中一切皆文件,块设备一般指存储器,如硬盘、内存和闪存等。原创 2024-01-12 23:12:51 · 2234 阅读 · 12 评论 -
ubuntu查看内存使用情况命令
在Ubuntu系统中,可以使用终端命令来查看电脑的内存使用情况。打开终端并输入以下命令:free -h该命令可用于查看系统中内存的总量、已使用的内存、空闲的内存及缓冲区使用的内存。其中“-h”选项用于以人类可读的格式显示内存大小。执行该命令后,系统将展示所有关于内存使用情况的详细信息。free命令是Linux系统中常用的命令之一,用于显示系统内存的使用情况,包括物理内存、交换内存(swap)和内核缓冲区等。free命令的输出可以让你了解系统的内存使用情况,从而进行相应的优化或排错。原创 2024-01-10 00:01:10 · 1763 阅读 · 12 评论 -
Canal使用详解
Canal是阿里巴巴开发的MySQL binlog增量订阅&消费组件,Canal是基于MySQL二进制日志的高性能数据同步系统。在阿里巴巴集团中被广泛使用,以提供可靠的低延迟增量数据管道。Canal Server能够解析MySQL Binlog并订阅数据更改,而Canal Client可以将更改广播到任何地方,例如数据库和。Canal支持所有平台,细粒度系统监视,通过不同方式解析和预订MySQL Binlog,以及高性能、实时数据同步。原创 2023-12-22 23:18:15 · 3425 阅读 · 23 评论 -
OpenSergo使用详解
OpenSergo是一个基于微服务治理的标准和生态,覆盖了服务元信息、流量治理、服务容错、数据库/缓存治理、服务注册发现、配置治理等十几个关键领域,覆盖了完整的微服务生命周期(从开发态到测试态,到发布态,再到运行态)。OpenSergo标准基于微服务治理中相关领域的实践与场景抽象,旨在定义服务之间的服务注册和发现能力,使得异构微服务体系可以互联互通。同时,它还定义了服务元信息格式和服务治理具体能力,描述这些能力所要达到的效果。OpenSergo的架构包括控制面和通信协议以及数据面。原创 2023-12-21 23:21:24 · 2623 阅读 · 30 评论 -
Sentinel使用详解
Sentinel是阿里开源的一套用于服务容错的综合性解决方案。它以流量为切入点,从流量控制、熔断降级、系统负载保护等多个维度来保护服务的稳定性。Sentinel承接了阿里巴巴近10年的双十一大促流量的核心场景,例如秒杀、消息削峰填谷、集群流量控制、实时熔断下游不可用应用等。核心库(Java客户端):能够运行于所有Java运行时环境,同时对Dubbo/SpringCloud等框架也有较好的支持。控制台(Dashboard):基于SpringBoot开发,打包后可以直接运行。原创 2023-12-14 02:11:36 · 3029 阅读 · 65 评论 -
docker使用详解
Docker是一个开源的应用容器引擎,让开发者可以打包他们的应用以及依赖包到一个可移植的镜像中,然后发布到任何流行的Linux或Windows操作系统的机器上,也可以实现虚拟化。Docker基于轻量级虚拟化技术,整个项目基于Go语言开发,并采用了Apache 2.0协议。Docker可以将应用程序打包封装到一个容器中,该容器包含了应用程序的代码、运行环境、依赖库、配置文件等必需的资源。通过容器就可以实现方便快速并且与平台解耦的自动化部署方式,无论部署时的环境如何,容器中的应用程序都会运行在同一种环境下。原创 2023-12-13 23:23:07 · 1376 阅读 · 21 评论 -
Logstash输入Kafka输出Es配置
Logstash是一个开源的数据收集引擎,具有实时管道功能。它可以从各种数据源中动态地统一和标准化数据,并将其发送到你选择的目的地。Logstash的早期目标主要是用于收集日志,但现在的功能已经远远超出这个范围。任何事件类型都可以通过Logstash进行分析,通过输入、过滤器和输出插件进行转换。Logstash的工作原理是使用管道方式进行日志的搜集处理和输出。这个管道包括三个阶段:输入、处理和输出。输入插件从数据源那里消费数据,过滤器插件根据你的期望修改数据,输出插件将数据写入目的地。原创 2023-12-12 23:09:20 · 3590 阅读 · 1 评论 -
ActiveMQ使用指南
ActiveMQ是Apache开源组织旗下的一个项目,是一个流行的开源消息中间件。它完全支持JMS1.1和J2EE1.4规范的JMS Provider实现,并且是纯Java开发的产品。ActiveMQ支持多种语言编写客户端,包括C,C++,C#,Perl,PHP,Ruby,Ajax等,同时也支持多种传输协议:TCP,SSL,NIO,UDP。在数据传输模式上,ActiveMQ支持点对点、发布/订阅和广播消息传递模式。ActiveMQ的优点包括:支持多种语言编写客户端,方便与其他系统集成。原创 2023-12-09 23:57:31 · 1027 阅读 · 22 评论 -
消息队列使用指南
消息队列是一种常用的应用程序间通信方法,可以用来在不同应用程序或组件之间传递数据或消息。消息队列就像一个缓冲区,接收来自发送方的消息,并存储在队列中,等待接收方从队列中取出并处理。在分布式系统中,消息队列可以提高系统可靠性、可扩展性和容错性。它可以帮助应用程序解耦,提高系统的灵活性。不同的应用程序可以通过消息队列进行异步通信,无需直接调用对方,从而降低了系统的耦合性。消息队列可以处理高并发场景,支持多生产者和多消费者并发访问同一个队列。它提供了一种可靠的数据传输方式,确保消息不会丢失或重复传递。原创 2023-12-09 23:49:09 · 1282 阅读 · 0 评论 -
RocketMQ使用指南
RocketMQ是一款由阿里巴巴公司开发的开源分布式消息中间件,于2012年开始开发。它具有高可用性、高性能、可靠性强、功能丰富等特点,广泛应用于电商、金融、物流、互联网和大数据等领域。RocketMQ支持生产者和消费者的负载均衡、数据分片、数据重试、数据过期等特性,同时还支持消息的事务、顺序消费、定时消费、广播消费等高级特性。RocketMQ的消息存储采用了基于CommitLog的方式,保证消息的可靠存储和高效读取。原创 2023-12-08 23:58:43 · 1398 阅读 · 12 评论 -
pip命令详解
pip是由Ian Bicking在2008年提出的,他将pyinstall重命名为pip。名称pip是首字母缩写词,全称为“Package Installer for Python”。自Python3的3.4版本以及Python2的2.7.9版本开始,pip被直接包括在Python的安装包内,成为了每一个Python用户必备的工具。pip3是Python 3的包管理工具,它用于安装、升级和卸载Python 3的包。原创 2023-12-05 00:55:08 · 2222 阅读 · 6 评论 -
Filebeat使用指南
Filebeat是使用Golang实现的轻量型日志采集器,也是Elasticsearch stack的一员。它可以作为一个agent安装在各个节点上,根据配置读取对应位置的日志,并上报到相应的地方去。Filebeat的可靠性很强,可以保证日志至少一次的上报,同时也考虑了日志搜集中的各类问题,例如日志断点续读、文件名更改、日志截断等。Filebeat并不依赖于Elasticsearch,可以单独存在。原创 2023-12-02 16:42:34 · 2884 阅读 · 42 评论 -
Kibana使用指南
Kibana是一个开源的分析与可视化平台,设计出来用于和Elasticsearch一起使用的。可以用Kibana搜索、查看、交互存放在Elasticsearch索引里的数据,使用各种不同的图表、表格、地图等,Kibana能够很轻易地展示高级数据分析与可视化。Kibana的简单、基于浏览器的接口可以快速创建和分享实时展现Elasticsearch查询变化的动态仪表盘。此外,安装Kibana非常快,可以在几分钟之内安装和开始探索相关数据,不需要写任何代码,没有其他基础软件依赖。原创 2023-12-01 23:57:59 · 2675 阅读 · 10 评论 -
Logstash使用指南
Logstash是一个开源数据收集引擎,具有实时管道功能。它可以动态地将来自不同数据源的数据统一起来,并将数据标准化到你所选择的目的地。尽管Logstash的早期目标是搜集日志,现在它的功能已完全不只于此。任何事件类型都可以加入分析,通过输入、过滤器和输出插件进行转换。与此同时,还提供了很多原生编解码工具简化消息处理。Logstash通过海量数据处理和多种多样的数据格式支持延伸了我们对数据的洞察力。集中、转换和存储数据是Logstash的典型用法。输入:采集各种样式、大小和来源的数据。原创 2023-11-30 23:54:57 · 2997 阅读 · 56 评论 -
MQTT协议详解
MQTT是一个即时通讯协议,它工作在TCP/IP协议族上,是为硬件性能低下的远程设备以及网络状况糟糕的情况下而设计的发布/订阅型消息协议。它使用发布/订阅消息模式,提供一对多的消息发布,解除应用程序耦合。MQTT是轻量、简单、开放和易于实现的,这些特点使它适用范围非常广泛,在很多情况下,包括受限的环境中,如:机器与机器(M2M)通信和物联网(IoT)。在通过卫星链路通信传感器、偶尔拨号的医疗设备、智能家居、及一些小型化设备中已广泛使用。原创 2023-11-21 00:12:48 · 730 阅读 · 1 评论 -
WebSocket协议详解
WebSocket协议是一种在单个TCP连接上进行全双工通信的应用层协议,位于OSI模型的应用层。它允许服务器主动向客户端推送信息,也可以允许客户端主动向服务器发送信息。WebSocket协议的出现主要是为了解决基于HTTP/1.x的Web应用无法实现服务端向客户端主动推送的问题。虽然WebSocket协议在建立连接时会使用HTTP协议,但这并不意味着WebSocket协议是基于HTTP协议实现的。原创 2023-11-19 16:51:30 · 2650 阅读 · 8 评论 -
Thrift协议详解
Thrift协议是一种接口描述语言和二进制通讯协议,它被用来定义和创建跨语言的服务。它被当作一个远程过程调用(RPC)框架来使用,是由Facebook为“大规模跨语言服务开发”而开发的。Thrift通过一个代码生成引擎联合了一个软件栈,来创建不同程度的、无缝的跨平台高效服务,可以使用C#、C++(基于POSIX兼容系统)、Cappuccino、Cocoa、Delphi、Erlang、Go、Haskell、Java、Node.js、OCaml、Perl、PHP、Python、Ruby和Smalltalk。原创 2023-11-19 00:03:37 · 3010 阅读 · 3 评论 -
DHCP协议详解
DHCP(Dynamic Host Configuration Protocol,动态主机配置协议)是一个局域网的网络协议,使用UDP协议工作,主要有两个用途:给内部网络或网络服务供应商自动分配IP地址,给用户或者内部网络管理员作为对所有计算机作中央管理的手段。DHCP的分配方式包括自动分配、手工分配和动态分配。DHCP服务器是运行有DHCP服务器端软件的特殊电脑,而普通电脑中都内置有DHCP客户端模块。原创 2023-11-19 00:02:34 · 1100 阅读 · 0 评论 -
HTTP1.0协议详解
HTTP是由蒂姆·伯纳斯·李(Tim Berners-Lee)爵士创造的。他在1989年提出了一个构想,借助多文档之间相互关联形成的超文本(HyperText),连成可参阅的 WWW(World Wide Web,万维网),以帮助远隔两地的研究者们共享知识。在这个构想中,他提出了3项WWW构建的关键技术:HTML, URI, HTTP。因此,蒂姆·伯纳斯·李(Tim Berners-Lee)被公认为是万维网的发明者,互联网之父。HTTP1.0是一种无状态、无连接的应用层协议。原创 2023-11-18 01:51:05 · 2303 阅读 · 13 评论 -
Hessian协议详解
Hessian协议是一种基于二进制的轻量级远程调用协议,用于在分布式系统中进行跨语言的通信。它使用简单的二进制格式来序列化和反序列化数据,并支持多种编程语言,如Java、C#、Python等。Hessian协议相对于其他协议的优势在于其简单性和高效性。它使用二进制进行序列化和反序列化,相对于使用XML或JSON的协议来说,Hessian的消息体更小、传输速度更快。在Java中,可以通过Hessian协议轻松地实现跨网络的方法调用。原创 2023-11-18 00:03:09 · 2058 阅读 · 0 评论 -
RMI协议详解
RMI(Remote Method Invocation,远程方法调用)是Java中的一种远程通信协议,用于实现跨网络的对象方法调用。RMI协议基于Java的分布式计算,可以让客户端程序调用远程服务器上的方法,使得分布在不同机器上的对象能够通过网络进行通信。RMI协议的实现基于Java的远程对象技术,其中远程对象需要继承java.rmi.UnicastRemoteObject类,并定义远程方法。原创 2023-11-18 00:01:35 · 2666 阅读 · 0 评论 -
Dubbo协议详解
Dubbo协议是一种高性能、轻量级的开源RPC框架,主要设计目的是解决分布式系统中服务调用的一些常见问题,例如服务负载均衡、服务注册中心、服务的远程调用等。它支持多种语言,例如Java、Python、Ruby等,使得各种编程语言之间的服务调用变得更加灵活。原创 2023-11-17 02:13:18 · 1627 阅读 · 6 评论 -
QUIC协议详解
QUIC(Quick UDP Internet Connections)是一种基于 UDP 的传输层协议,由 Google 提出。从协议栈可以看出,QUIC = HTTP/2 + TLS + UDP。它使用 UDP 而不是 TCP 作为传输协议,并且在设计上考虑了提供多路复用和流控制功能。QUIC 旨在提供更快的连接建立速度、更低的延迟和更高的吞吐量,适用于需要低延迟、高吞吐特性的传输场景。原创 2023-11-17 01:12:17 · 2250 阅读 · 2 评论 -
ProtocolBuffers(protobuf)详解
Protocol Buffers(通常简称为protobuf)是Google公司开发的一种数据描述语言,它能够将结构化数据序列化,可用于数据存储、通信协议等方面。这种序列化格式很灵活、高效、自动化,不依赖于语言和平台并且可扩展性极强。使用protobuf时,您只需将数据结构定义一次(使用.proto文件定义),便可以使用特别生成的源代码轻松地使用不同的数据流完成对这些结构数据的读写操作,即使使用不同的语言(protobuf的跨语言支持特性)。原创 2023-11-17 00:46:32 · 4177 阅读 · 0 评论 -
gRPC协议详解
gRPC是一个高性能、开源和通用的RPC(远程过程调用)框架,由Google发起并开发,于2015年对外发布。它基于HTTP/2协议和Protocol Buffers设计,支持多种编程语言(如C++、Java、Python、Go、Ruby、C#、Node.js等)。gRPC的核心思想是基于接口定义语言(IDL)来定义服务,在编译期间自动生成具体的服务端和客户端代码。这种设计使得服务端和客户端可以完全专注于业务,而无需关心通信协议的细节。原创 2023-11-16 01:12:49 · 4695 阅读 · 7 评论 -
HTTP1.1协议详解
HTTP 1.1是一种基于文本的互联网实体信息交互协议,是Web上任何数据交换和客户端-服务器交互的基础。它允许获取各种类型的资源,如HTML文档,并支持在互联网上交换和传输数据。HTTP 1.1定义了客户端如何向服务器发送请求以及服务器如何向客户端返回响应。HTTP 1.1使用请求-响应模型,其中客户端发送一个请求,服务器响应请求并返回数据。请求和响应都采用相同的标准互联网消息格式,包括消息头和消息体。HTTP 1.1支持持久连接,允许在同一个TCP连接中发送多个请求和接收多个响应。原创 2023-11-16 00:02:05 · 5918 阅读 · 0 评论 -
HTTP/2.0协议详解
HTTP/2.0:互联网通信的革新标准随着互联网技术的飞速发展,HTTP协议作为互联网应用最广泛的通信协议,也在不断演进和优化。HTTP/2.0是HTTP协议的最新版本,它旨在提供更高效、更安全、更快速的互联网连接。原创 2023-11-15 00:42:15 · 6303 阅读 · 24 评论 -
yum介绍与常用命令
在日常的开发与运维的过程中,yum命令是我们经常使用的一个软件安装与更新的命令,下面我们将常用的一些yum命令进行整理,希望对大家的日常使用提供帮助原创 2022-10-24 22:36:25 · 2418 阅读 · 1 评论 -
Homebrew的基本使用与常见异常
Homebrew是一款Mac OS平台下的软件包管理工具,拥有安装、卸载、更新、查看、搜索等很多实用的功能。简单的一条指令,就可以实现包管理,而不用关心各种依赖和文件路径的情况,十分方便快捷。Homebrew本身就是一个git仓库,使用homebrew安装软件包时,会自动先下载软件包,然后解压安装。原创 2022-04-17 17:28:13 · 8367 阅读 · 3 评论 -
RabbitMq中交换器(Exchange)类型详解
RabbitMQ是工作中经常使用的一个开源消息队列,它是通过Erlang语言来开发的,RabbitMQ中有一个非常常见且重要的概念叫交换器(Exchange),所有生产者提交的消息都是通过Exchange进行接收,然后通过特定的路由策略转发对特定的队列(Queue)中,然后消费者通过绑定特定的队列,将队列中的信息进行消费处理。我们如果是通过RabbitMQ的客户端来进行创建Exchange的话,一定需要你选择一个特定的Exchange类型的,这个时候如果不了解每一种类型的特性,就很容易选择错误,造成整原创 2021-04-04 16:56:47 · 8840 阅读 · 4 评论 -
mac部署rabbitmq流程与异常总结
环境准备操作系统:macOS Big Sur 11.2.1 版本编译环境:Erlang/OTP rabbitmq是通过erlang语言来开发的,所有需要通过erlang相关的编译环境,我这块是通过homebrew来进行Erlang的安装的,安装命令如下:brew install erlangrabbitmq安装包:rabbitmq-server-generic-unix-3.8.12.tar.xz 下载地址为官网如下:https://github.com/rabbitmq/rabbitmq-se原创 2021-02-23 23:53:55 · 2275 阅读 · 2 评论 -
mysql非常用命令
mysql数据库的一些非日常常用sql语句的命令查询表中列的注释信息//查询表中字段信息和注释信息select * from information_schema.columns where table_schema = "db_name"(库名) and table_name = "table_name" (表名);//只查询字段名和字段注释信息select column_name, column_comment from information_schema.columns where原创 2020-12-21 21:32:48 · 1073 阅读 · 0 评论 -
单机部署redis主从与哨兵模式(一主两从三哨兵)
前言Redis是我们目前在开发中最常用的一种存储系统,在日常的开发中,对于一些缓存数据,及时性要求比较高的数据经常会采用Redis来进行保存,高效快速的存取性能得到了广大开发者的一直认可。开发中为了防止Redis出现问题造成数据的丢失和服务的异常,我们通常会采用集群的模式来进行Redis的部署,保证在部分节点异常时不会影响整个服务,并且可以快速切换异常节点;开发中常用的Redis集群有三种模式:主从集群模式、哨兵集群模式、基于Hash环的集群模式,三种模式各有特点,这里就不详细的讲他们的各自的特点了,今天原创 2020-11-08 15:39:14 · 1883 阅读 · 5 评论 -
查看nginx配置文件路径和资源文件路径
查看nginx配置文件路径通过 nginx -tnginx -t命令的原始作用是用来验证nginx配置文件格式和配置是否存在异常,通过该命令会输出nginx的配置文件的路径和验证结果,在输出结果中就可以找到当前的nginx的加载的配置文件的地址,如下所示:nginx -tnginx: the configuration file /etc/nginx/nginx.conf syntax is oknginx: configuration file /etc/nginx/nginx.conf t原创 2020-11-01 18:38:21 · 11413 阅读 · 14 评论 -
linux查看磁盘使用情况df命令和du命令详解
前言日常开发中的程序大部分都会部署在linux虚拟机上,虚拟机的磁盘使用情况是我们非常关注的一个事情,因为如果磁盘空间不足的话,轻则数据写入失败,重则程序运行异常,下面我们就来了解一下我们常用的查看linux虚拟机的磁盘使用情况的两个命令:du和df。首先我们来介绍一下这两个命令的不同点,df命令是基于系统的文件系统来计算磁盘的占用情况的,通过df命令可以查看系统中的每一个文件系统的容量、已用、挂载点等信息;而du命令是基于系统中的文件来及结算磁盘的占用情况,通过计算每一个文件的占用情况来汇总出每一个目录原创 2020-07-28 00:23:49 · 8021 阅读 · 1 评论 -
linux查看IP端口占用情况
查看端口占用情况netstat -tunlp | grep #{port}例如查看本机的kibana端口占用情况:netstat -tunlp | grep 5601输出:tcp 0 0 0.0.0.0:5601 0.0.0.0:* LISTEN 7750/node 简单说明一下上面的 -tunlp这几个参数的意义-t (tcp) 仅显示tcp相关选项-u (udp)仅显示udp相关选项-n 拒绝显原创 2020-06-26 16:42:26 · 5575 阅读 · 0 评论 -
centos7通过yum安装docker
非常棒的一篇文章,转载自: 风止雨歇 ;原文地址:https://www.cnblogs.com/yufeng218/p/8370670.html感谢作者的分享Docker从1.13版本之后采用时间线的方式作为版本号,分为社区版CE和企业版EE。社区版是免费提供给个人开发者和小型团体使用的,企业版会提供额外的收费服务,比如经过官方测试认证过的基础设施、容器、插件等。社区版按照s...转载 2019-05-16 20:55:37 · 858 阅读 · 0 评论 -
Supervisord配置信息详解
通过supervisor可以很好的对我们的Linux上面的应用进行管理,这里是一些我们在对supervisor.conf文件进行配置的字段含义,这里没有将全部配置项都列举进来,只是将一些常用的选项的含义进行的解释 //设置HTTP服务器监听的UNIX domain socket[unix_http_server]//指向UNIX domain socket的位置,supervisorctl...原创 2019-03-15 23:09:16 · 3668 阅读 · 0 评论 -
linux通过进程号查看运行文件目录
通过ps命令查询正在运行程序的进程号ps -ef|grep java查询结果:root 10995 10989 0 1月12 ? 00:09:27 hexo root 15202 15180 0 13:4...原创 2019-03-10 13:56:33 · 21362 阅读 · 1 评论