Centos7搭建分布式Postgresql集群(Citus MX)来处理地理数据(PostGIS)

本文的分布式Postgresql集群是通过citus扩展实现的,Citus是PostgreSQL的扩展(not a fork),采用shared nothing架构,节点之间无共享数据,由协调器节点和Work节点构成一个数据库集群。相比单机PostgreSQL,Citus可以使用更多的CPU核心,更多的内存数量,保存更多的数据。通过向集群添加节点,可以轻松的扩展数据库。
Citus支持新版本PostgreSQL的特性,并保持与现有工具的兼容 Citus使用分片和复制在多台机器上横向扩展PostgreSQL。它的查询引擎将在这些服务器上执行SQL进行并行化查询,以便在大型数据集上实现实时(不到一秒)的响应。
其实我了解到citus没几个月,当时因为程序不太支持Hive(后端的包没给对Hadoop的版本)就准备使用其他的数据库做数据仓库,几经抉择选中了Postgresql,而为了能支撑“大量”的数据就去找该数据库搭建集群的教程。
难受的是,Postgresql主从我几次折腾还是没能成功,虽然主从模式没有成功但功夫不负有心人让我找到了Citus。当时我只是基于测试的目的只在虚拟机上面搭建了一个简单的集群就搁置了,这不最近因为需要使用Postgis扩展来处理地理数据了,本来是打算使用OpenGauss搭建集群的,苦于arm架构下二进制包是openeuler系统的,暂时不得不使用Postgresql来解决问题了。

于是又只好对Citus进行一番测试了,苦于不能在实际的arm环境上面进行测试,下面的“教程”是在x86架构下进行的。。。。。。
继续阅读Centos7搭建分布式Postgresql集群(Citus MX)来处理地理数据(PostGIS)

危?网站好像被挂马了!


由于之前忘记把根域的调转到www忘记设置了,今天特意搜索了下site:cyzwb.com然后惊讶的发现貌似被挂码了的赶脚。只见原来正常的标题已经变成了恶意网站的垃圾标题,点击进去还是自己本体网站。点击查看快照发现是一片空白的页面,我一开始猜想可能和IP有关就换到服务器什么打开发现无法打开要把快照的地址改成https就能打开且是正常的快照。
心想不太对劲啊,于是在能打开但是是空白的快照页上面使用F12发现了一些端倪。
继续阅读危?网站好像被挂马了!

Centos7扩容根目录

貌似默认情况下Centos7给根目录分配的容量是50GB,在生产环境中太小了可能会出现一些奇奇怪怪的问题。在k8s中虽然已经将docker的目录挂载到数据盘了但是还是有些日志导致日常使用率超过80%,导致我要经常清理后来干脆搞个定时脚本清理了。。。
以前没得选,现在能让我选择得话我想给根目录分配大一点,可是还是不能如愿只能扩容了。
继续阅读Centos7扩容根目录

重新编译etcd以解决出现ETCD_UNSUPPORTED_ARCH警告

在github中的etcd已经有arm64的打包可供下载使用了,但是在使用时会有警告,就算是按照搜索到的设置了 export ETCD_UNSUPPORTED_ARCH=arm64 环境变量但是这不过是 running etcd on unsupported architecture arm64 since ETCD_UNSUPPORTED_ARCH is set 或者 etcd on unsupported platform without ETCD_UNSUPPORTED_ARCH=arm64 set 的区别而已。
直接执行etcd虽然会出现警告但是还是能运行起来可是使用service启动却会因为这个错误而不断重启。刚开始还在为难不知道要修改哪个文件时出现的一个提示让我快速的找到了文件。

继续阅读重新编译etcd以解决出现ETCD_UNSUPPORTED_ARCH警告

Arm架构安装Kubernetes(k8s)环境(Centos7)

在前面的文章中已经水了离线安装单主控的Kubernetes,虽然是单主控,但是对于多主控集群来说也至少把第一次安装生成的证书放置到其他主控节点才初始化就完事的了。同时也用自己拙略的技术写了一个引导式安装k8s的脚本,但是这一切都是x86架构的虽说都是在Centos7系统上安装的。
最近接触了Arm架构的服务器于是就有了在arm架构上安装的经验,本来我想安装当前yum源最新新的1.21.0的。但是由于自己暂时没有解决Cgroup Driver: cgroupfs的问题和初始化的yaml文件不知道要怎么写只能使用命令行初始化而暂时装回了1.14.0的版本应急了。
本次教程安装

Docker:
Server Version: 18.09.4
Operating System: CentOS Linux 7 (AltArch)
Architecture: aarch64
kubectl:
Client Version: v1.14.0
Server Version: v1.14.0
etcd:
etcd Version: 3.2.32
Git SHA: GitNotFound
Go Version: go1.13
Go OS/Arch: linux/arm64
继续阅读Arm架构安装Kubernetes(k8s)环境(Centos7)

没事别瞎升级dovecot,好像会破坏现有的邮局运行!

当看到这篇水文章的时候由于由于在前一篇文章中提到的将自建邮局的一些程序成功升级而飘飘然了手贱的执行yum update打算把dovecot、postfix等都升级一波的。。。。
继续阅读没事别瞎升级dovecot,好像会破坏现有的邮局运行!

Ewomail:更新PHP版本,修改Nginx端口等。。。。。。

在这之前我自建邮局的使用使用的是iRedMail,本来用着还好的特别是其可以选择使用SOGO的WebMail比较好看,但是却在某天因为部署所在的VPS服务商跑路了导致我丢失了数据等等。在后来想再次搭建的时候由于一直吃灰的机子配置太低只有512MB内存。看着iRedMail最低配置要求只能放弃再使用了,寻寻觅觅发现了Ewomail,这就解决了我自建邮局的需求了。

为什么自建邮局呢?因为域名邮箱,使用商业化的又不划算就自个玩玩的。。。

继续阅读Ewomail:更新PHP版本,修改Nginx端口等。。。。。。

Elasticsearch 7.11.2 只存储分词后的索引而不存储原始数据

将Word文档读取存入ES来方便查找某个关键词在那个文档,为了不使ES的数据过于庞大打算只储存分词后的索引而不存储原始数据。本来这是一个很简单的操作,可是搜索出来的好像不太对要不就是老版本的7.x版本的ES已经不支持这个字段了而难住了,但是功夫不负有心人在一顿瞎操作下成功了。
(⊙﹏⊙)主要是那个能使用的方案没有给出全部Json导致我错误理解了,为了方便下次使用特意水此一贴
继续阅读Elasticsearch 7.11.2 只存储分词后的索引而不存储原始数据

Kubernetes(k8s):更换集群IP网段,更新API Server证书(也可用于 Kubernetes APIServer 证书更新)

客户又又有更换网段的需求了,第一次接到要更换网段的时候已经更换了etcd集群已经无法启动了,由于当时技术有限只能通过重置的方式了。年后又又说要更换网段了,这次还好在更换前我已经知道了还能在etcd集群正常的时候更新里面的集群信息。

本来打算“在线”“无感知”迁移的,但是由于两个VLAN不能互通没办法只好在更新了etcd集群信息后等啊等那边的网管将网段切过去了。

继续阅读Kubernetes(k8s):更换集群IP网段,更新API Server证书(也可用于 Kubernetes APIServer 证书更新)