- 博客(29)
- 收藏
- 关注
原创 golang mysql数据库连接池的理解
最近在使用go语言的orm做一些数据库的操作,最后发现了一个bug就是invalid connection,所以就去的了解了一下链接池和mysql的超时时间,下面我就用go的orm+mysql来说明(我理解语言都是相通的,原理应该都是一样的)。在我们要对数据库进行增删改查的时候,第一步就是要去连接数据库//conn the databasefunc ConnDb(dbConnStrin...
2019-09-17 00:56:31
6580
1
原创 利用kubeadm搭建测试kubernetes集群
使用工具 https://kubernetes.io/docs/setup/independent/create-cluster-kubeadm/kubeadm简介: kubeadm是kubernetes自带的快速搭建kubernetes集群的工具,方便快捷,并且很好的支持自定义搭建。它在开源社区还是很有活力的,虽然目前kubeadm目前还不能用于生产环境,但是伴随着kub...
2018-10-21 23:40:03
1593
原创 fatal: Path 'XXX' is in submodule 'XXX'错误
由于需求的原因,最近在修改Netron这个机器学习可视化网络的开源代码,并重新编译,但是在修改成功之后上传到本人的git仓库的时候却出现了fatal: Path 'XXX' is in submodule 'XXX'这样类型的错误。一开始的时候git push之后出现只能看到Netron这个文件夹,但是却看不到里面的文件(也就是文件没有push上去),然后git status查看状态的时候
2018-03-27 20:47:40
3012
原创 Kubernetes之Scheduler源码分析1.8.3
K8S的scheduler的主要作用是将用户申请的pods调度到合适的node节点上。具体的来说,就是它通过监听API server提供的watch等接口,获取到未调度的pods和node的相关信息,通过对node的筛选,选择出最合适的也就是优先级最高的node节点,将其与pods进行绑定,并将绑定的结果固化到etcd中去。下面就通过走读源码来详细解析一下scheduler的流程:schedu...
2018-03-23 12:19:52
1668
2
原创 kubernetes之CronJob介绍
在进行任务自动化的时候,Hadoop生态中有Oozie可以用来管理workflow,但是如果我们的任务是通过pod部署在了kubernetes上的话,我们就可以利用cronJob来进行job的定时与周期性的运行。CronJob是用来管理基于时间的Job,即:1 在给定的时间点运行一次Job2 周期性的在给定的时间点运行其中指定周期的字段为spec.schedul
2018-03-20 14:00:31
10897
原创 js实现自适应界面分辨率
最近由于业务需求需要进行前端的开发,所以,最近更新一下前端开发中所遇到的问题。首先最直接遇到的问题是,如果我们在css中将div的width和height写死的话,那么我们所遇到的问题就是当换一个不同的分辨率的显示器进行显示的时候,那么就会出现界面的样式不能适应当前分辨率的界面,所以,自适应是很重要的,javascript提供了很多功能我们可以很好的使用,话不多说,直接上代码:html代码:
2018-01-30 17:16:22
23203
5
原创 docker配置DNS解决办法
我们都知道Linux系统配置DNS的时候有一个问题,就是你在/ect/resolv.conf文件中添加上nameserver XXX.XXX.XXX.XXX的时候,当时是生效的,但是机器重启之后就失效了,所以我们可以通过配置Network的方法来解决,但是对于docker来说,它默认是映射主机的DNS,但是如果你想在docker镜像中加上非主机的DNS,也许这个方法就解决不了问题,但是对于dock
2018-01-11 19:04:34
36311
原创 ubuntu的docker镜像中安装ifconfig和ping命令
主要有三部:apt-get updateapt-get install net-tools 安装ifconfig命令apt-get install iputils-ping 安装ping命令
2018-01-02 15:03:40
4500
原创 OpenStack之Nova架构分析
在云平台的建设中,最重要的就是云平台资源的合理利用和部署的自动化,我们在搭建云平台的时候会虚拟出多个虚拟机来对外对内提供服务,但是如果将所有的服务器进行物理划分构建出来很多虚拟机让其一直开着会照成一些问题,如: 1. 资源的利用,也就是有的虚拟机比没有在使用,但还在运行 2. 部署的麻烦,也就是说我们按照计划的划分方法,创建出来计划个数的虚拟机,这样在人力上一定不是
2017-12-10 21:22:06
5448
3
原创 如何将anaconda+jupyter build成docker镜像
最近由于业务的需求,要build一个jupyter的image来提供服务,因为docker的轻量化可以很方便的迁移。下面来介绍一下我所做的操作,以及我踩的坑:首先来安装anaconda,有python2和3版本的,版本不同但是build的过程是一样的,有两种方式,第一种,你可以通过Dockerfile的方式来build image,但是在运行Anaconda2-5.0.1-Linux-x86_
2017-11-23 15:49:56
5952
4
原创 Kubernetes架构简介
Master节点 :api server:提供了集群管理的API接口,成为了集群中各个功能模块之间数据交互和通信的中心枢纽,并且拥有完备的集群安全机制,是整个集群的核心。Scheduler:主要负责pod的调度策略,主要作用是将调度的pod按照特定的调度算法和调度策略绑定到集群中的某个适合的node上,并将绑定信息写入etcd中。他也是通过监听API server来获取创建
2017-08-28 13:22:36
709
原创 Docker镜像压缩与优化
现如今docker如此受人追捧,主要是因为它的轻量化、可以快速部署以及资源的利用。但是一个docker images质量的好与坏,主要取决于Dockerfile编写的质量。同样功能的镜像,但是不同的Dockerfile build出来的镜像大小是不一样的,这是因为docker是由一层一层的只读层累积起来的,而这每一层就是Dockerfile中的每一条指令,所以Docker image的大小完全取决
2017-08-09 00:27:43
12592
3
原创 spark demo之wordcount和K-means
由于Scala的学习成本有些高,所以,以下的demo都是基于python的。Wordcount介绍作为类似于hello word一样经典的入门代码,wordcount主要是完成词频统计的,在spark框架中,它仍然是map和reduce两个步骤,但是代码的很简洁。代码如下:#!bin/lib/python import sysfrom operator imp
2017-08-08 00:12:45
744
原创 spark on yarn架构简介
spark自从问世以来就收到了广泛的关注,其热度一直居高不下。spark的出现,为实时数据的处理带来了极大的方便,相比Hadoop,spark在某些情况下处理数据的速度要快于Hadoop,其主要原因有以下两点:1. spark中间的数据不落地,这是最主要的原因,中间的数据存放在内存中,这就极大的减少了磁盘的读取以及IO的操作,所以,这也是spark适合迭代式工作的原因。2. spark中D
2017-08-08 00:05:10
2473
原创 配置ssh无密码登录docker container以及遇到问题的解决方案
我们利用的基础镜像是:centos7,所以在配置sshd的时候会遇见很多的大坑,很不幸,我已经全部踩到了。下面就来分享一下我的操作过程:大致的流程分为三步:1. 安装sshd-server并配置/etc/ssh/sshd.config文件2. 配置/root/.ssh/config文件以跳过验证IP的过程3. 启动sshd由于我们操作的是docker cont
2017-07-20 17:05:48
3019
原创 c++ 操作HDFS
如果由于业务需求无法用python、java以及命令行来操作HDFS,需要用c++的话,不用着急,libhdfs将是为你带来方便。Libhdfs是专门为c以及c++开发者提供的操作HDFS的API库,下面就是两个demo的介绍:向HDFS的文件中写数据从HDFS的文件中读数据向HDFS的文件中写数据 代码如下:#ifndef WRITE_H#define WR
2017-07-12 19:17:27
7849
3
原创 yarn简介
由于yarn的出现,导致Hadoop的发展从1.x版本到2.x版本经历了一个质的飞跃。Hadoop其基本结构式主从的模式,在1.x版本中,Hadoop框架对job的资源调度以及job的监督管理主要靠jobtracker,这样对于容错性以及可扩展性都有很大的影响,同时,在1.x的版本中,基本上只支持MR的编程模式,这样的局限性还是很大的。由于这些原因,yarn的横空出世还是让人眼前一亮的。
2017-07-10 14:49:19
1162
原创 Docker volume 挂载卷
最简单的hello world输出镜像的制作是最简单的开始,但是如果我们需要修改我们的运行代码,或者有输入输出文件的时候,我们就没有办法了,每一个container运行完毕后,其分配的资源以及文件系统都会消失,那么我们就需要在本地给docker container挂载一个卷,这样在container运行的时候,container的挂载点下的文件操作,也同样会影响到给container挂载的本地卷。
2017-06-30 14:54:46
11188
原创 Docker image创建之Hello world
虽然我们我们可以通过dockerpush从Docker的仓库下载一些我们需要的别人已经制作好的镜像,但是我们也有我们自己的需求,我们也希望可以定制一个属于自己的Docker image。 下面我们就来介绍一下如何利用Dockerfile来从零创建一个属于自己的Docker image。 1. 我们有一个脚本a.py 2. 我们如果想将这个脚本制作成D
2017-06-30 14:34:29
6919
1
原创 Docker简介
最近由于工作需要,开始接触Docker,以下就是我对Docker的部分理解,分享一下,如有不对的地方,请大家指教。 Docker是一个可以让开发者打包自己的应用以及依赖包到一个可移植的容器中然后发布到任何linux 机器上的工具,他可以很好的实现虚拟化,开发者可以很好的在Docker上对自己的应用成果进行管理。 Docker的应用场景: 1. 代码应用的
2017-06-29 22:51:35
330
原创 Cannot connect to the Docker daemon. Is the docker daemon running on this host?问题解决
初次使用Docker就遇上了Cannot connect to the Docker daemon. Is the docker daemon running on this host?这个问题,具体问题截图如下: 经过伟大的度娘总结出出现这样问题主要是两个方面: 1.用户的权限不够:需要切换到root用户或修改权限 2.docker servic
2017-06-28 23:10:12
1253
原创 Hbase之表的设计
最近,由于项目的需要开始接触Hbase,发现如果想要很好的利用Hbase存储和维护利用自己的海量数据,表的设计至关重要,一个好的表结构可以从本质上提高操作速度,直接决定了用户的get、put、delete等各种操作的效率。下面我就先介绍一下Hbase的基本表的构成。 Hbase的表是Key-Value的形式,这种结构很好的支持了查找等操作,表是由一个Row_key和一个个的列簇组成
2017-06-15 22:56:20
5336
3
原创 Hbase的NoServerForRegionException: Unable to find region for talk,,99999999999999 after 10 tries问题
第一次使用Hbase的java api来写程序就遇到了NoServerForRegionException: Unable to find region for talk,,99999999999999 after 10 tries这个问题,经过一系列的查询终于解决,下面就总结一下出现这个问题的解决办法,下面是错误信息: 很明显,错误信息提示的是找不到RegionServer的信息
2017-06-14 11:54:04
2367
原创 Hbase的Java API的利用(有关图片等数据的put和get)
Hbase是针对海量数据而生的,它的原型为bigtable,他可以用来存储各种格式的数据,我们对Hbase的操作常常是在Hbase的shell界面下利用指令对其操作的,但是这远远不能够满足我们的需求,所以,Hbase的Java API就得到了广泛的应用。其中,使用率最高的当属Put和Get,也就是在表中添加数据,和从表中查询数据。如果我们向Hbase中插入的数据是字符串的类型,那么我们直接通过Hb
2017-06-13 22:43:07
706
原创 Elasticsearch概念
Elasticsearch概念 Elasticsearch是一个基于ApacheLucene(TM)的开源搜索引擎。其概念可以描述为三点: 1)、分布式的实时文件存储,每个字段都被索引并可被搜索 2)、分布式的实时分析搜索引擎 3)、可以扩展到上百台服务器,处理PB级结构化或非结构化数据Elasticsearch集群 E
2017-06-11 21:58:21
304
原创 Hadoop benchmark测试及调参
Benchmark Job(hadoop测试) 在对本集群测试的过程中,我们用到了hadoop自带的测试函数,其中主要包括Teragen和Terasort两个方法。Teragen 该方法是用来生成随机数据的,其触发指令为: $hadoop jarxxx/xxx/benchmark.jar teragen -Dmapred.map.
2017-06-11 20:41:29
2404
原创 Hadoop之wordcount(Java 原生和Hadoop Streaming)
MapReduce示例:WordCount(Java原生) WordCount是hadoop最经典的一个词频统计方法,它很好的体现了MapReducede分合的思想,在集群中该方法的触发指令为: $hadoop jar xxx/xxx/wordcount.jar wordcount input_path output_path其中:·
2017-06-11 20:32:03
1259
原创 Oozie简介
Oozie之workflow Apache Oozie是运行在hadoop平台上的一种工作流调度引擎,它可以用来调度与管理hadoop任务,如,MapReduce、Pig等。那么,对于OozieWorkflow中的一个个的action(可以理解成一个个MapReduce任务)Oozie是根据什么来对action的执行时间与执行顺序进行管理调度的呢?答案就是我们在数据结构中常见的有
2017-06-11 20:22:57
1879
原创 Hbase简介
Hbase概念及其使用场景 Hbase是基于HDFS分布式存储的分布式数据库,它可以用于存储海量数据,有效的对海量数据进行增删改查操作。适用的场景主要包含两个条件:1.海量数据 2.多运用于增删改查操作。存储结构 Hbase组织表的结构为的形式,每一行的数据都会有一个row_key用作每一行的主键,这个row_key的大小限制为64KB,还会有一
2017-06-11 18:48:26
298
空空如也
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人