自定义博客皮肤VIP专享

*博客头图:

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

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

博客底图:

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

栏目图:

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

主标题颜色:

RGB颜色,例如:#AFAFAF

Hover:

RGB颜色,例如:#AFAFAF

副标题颜色:

RGB颜色,例如:#AFAFAF

自定义博客皮肤

-+
  • 博客(31)
  • 资源 (9)
  • 收藏
  • 关注

转载 k8s部署zookeeper集群 运行 ZooKeeper, 一个 CP 分布式系统

本教程展示了在 Kubernetes 上使用 StatefulSets,PodDisruptionBudgets 和 PodAntiAffinity 特性运行 Apache Zookeeper。准备开始在开始本教程前,你应该熟悉以下 Kubernetes 概念:Pods、Cluster DNS、Headless Services、PersistentVolumes、PersistentVolume Provisioning、StatefulSets、PodDisruptionBudgets、PodAnt

2021-01-30 13:08:57 2243

原创 k8s部署zookeeper集群 将ZooKeeper迁移到Kubernetes上

拥抱并取代:将ZooKeeper迁移到Kubernetes上本文介绍了HubSpot公司如何将主机上的ZooKeeper集群迁移到Kubernetes上。HubSpot是一家B2B的SaaS公司,成立于2006年。在8年的时间里,它从零起步,成长为一家收入超过1亿美金的大公司,并且于2014年成功上市。在数字营销领域,HubSpot的网站在全世界的流量排名是第五位,在 SMB(中小企业)SaaS 市场上,它确实做到了主宰一方。最近我们在完全没有downtime的情况下,将数百个ZooKeeper实例从单

2021-01-30 12:52:00 2237 2

原创 读书笔记:Kafka源码解析与实战——Kafka的架构

Kafka集群由若干个Broker组成,Topic由若干个Partition组成,每个Partition里面的消息通过Offset来获取。

2021-01-28 22:32:04 2214 3

原创 k8s部署kafka集群 方案收集

博客一一、概述在k8s里面部署kafka、zookeeper这种有状态的服务,不能使用deployment和RC,k8s提供了一种专门用来部署这种有状态的服务的API–statefulset,有状态简单来说就是需要持久化数据,比如日志、数据库数据、服务状态等。statefulset应用场景:稳定的持久化存储,即Pod重新调度后还是能访问到相同的持久化数据,基于PVC来实现稳定的网络标志,即Pod重新调度后其PodName和HostName不变,基于Headless Service(即没有Clus

2021-01-28 13:00:37 2366

原创 PostgreSQL数据库查询——scan.l分析

src/backend/parser/scan.l --> lexical scanner for PostgreSQL 该文件中的规则需要和psql lexer一致。Lex用来生成扫描器,其工作是识别一个一个的模式,比如数字、字符串、特殊符号等,然后将其传给Yacc。定义段定义段包括文字块(literal block)、定义(definition)、内部表声明(internal table declaration)、起始条件(start condition)和转换(translation)。

2021-01-26 23:21:38 2229

原创 Lex学习笔记——规范

lex是构建词法分析程序的工具,词法分析程序把随机输入流标记化(tokenize),即,将它拆分成词法标记。当编写lex规范时,可以创建lex匹配输入所用的一套规则。每次匹配一个模式时,lex程序就调用你提供的C代码来处理被匹配的文本。lex程序把lex规范转化为包含C例程yylex()的文件,程序可以调用yylex()来运行词法分析程序。lex规范lex规范由三部分组成:定义段、规则段和用户子例程段。定义段:处理lex用在词法分析程序中的选项,并且一般建立词法分析程序运行的执行环节。%%规则段:

2021-01-25 12:53:06 2378 2

原创 微服务概念

In short, the microservice architectural style is an approach to developing a single application as a suite of small services,each running in its own process and communicating with lightweight mechanisms, often an HTTP resource API. These services are buil

2021-01-23 13:08:41 2210

原创 Python入门之——Paramiko模块

简介ssh是一个协议,OpenSSH是其中一个开源实现,paramiko是Python的一个库,实现了SSHv2协议(底层使用cryptography)。有了Paramiko以后,我们就可以在Python代码中直接使用SSH协议对远程服务器执行操作,而不是通过ssh命令对远程服务器进行操作。由于paramiko属于第三方库,所以需要使用如下命令先行安装pip3 install paramiko。Paramiko简介paramiko包含两个核心组件:SSHClient和SFTPClient。SSHC

2021-01-23 13:05:36 2235

原创 GPkafka-Kafka数据导入GreenPlum实践

背景Kafka是分布式消息订阅系统,有非常好的横向扩展性,可实时存储海量数据,是流数据处理中间件的事实标准。当通过Kafka和greenplum搭建流处理管道时,如何高速可靠的完成流数据加载,成为用户最关心的问题。从5.10开始,Greenplum发布了新的工具GPKafka,为Greenplum提供了流数据加载的能力。GPkafka工具:kafka —> Greenplum一、安装准备kafka安装:版本为 kafka_2.11-2.1.0。 greenplum安装:版本为 5.16二、K

2021-01-23 12:28:40 2356

原创 Greenplum Stream Server(GPSS)介绍和安装配置

GPSS简介Greenplum Stream Server (GPSS)是一个ETL(提取、转换、加载)工具。GPSS服务器的一个实例从一个或多个客户机接收流数据,使用Greenplum数据库可读的外部表将数据转换并插入到目标Greenplum表中。数据源和数据格式是特定于客户机的。数据源和数据格式由客户端指定。Greenplum Stream Server包括gpss命令行工具。运行gpss时,会启动一个gpss实例,此实例无限期地等待客户端数据,还包括gpsscli命令行工具,这是一个客户端工具,用于

2021-01-22 12:55:24 2431

原创 HAWQ技术解析(五) —— 连接管理

服务器启动后,还要经过一系列配置,才能被客户端程序所连接。本篇说明如何配置客户端身份认证,HAWQ的权限管理机制,HAWQ最常用的命令行客户端工具psql及与mysql命令行常用命令类比,最后还将列举一些客户端连接HAWQ数据库的常见问题排查。一、配置客户端身份认证上一篇曾经提到,HAWQ系统初始安装后,数据库包含一个预定义的超级用户。这个用户和安装HAWQ的操作系统用户用户具有相同的名字,叫做gpadmin。缺省时,系统只允许使用gpadmin用户从本地连接至数据库。为了允许任何其它用户从本地或远程主

2021-01-21 23:05:16 2269

原创 openGuassDB介绍及安装实践

一、openGuass介绍openGaussDB(openGauss)是华为云深度融合在数据库领域多年的经验,结合企业级场景需求,推出的新一代企业级分布式数据库,支持集中式与分布式两种部署形态,内部实现采用pgxc架构。在支撑传统业务的基础上,持续构建竞争力特性,为企业面向5G时代的挑战,提供了无限可能。(来自华为云官方)。openGauss 于2019年9月19日正式开源,于2020年6月30日正式开放源代码,并成立openGuass社区。官方网站地址 https://opengauss.org。ope

2021-01-21 22:14:10 2455

原创 HAWQ技术解析(十八) —— 问题排查

(原文地址:http://hawq.incubator.apache.org/docs/userguide/2.1.0.0-incubating/troubleshooting/Troubleshooting.html)本章描写叙述怎样解决HAWQ系统中常见的错误和问题。一、查询性能问题问题:查询慢。原因:一个查询执行缓慢可能有多个原因。比如,数据分布的位置。虚拟段的数量。查询使用的主机数量等都可能影响查询性能。下面过程描写叙述怎样排查查询性能问题。一个查询不像预期执行的那么快。下面是怎样调查

2021-01-21 13:07:16 2395

转载 HAWQ技术解析(四) —— 启动停止

前面已经完成了HAWQ的安装部署,也了解了HAWQ的系统架构与主要组件,下面开始使用它。HAWQ作为Hadoop上的一个服务提供给用户,与其它所有服务一样,最基本的操作就是启动、停止、重启服务。要完成这些操作,需要适当的环境设置。下面就HAWQ管理的一些基础概念、操作环境、启动停止及其推荐的操作进行讨论。一、基础概念如果组织中能够做到系统管理与开发分离,那这部分内容严格说应该是HAWQ系统管理员所关心的。要利用好HAWQ集群,应该有一些Linux/UNIX系统管理、数据库管理系统、DBA和SQL等必备知

2021-01-21 12:58:43 2315

原创 HAWQ技术解析(三) —— 基本架构

HAWQ是一个Hadoop原生的SQL查询引擎,它结合了MPP数据库的关键技术和Hadoop的可扩展性。HAWQ在原生的HDFS上读写数据,MPP架构使HAWQ表现出超越其它SQL on Hadoop解决方案的查询性能,Hadoop又为HAWQ提供了传统数据库所不具备的线性扩展能力。一、HAWQ的架构在一个典型的HAWQ部署中,每个slave节点上会安装有一个HAWQ物理段,一个HDFS的DataNode和一个NodeManager。而HAWQ、HDFS和YARN的主机则安装在(与slave)分离的节点

2021-01-21 12:43:26 2292

转载 HAWQ技术解析(二) —— 安装部署

一、安装规划1. 选择安装介质HAWQ的安装介质有两种选择,一是下载源码手工编译,二是使用Pivotal公司提供的HDB安装包。源码的下载地址为 http://apache.org/dyn/closer.cgi/incubator/hawq/2.0.0.0-incubating/apache-hawq-src-2.0.0.0-incubating.tar.gz,目前最新版本是2.0.0。源码编译和安装Apache官方文档地址为 https://cwiki.apache.org/confluence/di

2021-01-19 23:11:41 2347 1

转载 HAWQ技术解析(一) —— HAWQ简介

一、SQL on Hadoop过去五年里,许多企业已慢慢开始接受Hadoop生态系统,将它用作其大数据分析堆栈的核心组件。尽管Hadoop生态系统的MapReduce组件是一个强大的典范,但随着时间的推移,MapReduce自身并不是连接存储在Hadoop生态系统中的数据的最简单途径,企业需要一种更简单的方式来连接要查询、分析、甚至要执行深度数据分析的数据,以便发掘存储在Hadoop中的所有数据的真正价值。SQL在帮助各类用户发掘数据的商业价值领域具有很长历史。Hadoop上的SQL支持一开始是Apac

2021-01-19 22:33:33 2371

转载 PMDK(Persistent Memory Development Kit)及其应用场景

PMDK及其应用场景PMDK 的全称是 Persistent Memory Development Kit,它包含了 Intel 开发的一系列旨在 方便非易失性内存的应用开发的函数库和工具。PMDK 是一个还在快速发展变化的新鲜事物,不过版本的迭代更新等很多信息都可以公开看到[1]。需要注意的是,PMDK 的网站入口[2] 和 Git 仓库的入口[3]不是严格的一一对应关系。实际上,PMDK 的 Git 仓库 [3] 中包含了 libpmem、libvmem、libpmemblk、libpmemlog、

2021-01-17 20:03:10 2503

原创 Greenplum数据库集簇初始化——BKI概述

数据初始化内部流程:bootstrap模式实现了一个特殊的语言用于解析BKI数据,语言的法语解析器会逐个token处理,遇到一个语法子句就调用相应的函数:遇到proname,创建字段属性;遇到name,创建字段类型;遇到Insert,插入一个tuple,tuple里面又是该tuple的每个字段的值,所以遇到值时InsertOneValue,整个tuple字段值都处理完后,执行InsertOneTuple插入一个tuple。BKI文件BKI文件本身由genbki.pl在编译和安装时创建,该Perl脚本解析

2021-01-17 19:28:49 2402

原创 Greenplum数据库开发调试入门

安装依赖包安装Greenplem管理脚本依赖的Python包wget https://bootstrap.pypa.io/get-pip.pysudo python get-pip.pysudo pip install psutil lockfile paramiko setuptools epydoc pygresql 安装依赖包sudo yum groupinstall 'Development Tools' # GCC, libtools etcsudo yum install cur

2021-01-17 19:02:52 2471

原创 Greenplum Python专用库gppylib学习——base.py

Controller-Worker架构模式辅助说明:Controller-Worker是一种组合架构模式,Controller基于Client的参数动态生成Woker数量,并控制Woker的生命周期,如创建和终止。Controller属性Controller事先知道自身拥有的Woker类型。Controller依赖一个工作任务池,通过工作任务池Controller监控整体任务执行情况。Worker属性Worker并行消费工作任务池中任务,并把执行结果返回到任务池中。Worker彼此间没有任

2021-01-17 18:22:52 3390 5

转载 Golang入门之——cobra包

Cobra 是一个 Golang 包,它提供了简单的接口来创建命令行程序。同时,Cobra 也是一个应用程序,用来生成应用框架,从而开发以 Cobra 为基础的应用。本文的演示环境为 ubuntu 18.04(下图来自互联网)。cobra 的主要功能如下,可以说每一项都很实用:简易的子命令行模式,如 app server, app fetch 等等完全兼容 posix 命令行模式嵌套子命令 subcommand支持全局,局部,串联 flags使用 cobra 很容易的生成应用程序和命令,使用

2021-01-13 21:59:43 2621

原创 Greenplum数据库集簇初始化——Initdb概述

Greenplum如何从无到有?Greenplum使用PostgreSQL的初始化机制来初始化集群,PostgreSQL使用initdb创建一个PostgreSQL实例。initdb从无到有创建单个空的可用的PostgreSQL数据库,也就是在一个空的目录中创建PostgreSQL运行所需要的所有文件,包括全局数据字典、控制文件和三个数据库:template0、template1、postgres。由于PostgreSQL自身历史的原因,先创建template1数据库,然后拷贝整个目录成为另外两个数据库。为

2021-01-13 13:11:14 3357 2

原创 Greenplum概念学习——在线扩容工具Gpexpand

Gpexpand是Greenplum数据库的扩容工具,可以为集群增加新节点从而可以存储更多的数据,提供更高的计算能力。Greenplum 5及之前,集群扩容需要停机增加新节点,然后对表数据做重分布。因为集群大小已经改变,所以重分布之前要先将所有哈希分布表改成随机分布,然后再按照新的集群大小重新计算哈希值并重新分布。所以,旧的扩容技术存在如下几个问题:需要停机,集群无法在扩容期间提供服务。数据重分布过程集群性能差。随机分布表因为不能确定数据分布规律,无法对查询做优化。虽然表的重分布可以并行进行,但是扩

2021-01-12 23:30:46 2589

原创 Greenplum概念学习——节点分布模式:grouped、spread

greenplum的两种节点分布模式(6台主机,每台4个segment,两两primary、mirror)①grouped mirror模式:(grouped模式,主机的mirror节点全部放在下一个主机上)②spread mirror模式: (spread模式,主机的第一个mirror在下个主机,第二个mirror在次下个主机,第三mirror在次次下个主机…)初始化的mirror模式:1)初始化为grouped模式在部署配置gp的过程中,执行初始化命令:gpinitsystem ,默认的

2021-01-12 23:16:05 2605

原创 Greenplum Python专用库gppylib学习——GpArray

self.master GpDB实例self.standbyMaster GpDB实例self.segments = [] Segment实例列表Segment类class Segment: primaryDB=None #primary (GpDB实例) mirrorDBs =None def __init__(self): self.mirrorDBs = [] #mirror (GpDB实例) pass def addPri

2021-01-12 22:49:31 2668 2

原创 root用户忘记密码的重置方法

启动时在选择启动内核,按下e,修改如下项,进入救援模式在linux 16这行将ro改为rw删除rhgb quiet,增加init=/sysroot/bin/sh(指定shell环境或/bin/bash)按下ctrl +x进入系统紧急模式访问根系统 chroot /sysroot修改root密码 password root更新系统信息 touch /.autorelabel退出exit重启 reboot...

2021-01-10 12:29:39 3903 5

转载 OpenSSH概念和基本用法——SSH 客户端

由于在分布式数据库运维过程中进行脚本自动化必然会涉及SSH登录工具,故摘抄此篇文章以供学习之用。SSH 是 Linux 系统的登录工具,现在广泛用于服务器登录和各种加密通信。本教程介绍 SSH(主要是它的实现 OpenSSH)的概念和基本用法,也可以当作手册查询。SSH(Secure Shell 的缩写)是一种网络协议,用于加密两台计算机之间的通信,并且支持各种身份验证机制。它主要用于保证远程登录和远程通信的安全,任何网络服务都可以用这个协议来加密。SSH 是什么历史上,网络主机之间的通信是不加密的,

2021-01-04 23:59:47 3581

原创 Python入门之——pexpect模块

pexpect可以理解为Linux下的expect的Python封装、通过pexpect可以实现对ssh、ftp、passwd、telnet等命令行进行自动交互,而无需人工干涉来达到自动化的目的。比如我们可以模拟一个FTP登录时所有交互,包括输入主机地址、用户名、密码、上传文件等,待出现异常还可以进行尝试自动处理。pexpect的核心组件下面介绍pexpect的几个核心组件包括spawn类、run函数及派生类pxssh等的定义及使用方法。spawn类spawn是pexpect的主要类接口,功能是启动

2021-01-04 13:08:43 2776

原创 Python入门之——getpass模块

getpass模块提供了平台无关的在命令行下输入密码的方法; 该模块主要提供:两个函数: getuser, getpass一个报警: GetPassWarning(当输入的密码可能会显示的时候抛出,该报警为UserWarning的一个子类)备注: 上面为密码显示时抛出的报警getpass.getuser()该函数返回登陆的用户名,不需要参数该函数会检查环境变量LOGNAME,USER,LNAME 和USERNAME, 以返回一个非空字符串。如果这些变量的设置为空的话,会从支持密码的数据库中

2021-01-01 21:11:49 2876

原创 Python3入门之——optparse模块

Python 有两个内建的模块用于处理命令行参数:一个是 getopt,《Deep in python》一书中也有提到,只能简单处理 命令行参数;另一个是 optparse,它功能强大,而且易于使用,可以方便地生成标准的、符合Unix/Posix 规范的命令行说明。示例下面是一个使用 optparse 的简单示例:from optparse import OptionParser [...] parser = OptionParser() parser.add_option("-f", "

2021-01-01 20:49:22 2908

嵌入式系统 硬件与软件架构

书中涵盖了嵌入式系统的各个方面,内容分为4个部分:第一部分包括嵌入式系统的基本介绍以及一些必备的知识;第二部分介绍嵌入式硬件,包括处理器、存储器、I/O以及总线;第三部分是关于嵌入式软件的介绍,包括设备驱动、操作系统及中间件和应用软件;第四部分介绍了嵌入式系统的设计与开发。此外,书中还包括大量图和计算机代码,帮助读者理解嵌入式系统的理论知识。

2019-01-18

实时碰撞检测算法技术

本书详细阐述了与碰撞检测问题相关的高效解决方案及相应的数据结构和算法,主要包括:碰撞检测系统中的设计问题、数学和几何学入门、包围体、基本图元测试、层次包围体技术、空间划分、BSP树层次结构、凸体算法、基于GPU的碰撞检测、数值健壮性、几何健壮性以及优化操作。另外,本书还提供了相应的算法、代码以及伪代码,以帮助读者进一步理解计算方案的实现过程。

2019-01-21

信息可视化 交互设计

本书是英国著名信息可视化专家Robert Spence教授的代表作,也是世界范围内信息可视化领域最为经典的教材之一。该书结构清晰,内容丰富,案例翔实,系统地介绍了信息可视化的概念、技术和应用。通过本书的学习,读者可以了解信息可视化的基本概念和知识,同时培养可视化和交互设计的基本技能。

2019-01-21

GPU Pro 7 - Advanced Rendering Techniques

游戏开发、计算机图形学和渲染领域的业界大牛们优秀经验的分享合辑汇编,是江湖各大武林门派绝学经典招式的精华荟萃,可谓游戏开发、图形学和渲染领域进阶知识精彩绝伦的饕餮盛宴。

2019-01-18

qttest.rar

博客Qt Creator源码分析系列——UI界面:FancyActionBar类,附带测试的代码。主要是从Qt Creator源代码中剥离出的一些关于界面的代码进行测试和分析。

2020-02-21

HTML入门教材

入门级别的html教材,帮助新手快速入门

2015-01-25

DVCC-8086实验指导书

DVCC-8086实验指导书 计算机实验箱实验手册及具体电路

2015-07-10

经典算法大全

c语言算法大全,适合新手提升自我的书籍,真的就只能说这模多了

2014-11-18

时间触发嵌入式系统设计模式

时间触发嵌入式系统设计模式 使用8051系列微控制器开发可靠应用

2018-02-04

空空如也

空空如也

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

TA关注的人 TA的粉丝

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