记录关于Devops运维,虚拟化容器云计算,数据库,网络安全等各方面问题。
目录一、简介Kafka 简介Zookeeper 简介Kafka Manager 简介二、部署过程三、Kubernetes 部署 Zookeeper & Kafka & Kafka Manager1、创建 StorageClass2、Kubernetes 部署 Zookeeper3、Kubernetes 部署 Kafka4、Kubernetes 部署 Kafka Manager四、进入 Kafka Manager 管理 Kafka 集群五、附录:镜像参数配置Zookeeper 镜像可配置变量参数Kafka 镜像可配置变量参数 正文系统环境:Kubernetes 版本:1.14.0kafka 版本:2.3.0zookeeper 版本:3.4.14kafka manager 版本:1.3.3示例部署文件 Github 地址:https://github.com/my-dlq/blog-example/tree/master/kubernetes/kafka-zookeeper-deploy回到顶部一、简介Kafka 简介 Kafka 是由 Apache 软件基金会开发的一个开源流处理平台,由 Scala 和 Java 编写。它是一个分布式、支持分区的的、多副本,基于 zookeeper 协调的分布式消息系统。它最大特性是可以实时的处理大量数据以满足各种需求场景,比如基于 Hadoop 的批处理系统、低延时的实时系统、storm/Spark 流式处理引擎,web/nginx 日志,访问日志,消息服务等等。Zookeeper 简介 &...
一、kafka-manager 简介 为了简化开发者和服务工程师维护Kafka集群的工作,yahoo构建了一个叫做Kafka管理器的基于Web工具,叫做 Kafka Manager。这个管理工具可以很容易地发现分布在集群中的哪些topic分布不均匀,或者是分区在整个集群分布不均匀的的情况。它支持管理多个集群、选择副本、副本重新分配以及创建Topic。同时,这个管理工具也是一个非常好的可以快速浏览这个集群的工具,有如下功能:管理多个集群轻松检查群集状态(主题,消费者,偏移,代理,副本分发,分区分发)运行首选副本选举使用选项生成分区分配以选择要使用的代理运行分区重新分配(基于生成的分配)使用可选主题配置创建主题(0.8.1.1具有与0.8.2+不同的配置)删除主题(仅支持0.8.2+并记住在代理配置中设置delete.topic.enable = true)主题列表现在指示标记为删除的主题(仅支持0.8.2+)批量生成多个主题的分区分配,并可选择要使用的代理批量运行重新分配多个主题的分区将分区添加到现有主题更新现有主题的配置kafka-manager 项目地址:https://github.com/yahoo/kafka-manager 二、kafka-manager 安装1、环境要求1.安装jdk8
2.kafka集群
服务器:
...
k8s部署traefik基础知识 同nginx相比,traefik能够自动感知后端容器变化,从而实现自动服务发现。 traefik部署在k8s上分为daemonset和deployment两种方式各有优缺点: daemonset 能确定有哪些node在运行traefik,所以可以确定的知道后端ip,但是不能方便的伸缩 deployment 可以更方便的伸缩,但是不能确定有哪些node在运行traefik所以不能确定的知道后端ip 一般部署两种不同类型的traefik: 面向内部(internal)服务的traefik,建议可以使用deployment的方式 面向外部(external)服务的traefik,建议可以使用daemonset的方式 建议使用traffic-type标签 traffic-type: external traffic-type: internal traefik相应地使用labelSelector traffic-type=internal traffic-type=external1. 下载源码git clone https://github.com/containous/traefik.git官方网址: https://docs.traefik.io/获取配置文件wget https://raw.githubusercontent.com/containous/traefik/v1.7/examples/k8s/tra...
Ingress:ingress是从kubernetes集群外访问集群的入口,将用户的URL请求转发到不同的service上。Ingress相当于nginx、apache等负载均衡方向代理服务器,其中还包括规则定义,即URL的路由信息,路由信息得的刷新由Ingress controller来提供。Ingress Controller 实质上可以理解为是个监视器,Ingress Controller 通过不断地跟 kubernetes API 打交道,实时的感知后端 service、pod 等变化,比如新增和减少 pod,service 增加与减少等;当得到这些变化信息后,Ingress Controller 再结合下文的 Ingress 生成配置,然后更新反向代理负载均衡器,并刷新其配置,达到服务发现的作用。TraefikTraefik是一款开源的反向代理与负载均衡工具。它最大的优点是能够与常见的微服务系统直接整合,可以实现自动化动态配置。部署Traefik①创建ingress-rbac.yaml.将用于service account验证。apiVersion: v1
kind: ServiceAccount
metadata:
name: ingress
namespace: default
---
kind: ClusterRoleBinding
apiVersion: rbac.authorization.k8s.io/v1beta1
metadata:
name: ingress
subjects:
- kind: ServiceAccount
name: ingress
namespace: default...
一、概述在k8s里面部署kafka、zookeeper这种有状态的服务,不能使用deployment和RC,k8s提供了一种专门用来部署这种有状态的服务的API--statefulset,有状态简单来说就是需要持久化数据,比如日志、数据库数据、服务状态等。statefulset应用场景:稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于Headless Service(即没有Cluster IP的Service)来实现有序部署,有序扩展,即Pod是有顺序的,在部署或者扩展的时候要依据定义的顺序依次依次进行(即从0到N-1,在下一个Pod运行之前所有之前的Pod必须都是Running和Ready状态),基于init containers来实现有序收缩,有序删除(即从N-1到0)statefulset组成:用于定义网络标志(DNS domain)的Headless Service用于创建PersistentVolumes的volumeClaimTemplates定义具体应用的StatefulSetStatefulSet中每个Pod的DNS格式为statefulSetName-{0..N-1}.serviceName.namespace.svc.cluster.local,其中 0..N-1为Pod所在的序号,从0开始到N-1serviceName为Headless Service的名字statefulSetName为StatefulSet的名字namespace为服务所...
Oracle 利用函数将时间戳转换成日期格式的方法。数据库中有三个字段,其中关于 时间的是采用 时间戳的格式存储的,如下图 SIM BILL_NUM STARTTIME 18307135480 9001445665 1598016414 18707204757 9001445665 1598016417 15207169407 9003664475 1598251705 18827672101 9003664475 1598251707 13437294319 99270014770 1598343236 13554194307 99270014770 1598343237 13437294316 99270014770 1598343238 13554194616 99270014770 1598343238 如果要查询一段时间内的数据,每次都要转换时间格式,很不方面。但是可以作了 时间戳转换日期的函数,这样每次只需要调用就可以了。/* 格式化对象 2020/9/2 16:47:52 (QP5 v5.287) */CREATE OR REPLACE FUNCTION FUN_UTC2DATE (UTCDATE NUMBER, PATTERN VARCHAR2) RETURN DATEIS Result DATE;BEGIN Result := TO_DATE ( TO_CHAR ( TO_DATE (19700101000000, 'YYYYMMDDHH24MISS') &n...
目前ssrpanel还处于持续更新的状态,作者正在添加更多的新功能,所以日后这款面板应该也是无比强大。那么现在就进入今天的正题吧,首先准备一台VPS或者服务器,系统选择CentOS6/7X64,使用Xshell登录到你的机器内。首先安装宝塔WEB面板:宝塔一键安装代码yum install -y wget && wget -O install.sh http://download.bt.cn/install/install.sh && sh install.sh安装完毕后新建一个LNMP环境,PHP版本要选择7.1,另外作者推荐MySQL使用5.7版本,但由于本人这台VPS内存小于2G,所以我还是选择5.5。实际上使用5.5也没出现什么问题,其他组件就默认即可。环境安装好后,新建一个网站,如图:输入你的站点域名,以及创建一个FTP,接着点击提交:点击软件管理-PHP7.1后面的设置按钮,找到禁用函数这块,将含有proc开头的函数都删除掉,当然你也可以直接删除全部这些被禁用的函数:重启PHP:回到Xshell中,进入到你的站点根目录,路径类似于:进入站点根目录cd /www/wwwroot/你添加的站点域名下载ssrpanel源码:一键Git源码git clone https://github.com/ssrpanel/ssrpanel.git进入到ssrpanel目录:进入ssrpanelcd ssrpanel安装相关依赖:安装依赖命令php composer.p...
kvm-web管理工具webvirtmgr前言: 使用开源的虚拟化技术,对公司自有的少数服务器进行虚拟化,在满足业务需求的同时,并未增加投入,同时也避免了使用云主机的不便,技术层面,kvm是开源的虚拟化产品,虚拟化性能出众,更重要的是免费!!!WebVirtMgr作为kvm虚拟化的web管理工具,图形化的WEB,让人能更方便的查看kvm 宿主机的情况和操作,使用kvm+webvirtmgr便可满足当前场景的业务需求,虚拟化的同时,也能够进行便捷的管理。采用纯Python开发,其前端是基于Python的Django,后端是基于Libvirt的Python接口,将日常kvm的管理操作变的更加的可视化。WebVirtMgr 介绍 WebVirtMgr采用几乎纯Python开发,其前端是基于Python的Django,后端是基于Libvirt的Python接口,将日常kvm的管理操作变的更加的可视化。WebVirtMgr 特点操作简单,易于使用通过libvirt的API接口对kvm进行管理提供对虚拟机生命周期管理WebVirtMgr 功能宿主机管理支持以下功能CPU利用率内存利用率网络资源池管理存储资源池管理虚拟机镜像虚拟机克隆快照管理日志管理虚机迁移虚拟机管理支持以下功能CPU利用率内存利用率光盘管理关/开/暂停虚拟机安装虚拟机VNC console连接创建快照 W...
重装系统后,oracle11g/12C数据库恢复(原oracle安装目录还在)安装与之前同版本的数据库,安装目录选择与之前一样。关闭oracle的所有服务。拷贝原oracle_home目录下的database文件夹到现在的目录(最好先将现在的database文件夹进行备份)。拷贝原oracle_base下的oradata、admin、fgtoollogs、flash_recovery_area文件夹,覆盖现在的目录(请先进行备份)。打开服务。运行命令sqlplus / as sysdba;运行命令shutdown运行命令startup恢复成功。
1. 写在前头2. 简介3. 硬盘故障处理流程3.1 故障定位及分析3.1.1 名词解释3.1.2 收集日志及阵列穿孔3.1.3 查看物理磁盘信息3.1.4 物理磁盘故障分析3.1.5 查看磁盘阵列信息3.1.6 磁盘阵列故障分析3.2 业务定位3.3 设备定位3.4 故障处理标签:PC服务器, 硬盘故障1. 写在前头一直以来都想写一些关于服务器硬盘维护的文档,但是由于各种原因,就一直搁置了。而且还有一个原因,我这语文不及格呢,语言该怎么组织?还想着找度娘学习借鉴一下高人写的文档,可惜都没找到我想要的,好吧不多扯,进入正题吧2. 简介大数据时代,如何保证数据安全性,显得更加重要。从简单的定期备份,到备份系统、到灾备解决方案等等,都是为了确保数据安全。而不论何种方案,都必须将数据存放在底层的物理设备(硬盘、磁带等),今天我们主要讲服务器硬盘故障时该如何维护。3. 硬盘故障处理流程一直以来都在一线处理各类设备故障,我把硬盘的故障流程整理成如下五个步骤,四个都缺一不可。故障定位及分析业务定位设备定位故障处理3.1 故障定位及分析3.1.1 名词解释- DSA :IBM日志收集工具- DSET :DELL日志收集工具- TTY :硬盘日志收集工具- Slot Number&n...
最新评论