当前位置: 首页 > article >正文

数据库管理-第120期 初探Halo数据库(202301201)

数据库管理-第120期 初探Halo数据库(202301201)

12月份正好也是第120期,新的一篇文章,尝试一条新的路线。其实吧,Halo(羲和)这个数据库我较早时间就听说过(早于今年DTCC,通过数据库圈某能做数据库内核算法层的大佬)。而更加深入的了解主要是上周SACC上海站向量数据库专场主持人正好是来自于孕育Halo数据库的易景科技合伙人兼CTO章晨曦老师,对Halo数据库有了进一步稍微深入的了解,本期就将我的第一次国产数据库文章献给Halo。(下面来一个章总帅气的出场,不含我)
在这里插入图片描述

Halo简介

Halo羲和数据库,源自于杭州易景数通科技有限公司,是一个基于PostgreSQL,以解决实际问题为导向的高性能高可用易用型数据库。其余详尽介绍可以登录官网查看,本次也是很荣幸从章总那里拿到了数据库的安装介质,本期主要是完成Halo数据库的安装,对比一下主流数据库的安装难易度。

Halo安装

环境与版本

主机名操作系统IP地址数据库版本
halo201CentOS 7.9192.168.19.201Halo 14

操作系统配置

  1. 关闭防火墙
systemctl stop firewalld.service 
systemctl disable firewalld.service
  1. 关闭SELinux
sed -i 's/^SELINUX=enforcing$/SELINUX=disabled/' /etc/selinux/config
setenforce 0
[reboot]
  1. 安装依赖包
yum -y install iproute bind iptables which sudo sysstat ftp make cmake gcc uuid uuid-devel bison flex perl perl-devel python-devel readline readline-devel libxml2 libxml2-devel iotop tcpdump strace gdb systemtap net-tools xdpyinfo libstdc++-devel gcc-c++ kshuuid-devel libaio libaio-devel libX11 libXau libXi libXtst libXrender libXrender-devel libgcc libstdc++ libstdc++-devel libxcb make smartmontools zlib-devel tcl glibc glibc-devel openssl openssl-devel bc binutils nfs-utils perl-ExtUtils-Embed zstd zstd-devel libcurl libcurl-devel lz4 lz4-devel libicu libicu-devel autoconf
  1. 创建用户及用户组
groupadd -g 3000 halo
useradd -u 3000 -g halo halo
  1. 修改系统参数
vim /etc/sysctl.conf
kernel.sem = 4096 4194304 32768 1024

sysctl -p
  1. 修改用户资源限制
vim /etc/security/limits.conf
halo soft nproc unlimited
halo hard nproc unlimited
halo soft nofile 1024000
halo hard nofile 1024000
halo soft stack unlimited
halo hard stack unlimited
halo soft memlock unlimited
halo hard memlock unlimited
halo soft core unlimited
halo hard core unlimited

安装Halo数据库

  1. 创建目录
mkdir -p /u01/app/halo
chown -R halo:halo /u01/app/halo
  1. 上传安装介质并解压
[halo_14.el7.x86_64.build231130.tar.gz]
tar zxf halo_14.el7.x86_64.build231130.tar.gz -C /u01/app/halo/

压缩包已包含数据库license(这里为内部版本,正式版应以实际使用版本为准)
在这里插入图片描述
(这官方建议的安装路径和解压路径,是不是有点那么个似曾相识的赶脚)
3. 配置halo用户环境变量

vim ~/.bash_profile
export HALO_HOME=/u01/app/halo/product/dbms/14
export LD_LIBRARY_PATH=$HALO_HOME/lib
export PGHOST=/var/run/halo
export PATH=$HALO_HOME/bin:$PATH
  1. 验证安装版本
pg_ctl -V

在这里插入图片描述
(又是另一种似曾相识)
5. 创建进程路径
默认路径/var/run/halo,如不存在需要手工创建

mkdir /var/run/halo
chown halo:halo /var/run/halo

#重启后/var/run目录下内容会被自动清理,因此可以通过以下方式实现开机后创建对应目录
vim /etc/rc.local
/usr/bin/mkdir /var/run/halo
/usr/bin/chown halo:halo /var/run/halo

chmod +x /etc/rc.d/rc.local
  1. 创建数据目录
mkdir -p /u01/app/halo/data/halo
chown -R halo:halo /u01/app/halo/data

(文档写的/data/halo,我想让似曾相识继续下去)

  1. 初始化数据库
pg_ctl init -D /u01/app/halo/data/halo

在这里插入图片描述
8. 启动数据库

vim ~/.bash_profile
增加
export PGDATA=/u01/app/halo/data/halo

pg_ctl start

在这里插入图片描述
9. 查看数据库版本

psql
select version();

在这里插入图片描述
至此,Halo数据库安装完成,后续配置和基本测试还需要继续摸索。

总结

从安装步骤来看,Halo数据库安装的难度和MySQL、PostgreSQL等开源数据库二进制部署方式类似,并没有太难。
老规矩,知道写了些啥。


http://www.kler.cn/news/161954.html

相关文章:

  • vue的props
  • git 本地有改动,远程也有改动,且文件是自动生成的配置文件
  • 【vuex】
  • 探索Vue小程序框架的底层原理
  • WPF Mvvm模式下面如何将事件映射到ViewModel层
  • lambda技巧之—如何在有多个判断分支的情况下,还能优雅的使用auto ?
  • Gee教程5.中间件
  • 微信小程序动态加载图表[echart]
  • 假设检验(三)(单侧假设检验)
  • MongoDB日期查询详解
  • 【DevOps】Jenkins:配置jenkins 流水线/多分支流水线任务构建成功通知企业微信@相关人(二)
  • [GPT-1]论文实现:Improving Language Understanding by Generative Pre-Training
  • 【CSP】202303-1_田地丈量Python实现
  • CSS3 属性: transition过渡 与 transform动画
  • 用CHAT写一篇小短文
  • okhttp3 的简单使用
  • 类和对象,this指针
  • 通过51单片机控制28byj48步进电机按角度正反转旋转
  • 数据结构练习——素数统计
  • Redisson配置
  • 【STM32】TIM定时器输入捕获
  • WordCount 源码解析 Mapper,Reducer,Driver
  • 【环境搭建】ubuntu22安装ros2
  • 麒麟KYLINOS操作系统修改GRUB字体大小
  • lodash常用方法
  • 2023.12.1 --数据仓库之 拉链表
  • ⭐Unity 搭建UDP客户端(01) 配合网络调试助手测试
  • BUUCTF-[GYCTF2020]FlaskApp flask爆破pin
  • Docker入门:容器化原理
  • Clean 架构下的现代 Android 架构指南