首页 文章 精选 留言 我的

精选列表

搜索[搜狗输入法企业版],共2809篇文章
优秀的个人博客,低调大师

Ansible自动化部署安装openGauss3.1企业版单机

文章目录 一、背景 二、环境准备 三、具体实施步骤 3.1、安装ansible 3.2、配置主机清单 3.3、测试主机连通性 3.4、创建相关目录 3.5、下载openGauss软件包到files目录 3.6、创建变量文件 3.7、创建安装时需要的xml模板 3.8、创建任务文件 四、执行自动化安装 4.1、校验语法 4.2、自动化安装openGauss 4.3、安装完成后验证 一、背景 由于IT建设的快速发展,当数据中心业务突增,需要快速部署多套的数据库时,给运维工作带来了不小的压力和挑战,作为运维人员该如何面对面对这种困境呢?另外由于个人的习惯等也会导致所部署的环境不一定与规划完全一致,那么对以后的运维也会产生一定的负面影响。很显然,这种传统的方式已经无法适应当前的情景了,自动化运维应运而生,ansible在自动化运维和devops 的应用中崭露头角。 本文基于ansible工具实现 openGauss 的一键批量部署,传统的部署方式是先修改系统配置、安装依赖包、创建omm用户和组、配置环境变量、上传安装包以及解压、安装等步骤。 按照这个流程和思路,我们把这些操作弄成剧本编排(playbook),交给ansible来做。 二、环境准备 2台主机: 一台为Ansible的管理主机(10.10.10.142),操作系统为CentOS Linux release 7.9.2009 (Core); 另外一台为需要部署openGauss的主机(10.10.10.150),操作系统为CentOS Linux release 7.9.2009 (Core)。 三、具体实施步骤 3.1、安装ansible –在10.10.10.142上进行安装Ansible yum install epel-release -y yum install ansible –y –配置/etc/ansible/ansible.cfg # grep -v '^#' /etc/ansible/ansible.cfg |sed '/^$/d' [defaults] host_key_checking = False callback_whitelist = timer,profile_roles,log_plays log_path = /var/log/ansible.log strategy = free bin_ansible_callbacks = True [inventory] [privilege_escalation] [paramiko_connection] [ssh_connection] [persistent_connection] [accelerate] [selinux] [colors] [diff] [callback_log_plays] log_folder=/tmp/ansible/hosts/ 3.2、配置主机清单 修改主机清单/etc/ansible/hosts,添加主机列表 # cat /etc/ansible/hosts [openGaussdb] 10.10.10.150 ansible_ssh_user=root ansible_ssh_pass=123456 ###10.10.10.150为本次需要安装openGauss的主机 3.3、测试主机连通性 # ansible -i /etc/ansible/hosts openGaussdb -m ping 3.4、创建相关目录 [root@cs79-mysql:~]# cd /etc/ansible/roles/ [root@cs79-mysql:/etc/ansible/roles]# mkdir -p openGauss_Install/{files,vars,tasks,templates} [root@cs79-mysql:/etc/ansible/roles]# tree openGauss_Install/ openGauss_Install/ ├── files ├── tasks ├── templates └── vars 4 directories, 0 files 上述目录主要作用如下: files:存放需要同步到异地服务器的安装文件或者配置文件; tasks:openGauss安装过程需要进行的执行的任务; templates:用于执行openGauss安装的模板文件,一般为脚本; vars:安装openGauss定义的变量; 3.5、下载openGauss软件包到files目录 安装包下载地址:https://opengauss.org/zh/download.html [root@cs79-mysql:/etc/ansible/roles]# cd openGauss_Install/files/ [root@cs79-mysql:/etc/ansible/roles/openGauss_Install/files]# # wget https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.0/x86/openGauss-3.1.0-CentOS-64bit-all.tar.gz –2022-10-09 21:42:01-- https://opengauss.obs.cn-south-1.myhuaweicloud.com/3.1.0/x86/openGauss-3.1.0-CentOS-64bit-all.tar.gz Resolving opengauss.obs.cn-south-1.myhuaweicloud.com (opengauss.obs.cn-south-1.myhuaweicloud.com)… 121.37.63.38, 139.159.208.64, 139.159.208.243 Connecting to opengauss.obs.cn-south-1.myhuaweicloud.com (opengauss.obs.cn-south-1.myhuaweicloud.com)|121.37.63.38|:443… connected. HTTP request sent, awaiting response… 200 OK Length: 123022609 (117M) [application/gzip] Saving to: ‘openGauss-3.1.0-CentOS-64bit-all.tar.gz’ 100%[==================================================================================================================================================================================================>] 123,022,609 38.4MB/s in 3.2s 2022-10-09 21:42:04 (37.1 MB/s) - ‘openGauss-3.1.0-CentOS-64bit-all.tar.gz’ saved [123022609/123022609] 3.6、创建变量文件 [root@cs79-mysql:~]# vi /etc/ansible/roles/openGauss_Install/vars/main.yml #安装包名称 openGauss_software: openGauss-3.1.0-CentOS-64bit-all.tar.gz #解压目录 install_dir: /opt/software/openGauss #omm用户密码 omm_password: openGauss@123 #数据库密码 db_password: openGauss@123 3.7、创建安装时需要的xml模板 [root@cs79-mysql:~]# vi /etc/ansible/roles/openGauss_Install/templates/cluster_config.j2 <?xml version="1.0" encoding="UTF-8"?> <ROOT> <!-- openGauss整体信息 --> <CLUSTER> <!-- 数据库名称 --> <PARAM name="clusterName" value="dbCluster" /> <!-- 数据库节点名称(hostname) --> <PARAM name="nodeNames" value="{ { ansible_hostname }}" /> <!-- 数据库安装目录--> <PARAM name="gaussdbAppPath" value="/opt/huawei/install/app" /> <!-- 日志目录--> <PARAM name="gaussdbLogPath" value="/var/log/omm" /> <!-- 临时文件目录--> <PARAM name="tmpMppdbPath" value="/opt/huawei/tmp" /> <!-- 数据库工具目录--> <PARAM name="gaussdbToolPath" value="/opt/huawei/install/om" /> <!-- 数据库core文件目录--> <PARAM name="corePath" value="/opt/huawei/corefile" /> <!-- 节点IP,与数据库节点名称列表一一对应 --> <PARAM name="backIp1s" value="{ { inventory_hostname }}"/> </CLUSTER> <!-- 每台服务器上的节点部署信息 --> <DEVICELIST> <!-- 节点1上的部署信息 --> <DEVICE sn="1000001"> <!-- 节点1的主机名称 --> <PARAM name="name" value="{ { ansible_hostname }}"/> <!-- 节点1所在的AZ及AZ优先级 --> <PARAM name="azName" value="AZ1"/> <PARAM name="azPriority" value="1"/> <!-- 节点1的IP,如果服务器只有一个网卡可用,将backIP1和sshIP1配置成同一个IP --> <PARAM name="backIp1" value="{ { inventory_hostname }}"/> <PARAM name="sshIp1" value="{ { inventory_hostname }}"/> <!--dbnode--> <PARAM name="dataNum" value="1"/> <PARAM name="dataPortBase" value="26000"/> <PARAM name="dataNode1" value="/opt/huawei/install/data/dn01"/> <PARAM name="dataNode1_syncNum" value="0"/> </DEVICE> </DEVICELIST> </ROOT> 3.8、创建任务文件 [root@cs79-mysql:~]# vi /etc/ansible/roles/openGauss_Install/tasks/main.yml - name: 关闭防火墙 shell: systemctl disable firewalld.service && systemctl stop firewalld.service ignore_errors: true tags: 01_os_syscfg - name: 关闭selinux shell: sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config ignore_errors: true tags: 01_os_syscfg - name: 设置时区 shell: timedatectl set-timezone Asia/Shanghai tags: 01_os_syscfg - name: 关闭RemoveIPC lineinfile: path: /etc/systemd/logind.conf state: present line: "RemoveIPC=no" tags: 01_os_syscfg - name: 重启systemd-logind服务 shell: systemctl daemon-reload && systemctl restart systemd-logind tags: 01_os_syscfg - name: 创建组 group: name=dbgrp gid=2000 tags: 02_user_add - name: 创建用户 user: name=omm uid=2000 group=dbgrp tags: 02_user_add - name: 修改密码 shell: echo "{ {omm_password}}" | passwd --stdin omm tags: 02_user_add - name: 新建目录 file: path="{ {item}}" state=directory mode=0755 owner=omm group=dbgrp with_items: - /opt/software/ - /opt/software/openGauss tags: 03_unzip_db - name: 上传安装包 copy: src={ { openGauss_software}} dest={ { install_dir}} owner=omm group=dbgrp mode=0644 tags: install tags: 03_unzip_db - name: "解压软件包" shell: cd { { install_dir}} && tar -zxvf *all.tar.gz && tar -zxvf *om.tar.gz become: yes become_user: omm tags: 03_unzip_db - name: "安装依赖包" yum: name="libaio-devel,flex,bison,ncurses-devel,glibc-devel,patch,redhat-lsb-core,python3,bzip2,readline-devel,net-tools,tar,gcc,gcc-c++" state=installed tags: 04_os_yum - name: 替换python3版本 shell: mv /usr/bin/python /usr/bin/python2_bak && ln -s /usr/bin/python3 /usr/bin/python && python -V tags: 05_replace_py - name: 配置xml文件 template: src=cluster_config.j2 dest={ { install_dir}}/clusterconfig.xml tags: 06_config_xml - name: 执行预安装脚本 shell: '{ {install_dir}}/script/gs_preinstall -U omm -G dbgrp -X { {install_dir}}/clusterconfig.xml --non-interactive' register: preinstall tags: 07_pre_install - debug: var=preinstall.stdout_lines ignore_errors: true tags: 07_pre_install - name: 检查预安装环境 shell: '{ {install_dir}}/script/gs_checkos -i A -h { { ansible_hostname }} --detail' register: checkos tags: 08_check_os - debug: var=checkos.stdout_lines ignore_errors: true tags: 08_check_os - name: 更改权限 shell: chmod -R 755 { { install_dir}} tags: 09_gs_install - name: 执行gs_install shell: su - omm -c "{ {install_dir}}/script/gs_install -X { {install_dir}}/clusterconfig.xml --gsinit-parameter="--pwpasswd={ { db_password}}"" register: gsinstall tags: 09_gs_install - debug: var=gsinstall.stdout_lines ignore_errors: true tags: 09_gs_install - name: 启动数据库 shell: ss -anpt|grep 26000 && su - omm -c "gs_ctl restart " || su - omm -c "gs_om -t start " tags: 10_db_start - name: "登录数据库" shell: ss -anpt|grep 26000 && su - omm -c "gsql -d postgres -p26000 -r -l" tags: 10_db_start 3.9、创建剧本调用文件 [root@cs79-mysql:~]# vi /etc/ansible/playbook/InstallopenGauss.yml name: Install openGauss hosts: openGaussdb remote_user: root roles: openGauss_Install 四、执行自动化安装 4.1、校验语法 # ansible-playbook -C /etc/ansible/playbook/InstallopenGauss.yml 校验语法通过后,执行下一步安装 4.2、自动化安装openGauss # ansible-playbook /etc/ansible/playbook/InstallopenGauss.yml 4.3、安装完成后验证 至此,整个自动化部署openGauss完毕,如果有多台机器需要部署,添加主机相关信息到/etc/ansible/hosts,再执行ansible-playbook即可。 作者:鸿惊九天 openGauss: 一款高性能、高安全、高可靠的企业级开源关系型数据库。 🍒如果您觉得博主的文章还不错或者有帮助的话,请关注一下博主,如果三连点赞评论收藏就更好啦!谢谢各位大佬给予的支持!

优秀的个人博客,低调大师

酷瓜云课堂(腾讯云)企业版 v1.0.4 发布

更新内容 增加移动端图形验证码 增加移动端海报 增加移动端秒杀 增加移动端团购 增加移动端积分商城 增加移动端分销市场 增加移动端优惠券 增加移动账户安全 增加移动端收货地址 增加游客下载课件限制 增加授权到期提醒 修复首页简洁模式下样式问题 修复删除群组前台依旧显示问题 修复兑换课程用户课程数未增加问题 调整分享链接服务目录结构 若干查询完善 deleted=0,published=1 条件 增加 meta renderer 标识方便 360 识别 webkit 模式 vidtor 本地话,弃用 cdn.jsdelivr.net 优化会员套餐价格排序 系统介绍 酷瓜云课堂,依托腾讯云基础服务架构,采用 C 扩展框架 Phalcon 开发,致力在线教育系统。 系统功能 实现了点播、直播、专栏、面授、问答、会员、群组、微聊、积分、秒杀、拼团、分销等。 友情提示 请使用干净的系统执行安装,如有安装过 nginx,apache 之类的占用 80 和 443 端口的 web 服务会造成端口冲突 配置要求 操作系统:Ubuntu | Debain | Centos 系统内存:2G+ 申请试用授权 授权申请地址:点击申请 安装指南 下载安装脚本 cd ~ && curl http://download.koogua.com/ctc-pro/install.sh -o install.sh 根据实际情况修改配置 nano install.sh 可选配置项目如下: #是否安装测试数据(on:是,off:否) SITE_DEMO=off #站点域名(不包括http,没有域名可忽略) SITE_DOMAIN=abc.com #站点密钥(数字字母组合,不要用特殊字符) SITE_KEY=1qaz2wsx3edc #mysql超级用户密码(数字字母组合,不要用特殊字符) MYSQL_ROOT_PASSWORD=1qaz2wsx3edc #mysql项目数据库名称(数字字母组合,不要用特殊字符) MYSQL_DATABASE=ctc #mysql项目数据库用户(数字字母组合,不要用特殊字符) MYSQL_USER=ctc #mysql项目数据库密码(数字字母组合,不要用特殊字符) MYSQL_PASSWORD=1qaz2wsx3edc #redis访问密码(数字字母组合,不要用特殊字符) REDIS_PASSWORD=1qaz2wsx3edc 执行安装,快慢取决于网络,当有错误或者超时 请重试,请重试,请重试 bash install.sh 访问网站 管理帐号:10000@163.com / 123456 前台地址:http://{your-domain}.com 后台地址:http://{your-domain}.com/admin 后续设置: 系统设置 测试数据 管理帐号:100015@163.com / 123456 结束安装 安装完成,请删除安装脚本 rm install.sh

优秀的个人博客,低调大师

酷瓜云课堂(腾讯云)企业版 v1.0.1 发布

更新内容 修复后台点播设置码率500的错误 修复第三方登录解绑问题 修复套餐兑换没有分配课程问题 修复分销和拼团字段不一致问题 修复升级脚本中提现完成短信模板问题 修复大小写导致的微信登录通知失败问题 优化价格金额限制 优化文件和目录命名 文章问题单页帮助增加关键字属性 专题增加封面属性 加强课程附件下载权限检查 增加验证码开启开关 课程支持点播直播图文等混用 系统介绍 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,致力网课系统,网校系统,知识付费系统,在线教育系统。 系统功能 实现了点播、直播、专栏、面授、问答、会员、群组、微聊、积分、秒杀、拼团、分销等。 友情提示: 演示系统配置低(1Core,1G,1M 跑多个容器)切莫压测 课程数据来源于网络(无实质内容)切莫购买 管理后台已禁止数据提交,私密配置已过滤 桌面端演示: 前台演示 后台演示 演示账号:100015@163.com / 123456 (前后台通用) H5手机端演示: 演示账号:13507083515 / 123456 微信公众号演示: 演示账号:13507083515 / 123456 支付流程演示: MySQL提升课程全面讲解MySQL架构设计(0.01元) Nginx入门到实践Nginx中间件(0.01元) 数据库与中间件的基础必修课(0.02元) Tips: 测试支付请用手机号注册一个新账户,以便接收订单通知,以及避免课程无法购买 即时通讯演示: 请使用以下两个账号在不同终端或者浏览器登录,打开微聊界面 帐号A:100015@163.com / 123456 帐号B:100065@163.com / 123456 微信推送演示: Tips: 请用手机注册一个新账号,用户中心 -> 关注订阅,扫码关注公众号。之后的登录、购买、退款、直播、咨询等会有消息推送。 项目组件 后台框架:phalcon 3.4.5 前端框架:layui 2.6.8, layim 3.9.8(已授权) 全文检索:xunsearch 1.4.9 即时通讯:workerman 3.5.22 基础依赖:php7.3, mysql5.7, redis5.0 项目文档 运行环境搭建 系统服务配置 客户终端配置 意见反馈 官方社区

优秀的个人博客,低调大师

酷瓜云课堂(腾讯云)企业版 v1.0.0 发布

更新内容 增加拼团模块 增加分销模块 增加优惠码促销 增加兑换码促销 增加视频内容加密 增加录屏干扰跑马灯 增加nginx日志轮转 增加课目模板导入 增加点播子应用 系统介绍 酷瓜云课堂,依托腾讯云基础服务架构,采用C扩展框架Phalcon开发,GPL-2.0开源协议,致力开源网课系统,开源网校系统,开源知识付费系统,开源在线教育系统。 系统功能 实现了点播、直播、专栏、面授、问答、会员、群组、微聊、积分、秒杀、拼团、分销等。 友情提示: 演示系统配置低(1Core,1G,1M 跑多个容器)切莫压测 课程数据来源于网络(无实质内容)切莫购买 管理后台已禁止数据提交,私密配置已过滤 桌面端演示: 前台演示 后台演示 演示账号:100015@163.com / 123456 (前后台通用) H5手机端演示: 演示账号:13507083515 / 123456 微信公众号演示: 演示账号:13507083515 / 123456 支付流程演示: MySQL提升课程全面讲解MySQL架构设计(0.01元) Nginx入门到实践Nginx中间件(0.01元) 数据库与中间件的基础必修课(0.02元) Tips: 测试支付请用手机号注册一个新账户,以便接收订单通知,以及避免课程无法购买 即时通讯演示: 请使用以下两个账号在不同终端或者浏览器登录,打开微聊界面 帐号A:100015@163.com / 123456 帐号B:100065@163.com / 123456 微信推送演示: Tips: 请用手机注册一个新账号,用户中心 -> 关注订阅,扫码关注公众号。之后的登录、购买、退款、直播、咨询等会有消息推送。 项目组件 后台框架:phalcon 3.4.5 前端框架:layui 2.6.8, layim 3.9.8(已授权) 全文检索:xunsearch 1.4.9 即时通讯:workerman 3.5.22 基础依赖:php7.3, mysql5.7, redis5.0 项目文档 运行环境搭建 系统服务配置 客户终端配置 意见反馈 码云平台 官方社区

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

Sublime Text

Sublime Text

Sublime Text具有漂亮的用户界面和强大的功能,例如代码缩略图,Python的插件,代码段等。还可自定义键绑定,菜单和工具栏。Sublime Text 的主要功能包括:拼写检查,书签,完整的 Python API , Goto 功能,即时项目切换,多选择,多窗口等等。Sublime Text 是一个跨平台的编辑器,同时支持Windows、Linux、Mac OS X等操作系统。

WebStorm

WebStorm

WebStorm 是jetbrains公司旗下一款JavaScript 开发工具。目前已经被广大中国JS开发者誉为“Web前端开发神器”、“最强大的HTML5编辑器”、“最智能的JavaScript IDE”等。与IntelliJ IDEA同源,继承了IntelliJ IDEA强大的JS部分的功能。

用户登录
用户注册