openGauss极简版安装使用
openGauss是GaussDB的开源版,从官网下载即可。
这里只是为了测试一些基本功能,所以只下载了极简版。下面记录下安装步骤和遇到的问题。
部署GaussDB安装不能用root用户,先新建一个专用用户gaussdb,执行命令groupadd gaussdb && useradd -d /home/gaussdb -m gaussdb -g gaussdb解压安装包,执行命令tar -jxvf openGauss-2.0.0-CentOS-64bit.tar.bz2 -C gaussdb-2.0.0然后进入simpleInstall目录,执行sh install.sh -w xx命令进行安装。
如果上述流程正常,则GaussDB安装初步完成。但是我没有这么顺利,遇到些问题。
问题1执行install.sh命令时,报错SEMMNI参数设置不对,错误信息如下:On systemwide basis, the maximum number of SEMMNI is not correct. the current SEMMNI value is: 128. Pleas ...
姗姗来迟的果实
2021年也接近一半了,过去的2020年对谁都是不平凡的一年,对我尤是。2020年在各位编辑老师的帮助下,对书进行了微调,终于在2021年要跟读者见面了,虽然整个战线由于疫情原因被拉了很长,但现在心里依然很激动。
这是一本关于Hadoop 3的书,书的名字叫《Hadoop 3实战指南》
其实本书按原先的计划是打算在2020年跟大家见面的,当时国内并没有关于Hadoop 3的相关书籍,而当时正在搞一些Hadoop 3的事情,所以我就打算把自己对Hadoop 3的理解以及工作之后在从事Hadoop相关工作时积累的经验分享给大家,所以就有了这本书,由于本人能力有限,书中难免会有理解不到位的地方,请各位大佬帮忙指正。
本书长这个样子,预计5月份在各大电商开售。
本书目录:第1章 Hadoop 1.1 简介 1.1.1 Hadoop 1.0 1.1.2 Hadoop 2.0 1.2 Hadoop 3.0 1.3 阅读 Hadoop 源码 1.3.1 单元测试 1.3.2 断点调试代码 1.4 小结第2章 HDFS ...
坑娃-防沉迷App
猿爸:屁孩,已经看了很长xx了,该让眼睛休息下了。屁孩:不情不愿的关了,去玩别的。很和谐是不是?当你不在家的时候,屁孩就没这么乖了,是不是,认同不?这时就需要有一个强势的“人”来阻止他,这个可别奢望老人来阻止他,于是只能让“机器人”来搞了。
于是搞了个App,名字叫坑娃神器(不知道若干年后,屁孩看到这个文章心里是什么滋味。。。),功能比较简单,就是监控指定app的活动状态,如果连续运行一段时间,坑娃神器就会自动从后台切到前台进行倒计时,倒计时结束之后可以继续娱乐。
这个App目前只是处于原始社会版,希望有能力的猿爸们加入,我们一起将其完善,帮助下一代养成一个好的自律能力,此App已在github上开源,欢迎贡献,项目地址https://github.com/hunshenshi/timeup.git
调研–准备工作找了下目前市面已有的工具和一些手机自带的健康使用的功能,不太满足我的需求,1、大多数都是限制每天累计使用时长,而我希望每使用一段时间就休息一会,而不关注累计时长2、由于市面上都是一些面向广大用户的产品,达到时长之后会有提示,而不会有更激烈的行为。而我的需求强硬,再强硬(反 ...
elasticsearch运维踩坑
接触ES也小半年了,ES虽然使用方便,运维简单但是集群规模和数据量大的话运维也很头疼,这里梳理下这半年的运维经验。
磁盘坑集群随着使用,数据会积累越来越多,磁盘消耗也会越来越大,此时为了保护某个磁盘被写满,需要给磁盘设置阈值,配置项为:
123456# 磁盘使用超过此值,将不再接受shard的均衡,只接受主shard的写入cluster.routing.allocation.disk.watermark.low# 磁盘使用超过此值,磁盘上的shard开始向其他磁盘迁移,释放磁盘空间cluster.routing.allocation.disk.watermark.high# 磁盘使用超过此值,节点将不再提供服务cluster.routing.allocation.disk.watermark.flood_stage
配置项值的默认形式是百分比,也可以是绝对值。如果集群进行了扩容,各个机器的磁盘大小不一,此时依然使用百分比的话对磁盘大机器就会造成存储空间浪费,将百分比改为绝对值可以充分使用各个不同大小的磁盘。
shard重新分配集群中某个DataNode实例挂掉或者集群中某个磁盘的使 ...
golang指针*和取址&傻傻分不清楚
golang中有指针的概念,有指针相对的就有取址,何时使用指针何时使用取址对于刚接触的同学总是有点傻傻分不清楚。本篇主要介绍下指针和取址的概念和区别。
指针类似于变量和常量,在使用指针前你需要声明指针。指针声明格式如下:var name *Type。指针是指向一个值的内存地址,也就是说指针变量存放的是某个值或者对象的内存地址,即指针变量占用字节的大小与所指向的值的大小无关。当一个指针被定义后没有分配到任何变量时,它的默认值为nil。
指针变量存放的是一个值的内存地址,那如何获取一个变量的内存地址呢?那就需要使用取址符号&。将一个值的内存地址通过&赋值给了指针,那又应该如何通过指针来读取对应的值?需要使用符号*,需要与指针声明时的*进行区别。
看个代码感受下吧,代码如下:
1234567891011121314151617181920212223242526import ( "fmt")func main() { // 声明一个指针 var addr *string var house = "Malibu Point 10880 ...
golang随波逐流之cache2go知识点解读
上篇介绍了cache2go的代码逻辑,梳理代码逻辑时也能从中了解golang的一些语法以及使用技巧,本篇集中将源码中涉及到的知识点梳理下。
基础语法
结构体
在mycachedapp.go文件中,看到的第一行有效代码是type myStruct struct,感觉有点像C语言中的结构体。这个语句块定义了一个结构体,结构体是golang中一个比较重要的知识点,功能类似于JAVA中的类。
使用type xName struct{}定义一个结构体,mycachedapp.go中结构体相关的代码如下:
123456type myStruct struct { text string moreData []byte}// 实力化myStruct的对象val := myStruct{"This is a test!", []byte{}}
上述代码声明了一个名字为myStruct的结构体,其成员变量为string类型的text和byte类型的数组moreData。紧着这初始化了一个m ...
golang随波逐流之cache2go源码解读
想学习golang了,工作中又接触不到,基础语法一看全明白,真到用的时候却是瞪眼瞎,怎么办?可以找简单的开源项目,看下源码,看看这些语法的常用方式,并且也可以自己尝试着去自己实现下。cache2go就是一个比较简单的项目,也是初学者必撸的项目了吧。本篇是我梳理cache2go的学习笔记。
cache2go概览cache2go是用Go实现的并发安全的缓存库,主要功能有:
并发安全
缓存命中次数
缓存过期
项目目录结构如下:
12345678910111213141516xx/cache2go├── LICENSE.txt├── README.md├── benchmark_test.go├── cache.go├── cache_test.go├── cacheitem.go├── cachetable.go├── errors.go└── examples ├── callbacks │ └── callbacks.go ├── dataloader │ └── dataloader.go └── mycachedapp └─ ...
Flink window解密
近几年流处理简直火的一塌糊涂,Flink也在阿里的推广下逐渐成为业界主流,正在逐步取代Storm和Spark Streaming。Flink天生就是为了处理流,而且相对于其他流处理框架集成了很多实用功能,比如状态管理;Flink还丰富了window的功能,使window也成为了Flink的一个特色。本篇主要对window从多种角度进行解密,主要包括:
何为window
如何使用
如何实现
各组件原理
在解密window之前,简单介绍下何为流处理?
流是指一种源源不断的形态,流处理是一种被设计来处理无界数据集的数据处理系统引擎,无界的数据集是指没有边界,数量上是无穷的一类数据集。Flink将流处理总结为四个单词: what where when how
what – What results are calculated(计算的结果是什么)
where – Where in event time are results calculated(在事件时间中的哪个位置计算结果)
when – When in processing time are results mater ...
golang新手入门
Go开发环境配置 选择操作系统对应的版本,可以直接下载安装包进行一键安装,也可以下载tar/zip包进行自定义安装。自定义安装时需要在环境变量中指定GOROOT和GOPATH,GOROOT是tar包的解压目录,GOPATH是Go工程项目目录,这里不仅存储这自己开发的项目也存放着项目所依赖包的源码及二进制文件。
Go项目目录 使用某种编程语言或者某个编程框架开发的项目都有自己特有的目录结构,所以学习一门新语言或者编程框架时要先熟悉其项目的工程目录结构。Go的工程目录是一个层级目录,第一层有两个目录bin和src两个目录,bin文件中存放的是Go编译之后的可执行文件,src文件夹中存放的都是项目源文件,项目的目录结构可根据代码功能进行划分。Go工程项目结构样例如下:
1234567891011121314151617181920bin/ hello # command executable outyet # command executablesrc/ g ...
YARN Capacity Scheduler
这是一篇译文,原文地址
主要介绍了Capacity Scheduler相关的内容。
Capacity Scheduler在资源分配时主要考虑两个主要属性:用户名和应用程序ID。在指定最小用户百分比和用户限制因素的队列中,用户之间共享资源时,关注的是用户名本身。在队列中,应用程序获取资源分配由叶子队列排序策略驱动:FIFO或FAIR,它只关心应用程序而不关心哪个用户正在运行它。在FIFO中,资源首先被分配给队列中最先提交的应用程序,并且只有当它不再需要任何请求时,下一个应用程序才会获得分配。对于使用最少资源的FAIR应用程序,首先询问是否存在待处理的分配,如果存在则分配,则如果不存在,则检查具有最少资源的下一个应用程序;这有助于与通常使用它们的应用程序平均共享队列。
容量和分层设计YARN对其可分配的资源定义了最小分配量和最大分配量,目前这些资源包括内存和内核。可调度资源是由NodeManage提供的,来自所有节点的资源聚合为可被Capacity调度的总资源,总资源组成root队列。
Capacity调度的基础设置是如何布置队列以及为它们分配资源。队列以分层设计布局,最顶层的父节 ...