自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

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

原创 部署etcd集群

参考: https://www.cnblogs.com/51wansheng/p/10234036.html一、环境说明ubuntu 18.04 172.18.0.30 (master)ubuntu 18.04 172.18.0.26 (node1)etcd 版本:v2.3.7二、安装etcd分别在master和node1机器上安装etcd# step1:下载某版本etcd的release包$ wget https://github.com/etcd-io/etcd/releases

2020-05-20 19:41:44 825

原创 docker搭建jenkins

一、运行jenkins这里我们选择Jenkins中国定制版的镜像是因为下载jenkins的插件快不会失败,因为插件源换成了国内的docker run -itd \ -p 8080:8080 -p 50000:50000 \ --name jenkins \ --privileged=true -u root \ --restart=always \ -v /data/jenkins:/var/jenkins_home \ jenkinszh/jenkins-zh:lts备注

2020-05-14 20:24:31 579 1

原创 rancher添加集群失败:Etcd Cluster is not healthy

一、背景有一台虚拟机,曾经用来做过rancher集群的agent(角色:etcd、control、worker),后来我删除了这个集群,现在又想用这台虚拟机做rancher集群,结果添加失败,报[etcd] Failed to bring up Etcd Plane: [etcd] Etcd Cluster is not healthy错误二、解决谷歌后找到了原因:删除集群的时候没有清除完相关的资源# 在虚拟机上执行以下操作# step1:删除rancher相关容器(注:以下命令会删除所有容器,

2020-05-13 19:16:30 4376

原创 docker搭建gitlab

一、运行gitlab$ docker run --detach \ --publish 8443:443 --publish 8080:80 --publish 2222:22 \ --name=gitlab \ --restart=always \ --volume /data/gitlab/config:/etc/gitlab \ --volume /data/gitlab/logs:/var/log/gitlab \ --volume /data/gitlab/data:/v

2020-05-12 20:47:46 2135

原创 ubuntu安装protobuf2

环境ubuntu18.04安装protobuf2(通过源码编译安装)# step1:安装相关依赖$ sudo apt-get install autoconf automake libtool curl make g++ unzip# step2:下载protobuf2.6压缩包$ wget https://github.com/protocolbuffers/protobuf/...

2020-05-07 18:24:03 1652

原创 阿里云yum源安装最新版docker并配置镜像加速

背景docker官方的yum安装docker很慢(官方安装文档)安装好docker后,下载docker镜像慢(默认docker镜像下载是 docker hub)阿里云yum源安装docker参考:阿里云官方文档1、删除已经安装的docker$ sudo yum remove docker \ docker-client \ ...

2020-04-19 11:47:17 2696

原创 git clone Failed to connect to 127.0.0.1 port 8888: 拒绝连接

背景今天克隆代码的时候报 Failed to connect to 127.0.0.1 port 8888: 拒绝连接原因因为本地的8888端口已经被占用了排查# 查看8888端口是否被其他进程占用,发现并没有进程占用$ netstat -nap | grep 8888# 查看是否被代理占用(在你设置过系统代理的时候,一般会自动写到配置文件 ~/.bashrc)$ env | g...

2019-06-17 21:53:35 4607

原创 更换pip源,使pip下载更快

背景python第三方包我们一般都会用pip来安装管理,但有时候安装下载特别慢,才十几K,因为pip访问国外源导致环境Linux系统解决更换pip源为国内的阿里源: http://mirrors.aliyun.com/pypi/simple/# 临时使用 -i 指定源$ pip install reqeusts -i http://mirrors.aliyun.com/pyp...

2019-06-17 21:34:32 829

原创 Linux vscode基本配置以及golang插件安装

背景vscode也许是现在最流行的代码编辑器了吧,主要是还能映射其他代码编辑器的快捷键,比如vim、sublime text等。可是由于网络原因吧【被墙】,我在安装go插件的总会遇到失败。环境Ubuntu设置中文菜单栏当我们到vscode官网下载ded包,安装好后vscode是英文菜单,如果想设置为中文,我们可以先下载中文拓展插件,然后修改配置文件1、安装中文拓展插件2、修改配置文...

2018-12-14 15:36:15 5880 5

原创 golang iris web项目热重启

在开发web的时候,如果项目不支持热重启,每添加或修改个接口都需要重启项目才能测试,会很麻烦。都知道beego有bee工具,bee run启动项目即可,而在iris项目中热重启方法如下# 安装rizla包$ go get -u github.com/kataras/rizla# 热重启方式启动iris项目$ rizla main.go...

2018-11-09 11:23:32 8106 1

原创 申请免费域名、配置域名以及https证书设置

如何申请免费域名域名申请官方网站https://my.freenom.com/clientarea.php详细的申请教程可以查看都比根据地良心教程https://doub.io/dbwz-3/我申请的免费域名如何用刚申请到的域名现在我们有了域名,接下来就是解析域名了,也就是域名配置绑定,我们用cloudXNShttps://www.cloudxns.net详细的解析...

2018-10-16 15:42:45 6416

原创 支付宝商家二维码收款、订单状态查询、退款API试用笔记

情景商家的app或商城支持支付宝支付,支付的方式是商家根据商品价格生成相应的付款二维码,用户扫码付款,同时商家需要查看支付订单状态,备货出货,当然还要支持退款。准备测试环境1、开通开发者服务用自己的支付宝账号登录蚂蚁金服的开放平台,同意相关协议和实名认证后,进入到开发者中心,支付宝为开发者提供了沙箱应用,用于测试支付宝支付的相关API。 2、添加沙箱应用公钥生成公...

2018-08-14 16:27:54 16469

转载 年终盘点!2017年超有价值的Golang文章

转自:http://colobu.com/2017/12/28/top-golang-articles-of-2017/涵盖了go的方方面面,如果你能静下心来细细品味,相信定能有质的飞跃。语言规范Close Channels Gracefully in Golang : 如何优雅地关闭channel?Compile-time assertions in Go : 编译时断言Why...

2018-05-25 14:23:21 651

原创 golang第三方日志包seelog配置文件详解

开发任何项目,都离不开日志,配好自己的项目日志输出,往往是开发项目的前提。在golang中,seelog应该是比较有名的日志处理包了,功能非常强大,seelog官方文档一、seelog主要功能下面我们看看seelog有啥强大设置不同级别的日志;输出到终端或文件;过滤指定级别日志;定义多种不同的日志输出格式;根据触发日志的文件名或者函数名来区别输出日志;通过 SMTP 或 T...

2018-05-17 01:27:23 9623

原创 Ubuntu系统忘记mysql root密码

环境 Ubuntu情景忘记mysql root用户密码,现在需要重置root用户密码解决1、停止mysql服务$ service mysql stop2、修改my.cnf文件# 查找my.cnf文件在哪里$ find / -name my.cnf/var/lib/dpkg/alternatives/my.cnf/etc/alternatives/...

2018-05-09 12:20:54 9534 2

原创 离线搭建TiDB分布式数据库

TiDB官网文档:https://pingcap.com/docs-cn/overview/#tidb-%e7%ae%80%e4%bb%8b一、环境说明阿里云服务器七台,三台跑TiKV server,三台跑PD server, 两台跑TiDB server注: 这七台服务器需在同一区域(如:华南 1 可用区 C) 内网ip 外网ip 角色 172.18...

2018-05-08 08:15:48 4100 12

原创 Ubuntu终端tab键补全不了

环境 Ubuntu情景在Ubuntu系统下useradd一个新的用户,切换到该用户时,发现终端命令行下tab键补全不了$ useradd tab # 新增tab用户$ passwd tab # 设置密码$ su - tab # 切换到tab用户,发现按键盘的tab键补全不了解决谷歌发现是用useradd命令创建用户时没有指定shell的路径...

2018-05-07 10:09:29 4943

原创 golang socket断点续传大文件

在日常编程中,我们肯定会遇到用socket传送文件内容,如果是大文件的,总不能传送到一半因某原因断掉了,又从新传送文件内容吧。对,我们需要续传,也就是接着上次传送的位置继续发送文件内容。续传的话,其实并不难,我理解的思路大概如下:客户端发送消息询问服务端,你上次接收到的文件内容位置服务端告诉客户端上次接收到的文件内容位置客户端就从上次断点的位置继续发送文件内容客户端发送文件内容完毕...

2018-04-05 23:57:53 7472 3

原创 golang 中对json数据读写

编程中,我们很常会把数据以json格式保存在文件中或者读取json文件,golang有内置对json数据的处理包 encoding/json// file name: test.gopackage mainimport ( "encoding/json" "fmt" "log" "os")type User struct { Name ...

2018-04-02 21:19:28 9180 2

原创 golang package log学习笔记

日志是程序中必不可少的部分,golang的日志包log相当简洁明了。函数log包主要有以下三个系列的函数// Print calls Output to print to the standard logger.// Arguments are handled in the manner of fmt.Print.func Print(v ...interface{}) {...

2018-03-25 23:02:41 2832

原创 golang爬取豆瓣Top250书籍信息

都说python是爬虫的利器,有各种各样的第三方库。今天尝试了下golang,一字个爽 ~~ 爬取豆瓣Top250书籍的整体思路是:书籍列表页(一个列表页一个goroutine处理)–> 书籍详情页(每本书一个goroutine处理) –> 获取信息 –> 入库环境go version go1.10 linux/amd64本文不会进行环境部署以及第三方库安装...

2018-03-25 10:35:17 1350

原创 go get xxx timeout

问题描述想用golang做一爬虫小项目,安装golang包 PuerkitoBio/goquery 时发现被墙了超时$ go get github.com/PuerkitoBio/goquerypackage golang.org/x/net/html: unrecognized import path "golang.org/x/net/html" (https fetch: Get ...

2018-03-08 23:42:28 8535 4

原创 golang 操作mysql(增删查改)

相关文档:package sql 文档go-database-sql 文档假设test数据库中的user表中存在已下数据mysql> select * from user;+----+--------+------+| id | name | age |+----+--------+------+| 1 | tab | 18 || 2 | ta...

2018-03-04 22:34:14 10651

转载 Go并发编程总结

转载自:http://www.woola.net/detail/2017-04-27-goroutines.html本文是一篇并发编程方面的入门文章,以Go语言编写示例代码,内容涵盖:运行期并发线程(goroutines)基本的同步技术(管道和锁)Go语言中基本的并发模式死锁和数据竞争并行计算运行期线程go 关键词后面的语句会以一个新的线程去运行,至于这个线程与jav...

2018-02-28 16:53:26 2509

原创 rabbitmq Error: unable to connect to node XXX@XXX: nodedown

1、环境: centos 7.32、问题描述今天在部署rabbitmq作为前后端消息推送过程中出现如下错误$ rabbitmqctl set_permissions -p / duni ".*" ".*" ".*"Error: unable to connect to node rabbit@bbbbdddd: nodedownDIAGNOSTICS===========attempted

2017-11-16 10:35:26 13127 4

原创 使用CacheFiles缓存,减少网络IO

CacheFiles是NFS缓存功能的文件系统之一,还有一个是CacheFS。关于FS-Cache、CacheFiles、CacheFS三者之间的区别,可以查看:https://people.redhat.com/dhowells/fscache/FS-Cache.pdf一、环境 redhat or centos二、安装在使用CacheFiles之前,我们需要先使用yum update更新。若

2017-11-08 11:21:39 6880

原创 zpool import 找不到存储池

在使用zfs文件系统的时候,有时候发现export存储池A后,zpool import并不能找到刚export的存储池A,这种情况下,zpool import A存储池是会失败的,如果用zpool create -f A /dev/sdb1重新创建A存储池,那么A存储池export之前的东西就都丢失了,这不是我们想要的。google一番,最后找到了解决方法:$ zpool import # 该

2017-10-26 10:43:34 4491 3

原创 pip install MySQL-python 报 "EnvironmentError: mysql_config not found"

pip安装python访问mysql第三方模块MySQL-python报以下错误$ pip install MySQL-pythonCollecting mysql-python Using cached MySQL-python-1.2.5.zip Complete output from command python setup.py egg_info: sh: mysql_

2017-10-11 17:02:00 8184

原创 容器中rc.local,login shell, systemctl微妙关系

背景:假设有这么一个需求:容器中能使用systemctl操作和查看服务状态容器启动时需获取运行容器时传入环境变量实践出真理我们先写一个获取环境变量的简单shell脚本# file name: env.sh#!/usr/bashecho "get container envs" >> /tmp/env# 通过linux命令获取环境变量然后重定向到...

2017-07-27 10:07:37 3659 1

原创 容器中安装ssh,可以ssh到别的机器,但是别的机器ssh不上该容器

一、问题描述基于官方的centos镜像,用Dockerfile安装ssh服务build镜像,发现可以ssh到别的机器,但是别的机器ssh不上该容器问题排查首先想到就是防火墙和ssh服务有没有启动,容器中防火墙没有开启,在重启sshd服务的时候报错说/etc/ssh目录下没有ssh_host_rsa_key, ssh_host_ed25519_key, ssh_host_ecdsa_key。于是把主机

2017-07-21 19:11:07 2852

原创 Error from server: error dialing backend: dial tcp: lookup xxx on 114.114.114.114:53: no such

k8s集群新增节点机node3,有一个容器busybox运行在nod3上的,在k8s master主机上执行进行容器命令返回如下错误$ kubectl exec -it busybox shError from server: error dialing backend: dial tcp: lookup node3 on 114.114.114.114:53: no such host但跑到nod

2017-06-05 19:00:49 20462 2

原创 k8s不能挂载ceph块存储

我是参考 Tony Bai 博客进行k8s挂载ceph的存储,但是发现最终pod的状态一直是ContainerCreating一、环境说明:Tony Bai 是把k8s 和 ceph都部署在那两台虚拟机上我的环境是k8s集群和ceph存储集群分别部署在不同机器上的ceph存储集群环境部署可以参考Tony Bai的,或者网上找很多教程,我这里只是记录k8s挂载到ceph块存储所遇到的问题。二、配

2017-05-13 18:08:58 5337 1

原创 容器中使用systemctl命令重启服务

在docker容器中用systemctl重启服务时,提示 Failed to get D-Bus connection: Operation not permitted解决方法:ubuntu16.04以上版本, redhat, oraclelinux, centos但非centos7镜像等$ docker run -d --privileged=true IMAGENAME:TAG /usr/

2017-05-10 10:07:44 7676 2

原创 Ubuntu pip 安装 mysql-python包出错

问题描述如下,报没有找到mysql_config环境变量 $ pip install mysql-pythonCollecting MySQL-python==1.2.5 (from -r requirement (line 16)) Downloading MySQL-python-1.2.5.zip (108kB)100% |###############################

2017-04-27 18:04:59 2787

原创 k8s集群部署DNS服务发现

环境:os: centos(一个master,两台node节点机)kubernetes: 1.5.2docker: 1.12.5一、skydns-rc.yaml 文件apiVersion: v1kind: ReplicationControllermetadata: name: kube-dns-v9 namespace: default labels: k8s-ap

2017-04-26 16:16:47 11549 1

原创 Docker私有仓库管理之Harbor搭建

Harbor简介:http://dockone.io/article/1179 Harbor官网安装说明:https://github.com/vmware/harbor/blob/master/docs/installation_guide.md环境说明:Centos 7.2主机IP: 192.168.20.17一、安装相关依赖1、安装docker yum -y install doc

2017-04-20 18:52:42 10311 7

原创 学习kubernetes中遇见的一些坑(持续更新)

一、权限问题通过rc配置文件起pod,rc中配置了privileged为true,发现pod状态一直Running不起来,查看pod详情发现 [root@docker tmp]# kubectl describe pods nfs-rc-acbo1 Name: nfs-rc-acbo1 Namespace: default Node: ...

2017-03-31 15:57:12 24813 1

原创 ssh 连接不上 oracle linux 7.2

问题描述oralce linux 可以ssh到其他设备,可是其他设备ssh不上oracle linux ssh username@hostip -vOpenSSH_6.6.1, OpenSSL 1.0.1e-fips 11 Feb 2013debug1: Reading configuration data /etc/ssh/ssh_configdebug1: /etc/ssh/ssh_c

2017-03-22 18:21:25 2459

原创 RedHat7.2安装和配置单节点或多节点kubernetes

本文将讲述RedHat7.2如何安装和部署(单节/多节点)kubernetes。 注: 由于Redhat是商业系统,需注册才可用yum进行软件安装,但是我们可以通过修改yum为Centos源,具体操作单节点一、环境一台安装RedHat7.2操作系统的物理机或虚拟机二、准备工作1、避免跟docker的iptables冲突,关闭RedHat防火墙 sy...

2017-02-14 17:59:54 2443

原创 Python中__repr__和__str__区别

看下面的例子就明白了class Test(object): def __init__(self, value='hello, world!'): self.data = value>>> t = Test()>>> t<__main__.Test at 0x7fa91c307190>>>> print t<__main__.Test object at 0x7fa91

2016-12-14 23:21:25 83405 8

空空如也

空空如也

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

TA关注的人

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