Maven
项目管理工具
Maven:自动构建工具,基于JAVA开发,用于对源码进行编译、测试、打包、上传等一系列构建操作,并且可以自动获取在构建过程中所需要的依赖包,解决依赖包之间的依赖关系。
项目构建过程项目构建过程包括【清理项目】→【编译项目】→【测试项目】→【生成测试报告】→【打包项目】→【部署项目】这几个步骤,这六个步骤就是一个项目的完整构建过程。
使用maven的好处 Maven中使用约定,约定java源代码代码必须放在哪个目录下,编译好的java代码又必须放到哪个目录下,这些目录都有明确的约定,对于项目的合作开发、后期维护等很方便; 使用Maven可以进行项目高度自动化构建,依赖管理(这是使用Maven最大的好处),仓库管理。可跨平台,应用于大型项目,maven分模块开发,提高开发效率。
仓库类型分为三种 本地仓库:本地仓库位于MAVEN所在主机的指定目录/root/.m2/repository/ 中心仓库:官方提供的仓库,也是MAVEN下载依赖包时使用的默认仓库 私有仓库:可以通过第三方工具在公司局域网环境下搭建
maven常用命令
mvn compile ...
Gitlab私有仓库
git是什么?
git是一个版本控制系统,可以看做一种工具,或者一种命令,常用到命令git config – (一种工具)
gitlab是什么?
gitlab是基于git的一个开源项目,可以搭建到本地进行项目托管,并能够设置权限、发表评论、或者成员间进行代码沟通。(开源项目)
gitlib是什么?
gitlib是实现git的类包。(类包)
github是什么?
github是一个平台,主要托管基于git管理的各种开源项目,提供一个存储项目的仓库网站。(一个网站)
gitlab与github的区别?
最大的区别在于对私有库的管理上,github是需要收费的,gitlab是免费的。如果做一些开源的项目,可以使用github。如果对于一些不便于全部代码都公开的项目,可以选择gitlab。
服务器信息一台本地仓库、一台远程仓库
部署Gitlab硬件配置建议CPU两个核心,4G内存及以上,已安装Git(yum)
安装gitlab12345[root@localhost ~]# rpm -ivh gitlab-ce-11.0.3-ce.0.el7.x86_64.rpm[root ...
PXC
PXC集群特点1、多主架构,集群没有主从
2、节点的数据强一致性
3、并行复制
4、集群中节点故障,在添加新节点之后,节点会进行自动同步,不需要手动同步
5、支持增量复制也支持全量复制
使用的端口3306:用来提供数据库服务
4567:集群中节点之间的通信端口
4568:节点之间增量复制的端口
4444:节点之间全量复制的端口
服务器信息
IP
角色
172.16.1.12
PXC-A
172.16.1.13
PXC-B
172.16.1.14
PXC-C
添加percona yum源12yum install -y http://www.percona.com/downloads/percona-release/redhat/0.1-3/percona-release-0.1-3.noarch.rpm
安装完以上操作之后,yum.repos.d仓库下会生成一个percona-release.repo这么一个yum源
修改源文件123456[root@localhost ~]# vi ...
VNC
安装依赖123yum -y groupinstall "X Window System"yum -y groupinstall "GNOME Desktop" yum -y groupinstall "Graphical Administration Tools"
如果在安装时提示”Transaction check error”错误 执行:yum update grub2-common
安装tigervncserver1yum -y install tigervnc-server tigervnc-server-module
拷贝配置文件1cp /lib/systemd/system/vncserver@.service /etc/systemd/system/vncserver@:1.service
修改配置文件设置用户root相关参数(将文中的“”替换为你系统的用户名,这里我填写的是root,你可以填写成你的系统登录名)
12345678 ...
Kubernetes的Deployment Scale Up or Down(伸缩)
直接使用一个例子来操作Deployment的伸缩
部署nginx编写yml文件1234567891011121314151617181920[root@k8s-node1 ~]# vi nginx.ymlapiVersion: apps/v1kind: Deploymentmetadata: name: nginx-deploymentspec: selector: matchLabels: app: nginx replicas: 2 template: metadata: labels: app: nginx spec: containers: - name: nginx image: nginx:1.8 ports: - containerPort: 80
运行nginx-deployment12[root@k8s-node1 ~]# kubectl apply -f nginx.yml deployment.apps/nginx-depl ...
Kubernetes的yaml文件使用语法及简单操作
apiVersion版本当编写一个yml文件时,第一行必须先写入apiVersion的版本不同的apiVersion可以实现不同的功能,或者配合不同的组件去使用官方文档也没有给出一个充分的解释使用kubectl api-version查看当前系统下的k8s支持的apiVersion有那些
1234567891011121314151617181920212223242526272829303132333435[root@node1 ~]# kubectl api-versions admissionregistration.k8s.io/v1admissionregistration.k8s.io/v1beta1apiextensions.k8s.io/v1apiextensions.k8s.io/v1beta1apiregistration.k8s.io/v1apiregistration.k8s.io/v1beta1apps/v1 # Deployment/DaemonSet/Replica ...
Kubernetes简单资源部署
Kubernetes创建资源的方式命令创建17版本可以使用命令直接创建,如:
1kubectl run httpd-app --image=httpd --replicas=2
会提示:kubectl run –generator=deployment/apps.v1 is DEPRECATED and will be removed in a future version. Use kubectl run –generator=run-pod/v1 or kubectl create instead.
18版本之后可以先创建后伸缩
12kubectl create deployment --image=nginx:1.7.9 nginx-deploymentkubectl scale deployment nginx-deployment --replicas=2
yaml/yml文件创建1kubectl apply -f xxx.yml
使用Deployment运行应用k8s作为容器编排引擎,最重要也是最基本的功能当然是运行容器话应用。K ...
Kubernetes简介及集群组件介绍
简介基础概念Kubernetes(简称 K8S)的出现是容器化技术发展的必然结果,容器化是应用程序级别的虚拟化,运行单个内核上有多个独立的用户空间实例,这些实例就是容器;容器提供了将应用程序的代码、运行时、系统工具、系统库和配置打包到一个实例中的标准方法,而且容器是共享一个内核的;由于容器技术的兴起,导致大量的容器应用出现,所以就出现了一些用来支持应用程序容器化部署和组织的容器编排技术,一些流行的开源容器编排工具有 Docker Swarm、Kubernetes 等,但是在发展过程中 Kubernetes 现在已经成为了容器编排领域事实上的一个标准了。
是 Google 团队发起的一个开源项目,它的目标是管理跨多个主机的容器,用于自动部署、扩展和管理容器化的应用程序,主要实现语言为 Go 语言,他的理论基础来源与 Google 内部的 Borg 项目,所以 Kubernetes 项目的理论基础就比其他开源项目要“先进”很多,因为 Borg 系统一直依赖就被称为 Google 公司内部最强大的“私密武器”。
为什么使用Kubernetes使用k8s满足的企业需求:
为了提高业务并 ...
MHA
工作原理:第一步:manager节点监控主从数据库集群中节点的运行状态,当主节点故障时,manager节点会尽可能的获取已经故障的主节点的二进制日志,并存储到自己的工作目录中第二步:manager在从节点中找出中继日志最新的这台节点,并将该节点的中继日志传给其他从节点,实现从节点之间的数据一致第三步:当所有从节点数据保持一致时,manager节点根据配置选出新的主节点,并将自己从故障的节点中获取二进制日志交给这个新的主节点第四步:所有的从节点都将指定这个新的主节点,新主节点关于故障节点的信息全部清除
服务器信息
IP
角色
172.16.1.12
MySQL主
172.16.1.13
MySQL备1
172.16.1.14
MySQL备2
172.16.1.15
Manager
MySQL主配置修改配置文件1234vi /etc/my.cnf添加:(在mysqld模块中)log-bin = mysql-bin //开启二进制日志server-id = 1
重启服务1service mysqld re ...
Kafka消息队列
Kafka:分布式,支持分区,复制,基于zookeeper协调的消息中间件
Kafka结构:生产者:生产信息,并将消息推送到指定的kafka节点的分区中kafka-server:消息队列,存储生产者推送的消息,并将消息推送给消费者消费topic:主题,对不同类型的消息可以通过创建不同的主题进行区分partition:分区,消息的载体,是一个日志文件,文件中存储的是生产者推送的消息,文件中的消息被成功消费之后不会被清除,在指定的时间周期内会被保留,分区支持复制,可以在其他节点创建从分区,消息的接收和推动都是由主分区完成,存储同一类型消息的分区属于同一个主题,也就是说可以把一个主题划分为一个或多个分区存储消息Offset:偏移量,因为被消费成功的消息不会在分区中删除,所以消费者可以通过指定偏移量来消费不同的消息消费者组:消费者以组的形式向kafk获取消息,组中是多个消费者实例,要求属于同一个组的消费者不能消费同一个分区中的消息,不同组的消费者可以消费同一个分区中的消息Zookeeper:服务注册中心,分布式架构中的协调程序,用于记录每隔kafka节点的信息以及创建的主题,分区,消费者所使用 ...
