#前置服务器在能正常访问外网的情况下,操作系统为openEuler-22.03_AArch64
echo "网络是否能访问外网,操作系统是否是openEuler-22.03_AArch64,是请等待.......,否请按下 Ctrl+C终止安装"
sleep 30
SERVER_IP=`ip a |grep inet |grep -v inet6 |grep -v '127.0.0.1' |awk '{print $2}' |awk -F / '{print$1}'`
echo "$SERVER_IP"
#安装依赖包
yum install -y zlib-devel libaio libuuid readline-devel krb5-libs libicu libxslt tcl perl openldap pam openssl-devel libxml2 java-1.8.0* python3 tar unzip --nogpgcheck
#检查java版本
echo "java 版本是否是1.8.x.x"
java -version
# 检查python3否安装成功
echo "python 版本是否是3.x.x"
python3 -V
echo "请确认版本是否正常,如果正常请等待...................系统会继续,如果版本不对请按下 Ctrl+C终止安装,"
sleep 30
# 修改主机名
hostnamectl set-hostname ogserver
#配置主机名至 host 文件
echo $SERVER_IP ogserver >> /etc/hosts
# 关闭防火墙和 Selinux
systemctl stop firewalld.service
systemctl disable firewalld.service
sed -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config
setenforce 0
# 关闭 transparent_hugepage
echo "transparent_hugepage=never" >> /etc/default/grub
grub2-mkconfig -o /boot/grub2/grub.cfg
#IPC 参数设置
echo "RemoveIPC=no" >> /etc/systemd/logind.conf
echo "RemoveIPC=no" >> /usr/lib/systemd/system/systemd-logind.service
systemctl daemon-reload
systemctl stop systemd-logind
systemctl start systemd-logind
# 内核参数调整
echo "
net.ipv4.tcp_max_tw_buckets=10000
net.ipv4.tcp_tw_reuse = 1
#net.ipv4.tcp_tw_recycle = 1
net.ipv4.tcp_keepalive_probes=9
net.ipv4.tcp_keepalive_intvl=30
net.ipv4.tcp_retries1 = 5
net.ipv4.tcp_syn_retries = 5
net.ipv4.tcp_synack_retries = 5
net.ipv4.tcp_retries2 = 12
net.ipv4.tcp_rmem = 8192 250000 16777216
vm.overcommit_memory = 0
net.ipv4.tcp_wmem = 8192 250000 16777216
net.core.wmem_max = 21299200
net.core.rmem_max = 21299200
net.core.wmem_default = 21299200
net.core.rmem_default = 21299200
net.ipv4.tcp_syncookies = 1
net.ipv4.tcp_sack = 1
net.ipv4.tcp_timestamps = 1
fs.aio-max-nr=1048576
fs.file-max= 76724600
kernel.sem = 4096 2048000 32 32768
kernel.shmmax = $(($(cat /proc/meminfo | head -n 1 | awk {'print $2'})*1024))
kernel.shmall = $(($(cat /proc/meminfo | head -n 1 | awk {'print $2'})))
kernel.shmmni = 8192
net.core.netdev_max_backlog = 65535
net.core.somaxconn = 65535
net.ipv4.tcp_fin_timeout = 60
vm.swappiness = 0
net.ipv4.ip_local_port_range = 26000 65535
fs.nr_open = 20480000
" >> /etc/sysctl.conf
#执行下面命令使配置生效
sysctl -p
# 创建用户和目录
groupadd -g 1010 dbgrp
useradd -u 1010 omm -g dbgrp
echo "Omm@1000" | passwd omm --stdin
mkdir -p /data/{openGauss,backup,archive_wals,core_pattern}
chmod 700 /data/{openGauss,backup,archive_wals,core_pattern}
chown -R omm:dbgrp /data/{openGauss,backup,archive_wals,core_pattern}
mkdir -p /opt/openGauss
chown omm:dbgrp -R /opt/openGauss/
chmod 755 /opt/openGauss/
# 修改资源限制
echo "
omm soft nproc unlimited
omm hard nproc unlimited
omm soft nofile 102400
omm hard nofile 102400
omm soft stack unlimited
omm hard stack unlimited
omm soft core unlimited
omm hard core unlimited
omm soft memlock unlimited
" >> /etc/security/limits.conf
# core_pattern 设置
echo "/data/core_pattern/core-%e-%p-%t" > /proc/sys/kernel/core_pattern
#将数据库安装包上传至/opt/openGauss 目录下
cd /root
unzip openGauss5.0.0_for_openEuler-22.03*.zip -d /opt/openGauss/
cd /opt/openGauss/openGauss5.0.0_for_openEuler*
mv ./* ../
cd ../
tar -zxf openGauss-5.0.0-openEuler-64bit-om.tar.gz
#生成集群配置文件
echo '<?xml version="1.0" encoding="utf-8"?>
<ROOT>
<CLUSTER>
<PARAM name="clusterName" value="openGauss" />
<PARAM name="nodeNames" value="ogserver"/>
<PARAM name="gaussdbAppPath" value="/opt/openGauss/app" />
<PARAM name="gaussdbLogPath" value="/var/log/omm" />
<PARAM name="tmpMppdbPath" value="/opt/openGauss/tmp"/>
<PARAM name="gaussdbToolPath" value="/opt/openGauss/install/om" />
<PARAM name="corePath" value="/opt/openGauss/corefile"/>
<PARAM name="backIp1s" value="'$SERVER_IP'"/>
</CLUSTER>
<DEVICELIST>
<DEVICE sn="ogserver">
<PARAM name="name" value="ogserver"/>
<PARAM name="azName" value="AZ1"/>
<PARAM name="azPriority" value="1"/>
<PARAM name="backIp1" value="'$SERVER_IP'"/>
<PARAM name="sshIp1" value="'$SERVER_IP'"/>
<!-- dn -->
<PARAM name="dataNum" value="1"/>
<PARAM name="dataPortBase" value="15400"/>
<PARAM name="dataNode1" value="/data/openGauss"/>
<PARAM name="dataNode1_syncNum" value="0"/>
</DEVICE>
</DEVICELIST>
</ROOT>
' > /home/omm/cluster_config.xml
#root 用户执行预安装脚本
cd /opt/openGauss/script/
echo "输入YES"
/opt/openGauss/script/gs_preinstall -U omm -G dbgrp -X /home/omm/cluster_config.xml
chown omm:dbgrp -R /opt/openGauss/
#修改环境变量修改
echo 'export PGPORT=15400' >> /home/omm/.bashrc
export 'PGDATA=/data/openGauss' >> /home/omm/.bashrc
source /home/omm/.bashrc
# omm 用户执行安装脚本
su - omm
SERVER_IP=`ip a |grep inet |grep -v inet6 |grep -v '127.0.0.1' |awk '{print $2}' |awk -F / '{print$1}'`
cd /opt/openGauss/script/
echo "开始安装数据库,请注意输入用户密码,记得保存,不要忘记"
./gs_install -X /home/omm/cluster_config.xml
# 检查数据库状态
gs_om -t status --detail
cd /data/openGauss
echo "host all all $SERVER_IP/32 md5" >> pg_hba.conf
sed -i 's/#password_encryption_type = 2/password_encryption_type = 1/g' postgresql.conf
sed -i 's/listen_addresses.*/listen_addresses='\'*\'' /g' postgresql.conf
gs_om -t stop
gs_om -t start
「喜欢这篇文章,您的关注和赞赏是给作者最好的鼓励」
关注作者
【版权声明】本文为墨天轮用户原创内容,转载时必须标注文章的来源(墨天轮),文章链接,文章作者等基本信息,否则作者和墨天轮有权追究责任。如果您发现墨天轮中有涉嫌抄袭或者侵权的内容,欢迎发送邮件至:contact@modb.pro进行举报,并提供相关证据,一经查实,墨天轮将立刻删除相关内容。




