
姜殿斌老师在OGCA的培训课程中,曾经展示了基于VMWare虚拟机安装的openEuler系统,这不禁使得装过CentOS 7.6( https://www.modb.pro/db/111793)和CentOS 7.9(源码安装 https://www.modb.pro/db/111827 )的张小白感起兴趣来,一心想在openEuler系统上安装openGauss。
然而,openEuler系统的安装并非那么如意,张小白曾在 https://bbs.huaweicloud.com/forum/forum.php?mod=viewthread&tid=174571&ordertype=2&page=1 写过一篇安装openEuler 20.03 LTS SP2 的帖子,还是遇到了一些尚未解决的坑。
所以,张小白就把战线拉到 openEuler 21.09上来,只是希望新的版本能够解决旧版本的一些BUG。
打开 https://www.openeuler.org/zh/download/

点击下载:

选择ISO:

选择x86_64:

选择openEuler-21.09-x86_64-dvd.iso

耐心等待iso文件下载完毕。
打开VMWare,选择创建新虚拟机,选中前面的iso文件:

下一步:

下一步:

选择CPU:4核

选择内存:8G

使用NAT:

下一步:

下一步:

下一步:

分配磁盘32G:

下一步:

完成:

开启虚拟机:

进入安装画面:

选择第一行:Install openEuler 21.09

等待系统进入图形化安装界面:

。。

选择中文:

进入安装信息界面:

点击安装目的地:

选中磁盘后,点击完成:

点击用户设置-》根密码:

按以上方法输入,点击完成:

创建用户zhanghui:(此时其实可以选择管理员用户,但是当时张小白没选择,所以后来将其加入了sudouser里面了)

点击完成:

点击开始安装:

耐心等待安装完毕。

点击重启系统,可以进入字符终端环境:

输入root和口令登录:

将zhanghui 改为sudo用户:

网络好像还没通,先设置网卡:
nmcli connection up id ens33

已经可以ping通了。但是没有ifconfig命令,需要安装nettools
切换到zhanghui用户:
sudo duf update

好像出错了,仔细看了一下:

EPOL下还多了一层main的目录,所以修改 /etc/yum.repos.d/openEuler.repo文件:

把EPOL的配置加一层main的目录,再重新yum makecache:

安装net-tools:

查看下本机IP:192.168.219.129

使用MobaXterm连接openeuler服务器:

有了MobaXTerm,可以复制粘贴什么的,安装openGauss应该会容易些了。
检查CPU,内存:

还是换成root执行吧,不然每次都要sudo输入密码。
修改/etc/host:

关闭防火墙:

关闭selnux:

允许root远程登陆,关闭banner:

验证:

设置字符集:

设置时区和时间:

修改内核参数:


sysctl -p生效:

(跟CentOS安装略有不同的是,有些参数貌似在openEuler里面找不到,但是不要紧,我们先忽略这些。。。)
修改资源限制:

关闭remoteIPC:
修改 /etc/systemd/logind.conf:

修改 /usr/lib/systemd/system/systemd-logind.service

重启,检查修改是否生效:

检查软件包:

好像差很多包,那就全装吧:

yum install -y java-1.8.0-openjdk* psmisc bzip2 python3 python3-devel

。。。

yum install libaio-devel flex bison ncurses-devel glibc-devel patch readline-devel


再次检查:

检查SCTP驱动是否支持:

重启机器
reboot
重启之后网卡地址好像又没有IP了,重来 nmcli connection up id ens33:

再用MobaXTerm登陆:

下载openGauss 2.1.0软件包:

记得需要下载openEuler的x86_64版本的,别下错了:

将下载的openGauss-2.1.0-openEuler-64bit-all.tar.gz传到服务器上:(有MobaXTerm,传输文件也显得格外方便)


解压all的tar.gz包,发现没有tar命令,那就装个tar:

重新解压all的tar.gz包:

再解开已经被解开的om的tar.gz包:(有点像套娃的味道了。。。)

编辑cluster_config.xml文件:

注意nodeNames的值跟hostname修改的一致,IP地址跟实际的IP地址一致。(后面安装时会发现这个配置文件还是配的有问题)
修改环境变量:

试着预安装一下:

说需要Python 3.7.*才行
但是现在里面是Python 3.8.5

所以张小白决定安装anaconda:
wget https://repo.anaconda.com/archive/Anaconda3-2021.11-Linux-x86_64.sh

sh ./Anaconda3-2021.11-Linux-x86_64.sh

输入yes继续:


执行~/.bashrc

创建conda的python3.7的环境,就选择张小白最熟悉的Python3.7.5吧:
conda create -n py37 python=3.7.5

按Y继续:

进入conda环境:
conda activate py37

重新执行预安装:

hostname忘记改了:

而且cluster_config.xml也配的不对应:

再重来:

终于成功了(密码是omm123)
检查一下安装环境:
/opt/software/openGauss/script/gs_checkos -i A -h node1 --detail

修改目录权限,切换到omm用户:

执行安装:
gs_install -X /opt/software/openGauss/script/cluster_config.xml \
--gsinit-parameter="--encoding=UTF8" \
--dn-guc="max_connections=1000" \
--dn-guc="max_process_memory=3GB" \
--dn-guc="shared_buffers=128MB" \
--dn-guc="bulk_write_ring_size=128MB" \
--dn-guc="cstore_buffers=16MB"

难道这个libreadline.so.7没有吗?
张小白找了一下:

就在刚才安装好的conda目录里面,那就将这个路径也加到 /etc/profile的LD_LIBRARY_PATH中吧:

同时,将root下的~/.bashrc下的conda环境的相关语句拷贝到omm用户下:

再将/root/anaconda3的目录权限改为777,以便omm用户能访问到。
chmod 777 /root
chmod 777 /root/anaconda3
再重新执行gs_install:

这回终于安装成功了。(密码:Gauss@2020)
查看状态,将数据库启动起来:

gsql -d postgres -p 15400 -r

成功进入gsql命令行。
至此,openGauss2.1.0 for openEuler 21.09 终于安装完毕了。
中间虽然遇到不少坑,但是打不死的张小白(强)都坚持下来了。撒花!
(全文完,谢谢阅读)




