自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 cgo混编,go调用包含回调函数的C语言函数

能不能不写摘要。

2024-04-16 20:23:32 235

原创 Kubernetes资源平台--ratel

没事儿随便看点东西,发现了很有趣的东西,把自己的集群跑起来玩一玩。杜宽大佬写的系统,感觉很好用,自己搭建一遍记录一下搭建过程。原文传送门在这里了: https://github.com/dotbalo/ratel-doc准备工作:有一套k8s集群。安装了网络组件,Flannel、Calico都可以,我使用的是Calico。安装了dashboard。所有配置文件都在/root/ratel/ 这个文件夹下。###集群信息如下:使用kubeadm部署的集群,3台master用hapro

2021-12-28 18:38:33 766 1

原创 jenkins构建项目时使用sshpass + scp远程拷贝踩坑。

我这边的流程是这样的: (服务器 centos 7.6) 1. jenkins从gitlab上将代码拉到本地, 2. 在本地打包之后发送到其他服务器上。使用jenkins将代码包拷贝到其他服务器上可以使用jenkins提供的插件(自行百度)。我这里使用了scp将本地的软件包拷贝到其他服务器上。记录一下踩的坑。yum -y install sshpass 使用sshpass,不输入密码。# jenkins中脚本中关于scp的shell如下:sshpass -p 'abc@123!!

2021-08-11 16:05:44 1215 3

原创 K8S部署服务以及服务的暴露

基础命令:1. 创建应用:kubectl create deployment nginx-test --image=nginx# 到远程仓库pull一个nginx的docker镜像# 然后回创建一个名字为nginx-test的deployment# 同时回创建一个pod2. 查看pod:kubectl get pods [-n namespace]# 查看对应命名空间的 pod,默认命名空间是default3. 查看deployment:kubectl get deployment

2021-07-13 16:22:32 1040

原创 K8S dashboard

k8s dashboard,关闭自动生成证书。使用自定义证书。

2021-07-09 10:06:25 218

原创 kubeadm 部署 k8s

打算将自己的小项目搬到K8S上,学习了一波,顺便做一下笔记,方便之后查阅。环境准备:centos 7.8, 2核CPU, 2G内存node2:192.168.157.130 作为master节点node3:192.168.157.131 作为work节点保证集群内所有机器可以互相ping通保证机器可以连接外网(非必要,可以连接本地docker仓库)1. 禁止swap分区 swapoff -a # 临时关闭 vim /etc/fstab # 永久关闭,需要重启机器 #

2021-07-07 11:32:50 142

原创 fastDFS防盗链踩坑

今天搞一个小东西的时候用到了fastDFS的防盗链功能。遇到了一些坑,过来记录一下。关于fastDFS的配置看之前的内容。1. 开启fastDFS防盗链功能:(直接贴我的配置文件了)vim /etc/fdfs/http.conf# HTTP default content typehttp.default_content_type = application/octet-stream# MIME types mapping filename# MIME types file format:

2020-12-15 12:34:12 1203

原创 Java程序运行中动态添加枚举

今天在工作中遇到这么一个场景:调用一个service功能,需要传递枚举,如果传递其他的值还需要修改底层的代码。于是就想到用动态的方式添加枚举。参考了其他人写的例子,自己尝试了一下,说不定之后可以用到,所以在这里纪录一下。枚举:@Getterpublic enum Test { PT("服务质量", "bandwidth", "bandwidth", "", "", 1d, false, "带宽", "sum", "服务质量"), private String quota

2020-11-20 21:40:27 5960 2

原创 索引库:solr的搭建和使用,以及springboot链接solr

solr和ElasticSearch差不多,是一个索引服务器,也可以看做是nosql。mysql 5.6之后为INNODB存储引擎提供了全文索引,如果有大量的相似度查询,那么压力还是会在sql服务器上。因此可以采用索引库的方式,将mysql中的数据某一些数据同步到索引库上,客户端直接访问索引库,这样就可以减轻sql服务器的压力了。结构图如下:一、安装solrjdk 1.8、tomcatwget http://archive.apache.org/dist/lucene/solr/4.10.4/so

2020-07-29 10:13:11 309

原创 安装使用FastDFS,使用Nginx提供访问

FastDFS:是一种分布式文件系统,主要的组件是tracker和storage,工作流程如下图。环境准备:主机:centos 7.x:192.168.206.135 (tracker和storage在一台主机上。)软件包:libfastcommonV1.0.7.tar.gzFastDFS_v5.05.tar.gzfastdfs-nginx-module_v1.16.tar.gznginx-1.17.3.tar.gz安装:一、基础软件包: yum -y install gcc g

2020-07-22 00:05:36 189

原创 nginx+wordpress遇到的坑

心血来潮,想用nginx+wordpress搭建一个简单的个人站,结果遇到了很多坑。在这里将心路历程做一个简单的记录。服务器:阿里云cnetos7.8数据库:mariadbnginx:1.17.3(源码安装)1、安装mariadb: yum -y install mariadb mariadb-server mariadb-devel systemctl start mariadb systemctl enable mariadb mysql_secure_installation #

2020-06-30 11:10:21 1319

原创 Nginx--TCP/UDP调度

和nginx反向代理相似,Nginx–TCP/UDP的调度在本质上也是请求的转发,但是在前文配置的反向代理只能试用与web服务。这里通过转发ssh(端口22)服务,来实现TCP/UDP的调度。如图: 安装nginx的ngx_stream_core_module模块 使用 --with-stream开启这个模块 ./configure --user=nginx --group=nginx ...

2020-06-29 18:50:47 174

原创 Nginx反向代理(web服务器)

如图所示:客户机和两个web服务器不在同一个网段中,因此无法直接请求web服务。但是Nginx代理服务器,有两个ip地址,可以和客户机进行通信,也可以和web服务器进行通信。在配置之前需要关闭防火墙和selinux。 配置nginx服务器: vim /usr/local/nginx/conf/nginx.conf upstream webserver { # 使用upstream创建...

2020-06-29 18:50:32 317

原创 JVM

这两天看了一些有关JVM的东西,在这里以自己的理解做一个简单的记录。jvm的主要构成有:1、类加载器2、运行时数据区(内存结构)3、执行引擎这里主要对1、2以及jvm垃圾回收进行一些简单的说明。====================================运行时数据区(内存结构):======= 线程之间共享 =======堆:存储单位,虚拟机启动时自动创建,存放对象的实例,几乎所有的对象都存放在堆上。是垃圾回收的主要区域。主要分为新生代和老年代。​ 新生代:​ Ede

2020-06-27 19:30:42 139 1

原创 Hadoop-高可用

一、namenode高可用:namenode存储了数据和地址的映射(fsimage),当节点发生故障的时候,备份节点应该和故障节点具有相同的数据,因此有两种方式实现高可用。1、使用NFS:将数据放在一个共享的目录下。2、使用QJM:准备两台namenode,一个用于备份,datanode向namenode回复数据与地址的映射时,不仅向namenode回复,也要向备份的namenode回...

2020-05-14 22:15:38 221

原创 zookeeper集群

一、简介1、zookeeper是什么:开源的分布式应用程序协调服务,保证数据在集群减的事务一致性2、应用场景:集群分布式锁、积分统一命名服务、分布式协调服务3、角色与特性: Leader:可以理解为主节点,负责与所有的follower节点进行内部数据交换、接受所有follower节点的提案请求并且发起提案的投票。(一般进行写操作) Follower:可以理解为从节点,与Leader节...

2020-05-14 22:14:58 138

原创 Hadoop-节点管理与使用

192.168.1.60 nn01 # 角色:namenode、secondarynamenode、resourcemanager 192.168.1.61 node1 # 角色:datanode、nodemanager 192.168.1.62 node2 # 角色:datanode、nodemanager 192.168.1.63 node3 # 角色:data...

2020-05-14 22:14:34 464

原创 Hadoop-完全分布式

1、环境准备:(所有主机) # 使用hadoop2.7.7 # 准备如下主机,修改/etc/hosts,保证所有主机都可以ping通 192.168.1.60 nn01 # 角色:namenode、secondarynamenode、resourcemanager 192.168.1.61 node1 # 角色:datanode、nodemanager 192.168.1.6...

2020-05-14 22:14:21 117

原创 Hadoop基础

1、常用组件HDFS:分布式文件系统MapReduce:分布式计算框架Yarn:集群资源管理系统-------- 以上是三者是Hadoop核心组件 --------Zookeeper:分布式协作服务Hbase:分布式列存储数据库Hive:数据仓库Sqoop:数据同步工具Pig:基于hadoop的数据流系统Mahout:数据挖掘算法库Flume:日志收集工具2、HDFS角色...

2020-05-14 22:14:01 113

原创 分布式ELK-Logstash、Kibana

一、Logstash:用于收集、分析、处理日志。1、准备主机准备主机192.168.1.57,修改/etc/hosts文件(ELK所有主机上都相同)192.168.1.51 es1192.168.1.52 es2192.168.1.53 es3192.168.1.54 es4192.168.1.55 es5192.168.1.56 kibana192.168.1.57 logst...

2020-05-14 22:13:45 108

原创 分布式ELK-ElasticSearch

ELK:适用于处理海量日志的一套工具,主要包括ElasticSearch、Logstash、Kibana。ElasticSearch:负责存储和检索日志Logstash:负责对日志数据的分析和处理Kibana:日志数据的可视化一、ElasticSearch的相关概念ElasticSearch是一款面向文档的数据库。类似于nosql,通过http请求进行操作。相关概念: node:...

2020-05-14 22:13:33 138

原创 gitlab和jenkins

一、gitlab:(使用主机ip:10.6.12.135)页面版的git仓库,为了方便,使用docker部署。安装与部署:1、首先需要将真机的ssh服务的22端口修改成其他的端口(这里改为2222)gitlab的docker要与真机的22端口进行绑定,方便使用ssh的方式下载上传vim /etc/ssh/sshd_configport 2222systemctl restart s...

2020-05-14 22:13:21 658

原创 ansible-playbook

playbook相当于剧本,ansible根据playbook中定义的任务去执行对应的操作。使用yaml格式去编写。仍然使用的是ansible中对应的模块。playbook中可以包含多个play(剧本)。play包含了:name(描述),hosts(ansible对应的主机集合或者主机名),tasks(执行的任务)。task包含了:name(描述),ansible模块。ansible模块中...

2020-05-14 22:13:05 106

原创 ansible

ansible是一款批量自动化运维的工具,在一台主机上安装ansible就可以对其他主机进行批量化操作了。采用模块化设计,基于python、paramiko、pyyaml、jinja2。使用ansible需要关注两个集合:主机集合,命令集合。 表明了对哪些主机进行什么样的操作。本质上是通过ssh连接到远程主机上然后执行对应的命令。软件依赖管理:使用python2.6或者python2.7,使用...

2020-05-14 22:13:00 285

原创 Docker-持久化存储

容器内部不保存数据,只提供服务。重要的数据需要使用外部卷存储。(数据持久化)容器可以使用真机的目录,或者共享存储作为存储卷。启动docker时,将真机的目录挂在到docker下:docker run -it -v 真机目录:docker中目录 容器名mkdir /tmp/docker_datadocker run -it -v /tmp/docker_data:/abc myos:t...

2020-05-14 22:12:38 136

原创 Docker-镜像仓库

仓库可以部署在单独的主机上,也可以部署在docker主机上。仓库中的镜像只能通过docker主机上传。仓库服务器配置:(192.168.1.80)yum -y install docker-distribution #私有仓库systemctl start docker-distributionsystemctl enable docker-distribution配置文件:(不需要...

2020-05-14 22:12:27 176

原创 Docker-自定义镜像

在已有的docker镜像当中,添加一些自己需要的功能,封装成自己镜像。例:自定义一个有yum源的centos的镜像docker run -it docker.io/centos:latestrm -fr /etc/yum.repos.d/*vim /etc/yum.repos.d/local.repo[local_repo]name = xxxxbaseurl = ...

2020-05-14 22:12:20 128

原创 Docker-基础

容器:是一个独立的空间,与虚拟化类似。但是虚拟化可以虚拟OS,使用容器不能虚拟OS。主要包括以下三部分:cgroups资源管理,namespace进程隔离,selinux安全。namespace隔离:用户命名空间hostname隔离,网络命名空间隔离,文件系统命名空间隔离,进程命名空间隔离,信号量命名空间隔离。Docker:容器技术的一个应用,是是实现容器功能的软件,目前可以使用的容器技术...

2020-05-14 22:11:59 178

原创 使用openstack以及扩充nova节点

openstack的管理员分为两种:1、云服务商管理员(admin):负责为企业的用户提供一系列资源(项目)。2、企业管理员:对云服务商提供的资源(项目)进行规划和分配,提供虚拟机。项目:是一组隔离的对象和资源。企业管理员可以对项目进行具体的规划。一、硬件配置操作:1、创建项目:(提供统一的资源)使用admin登录,身份管理-->项目-->创建项目。进行配额。2、为项...

2020-05-14 22:11:53 813 1

原创 openstack-安装部署

1、主机信息:(为了完成实验的最低配置)openstack管理主机:ip:192.168.1.102CPU,6G 内存,50G 硬盘配置静态IP ifcfg-eth0两台nova主机:2CPU,4.5G 内存,100G 硬盘ip:192.168.1.11, 192.168.1.12配置静态IP ifcfg-eth0# ip都通过配置文件进行修改,/etc/sysconfig/...

2020-05-14 22:11:19 578

原创 openstack-基础

openstack提供IaaS私有云。核心组件有七个:1、Horizon:图形化界面,用图形化的方式管理主机,创建用户,管理网络,启动实例。2、Keystone:认证和授权中心,提供了集中的目录服务,提供了集中的身份认证(账号密码、令牌、AWS亚马逊登录),为用户和其他服务提供了SSO认证服务。3、Neutron:软件定义网络服务,可以创建网络、子网、路由器,可以管理浮动ip、可以实现虚拟...

2020-05-14 22:11:12 202 1

原创 virsh磁盘扩容

磁盘扩容的思路:硬盘–>分区–>文件系统virsh domblklist node1 #查看node1的磁盘# 硬盘virsh blockresize --path /var/lib/libvirt/images/xxxx.qcow2 --size 50G node1 #把node1的磁盘大小变为50G# 分区LANG=C #修改为英文环境growpart /dev/v...

2020-05-14 22:10:45 1724

原创 网卡配置文件

vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE="eth0 " #网卡名ONBOOT="yes" #开机启动NM_CONTROLLED="no" #不受NetworkManager控制TYPE="Ethernet" #类型BOOTPROTO="static" #获取ip的方式,static,dhcp,none(网卡聚合使用)IP...

2020-05-14 22:10:39 1102

原创 虚拟化-创建虚拟机

1、虚拟机的组成:磁盘镜像文件:虚拟机的硬盘,/var/lib/libvirt/images/xxxx.qcow2XML文件:虚拟机配置声明文件,/etc/libvirt/qemu/xxxx.xml2、磁盘镜像文件:RAW:一次性分配大小QCOW2:copy on write3、qemu-img命令:(管理镜像盘,多种格式)qemu-img create -f qcow2 no...

2020-05-14 22:10:18 498

原创 虚拟化-virsh

虚拟化:把x个物理设备,虚拟成y个逻辑上的设备。KVM:是Linux内核模块,需要cpu的支持,采用硬件辅助虚拟化技术。通过lsmod命令可以查看内核模块。QEMU:虚拟化仿真工具,通过ioctl与内核的kvm进行交互,从而完成对硬件的虚拟化支持。Libvirt:是一个对虚拟化管理的接口工具,提供用户端的程序。Libvirt–>QEMU–>KVM #由外层到内层------...

2020-05-14 22:10:11 156

原创 防火墙-iptables

RHEL7使用的firewalld防火墙,但是底层仍然调用的是iptables防火墙RHEL6及其以下使用的iptables防火墙。iptables防火墙主要是对到达主机的数据包进行过滤。1、开启iptables防火墙systemctl stop firewalldsystemctl disable firewalldyum -y install iptables-servicesy...

2020-05-14 22:09:56 116

原创 补丁文件

所谓的补丁文件就是新文件和旧文件的差异文件。使用两台主机模拟软件的开发与安装:Va主机:相当于客户端安装程序Vb主机:开发程序source1相当于文件的第一个版本source2相当于文件的第二个版本版本1:(在Vb上开发)版本2:(在Vb上开发)与版本1相比多了两个文件hello.txt,oo.txt将版本1通过scp发送给Va主机在Vb上创建补丁文件(差异文件)d...

2020-05-14 22:09:20 764

原创 服务安全-tomcat优化

tomcat优化主要从以下三个方面:1、隐藏版本信息2、降权启动3、删除tomcat默认提供的页面-------yum -y install java-1.8.0-openjdk #安装jdkyum -y install java-1.8.0-openjdk-devel #解压jar包的工具1、隐藏版本信息curl -I http://192.168.2.100:8080/x...

2020-05-14 22:09:02 102

原创 服务安全-mariadb优化

mariadb相当于是mysql一个分支,但是mariadb存在着一些安全漏洞。主要安全隐患:1、无密码登录,对所有的库和表具有完全的权限2、使用匿名用户(任意用户)可以登录,对test数据库具有完全权限1°安装mariadb:yum -y install mariadb-server mariadb systemctl start mariadb2°执行初始化安全脚本:mys...

2020-05-14 22:08:57 597

原创 服务安全-nginx优化

之前nginx服务提到过一些对nginx的优化。这里针对nginx的以下内容进行优化:1、取消自动索引,防止暴露网页文件2、隐藏版本信息,显示版本信息攻击者会根据版本找对应的漏洞3、限制并发数量,可以减少DOS攻击4、拒绝非法请求,可以减少DOS攻击5、防止buffer溢出----------1、取消自动索引tar -xvf nginx-1.17.3.tar.gzcd ngi...

2020-05-14 22:08:41 108

空空如也

空空如也

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

TA关注的人

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