No description
  • Jinja 84.6%
  • Shell 15.4%
Find a file
taige 3bae87af0b hbase: 增加 lz4/snappy 压缩算法可用性阻断式验收
在 install_hbase 末尾加一道 CompressionTest 验收,用 env -i 模拟守护进程
的空环境,验收 vars/main.yml 里 hbase_compression_algos 列的算法,不通则
直接让部署失败。

动机:native 库缺失在部署当天和之后数月都完全不报错(CompressionTest 结果
是 JVM 进程级缓存,运行中的 RegionServer 已缓存 true),只在某次 RS 重启那
一刻爆发,所有压缩表 region 全部卡 RIT,业务全线查不出数据。

配套:
- hbase-env.sh.j2 显式导出 native 库路径
- base.yml 建 lib/native/Linux-amd64-64 -> HADOOP_HOME/lib/native 软链
- README 补验收失败的 5 步排查顺序与老环境免重启的巡检脚本入口
2026-08-07 17:23:23 +08:00
ansible-install-middleware hbase: 增加 lz4/snappy 压缩算法可用性阻断式验收 2026-08-07 17:23:23 +08:00
ansible_offline_pkgs/ansible.posix chore: 初始化离线安装仓库(含k8s/中间件离线包,适配Rocky9环境) 2026-07-31 10:30:53 +08:00
it-tools chore: 初始化离线安装仓库(含k8s/中间件离线包,适配Rocky9环境) 2026-07-31 10:30:53 +08:00
offline_pkgs chore: HBase 统一部署 2.3.7,清理 2.3.5 相关目录与离线包 2026-07-31 12:01:34 +08:00
scripts chore: 初始化离线安装仓库(含k8s/中间件离线包,适配Rocky9环境) 2026-07-31 10:30:53 +08:00
.gitignore chore: 初始化离线安装仓库(含k8s/中间件离线包,适配Rocky9环境) 2026-07-31 10:30:53 +08:00
meos.center-ssl.yaml chore: 初始化离线安装仓库(含k8s/中间件离线包,适配Rocky9环境) 2026-07-31 10:30:53 +08:00
README.md chore: HBase 统一部署 2.3.7,清理 2.3.5 相关目录与离线包 2026-07-31 12:01:34 +08:00
USAGE.md hostNetwork模式下不再创建ingress NodePort Service;业务nginx默认不装 2026-07-31 15:41:17 +08:00

x-app-offline-install

#本代码主要用于x平台k8s、中间件、HBASE的离线部署不依赖任何网络环境在线部署也可以使用。 以下步骤在readme中格式显示可能异常详细请阅读文档https://www.yuque.com/taigemiu/ulyvq3/qs9nngv5ravdkyz5?singleDoc# 《九院部署》 #先安装基础依赖和ansible

cd /data/x-app-offline-install/offline_pkgs/base

dnf localinstall -y --disablerepo='*' --skip-broken *.rpm

#安装ansible插件

cd /data/x-app-offline-install/ansible_offline_pkgs/ansible.posix

ansible-galaxy collection install -r requirements.yml

#检查版本

ansible --version

初始化ansible配置文件

ansible-config init --disabled > /etc/ansible/ansible.cfg

修改配置

sed -i 's#;host_key_checking=True#host_key_checking = False#g' /etc/ansible/ansible.cfg sed -i 's#;jinja2_extensions=.*#jinja2_extensions = jinja2.ext.do,jinja2.ext.i18n#g' /etc/ansible/ansible.cfg sed -i '/jinja2_extensions/a\callback_whitelist = timer, mail,profile_tasks' /etc/ansible/ansible.cfg

cd /data/x-app-offline-install/ansible-install-middleware/source-software

#修改中间件密码等信息 vim /data/x-app-offline-install/ansible-install-middleware/source-software/config.yaml

#修改host vim /data/x-app-offline-install/ansible-install-middleware/source-software/hosts

#执行安装脚本 ./data/x-app-offline-install/ansible-install-middleware/source-software/install.sh

[root@iZ2zecni1aw6nzyix4ydzwZ source-software]# sh ./install.sh ./install.sh: line 2: $'\r': command not found ./install.sh: line 9: $'\r': command not found ./install.sh: line 18: $'\r': command not found ./install.sh: line 25: $'\r': command not found ./install.sh: line 26: syntax error near unexpected token $'{\r'' '/install.sh: line 26: function generate_app_list(){ [root@iZ2zecni1aw6nzyix4ydzwZ source-software]# [root@iZ2zecni1aw6nzyix4ydzwZ source-software]# [root@iZ2zecni1aw6nzyix4ydzwZ source-software]# [root@iZ2zecni1aw6nzyix4ydzwZ source-software]# vim install.sh [root@iZ2zecni1aw6nzyix4ydzwZ source-software]# [root@iZ2zecni1aw6nzyix4ydzwZ source-software]#

#执行这个就好了Windows编辑过带入了不合规的换行符 [root@iZ2zecni1aw6nzyix4ydzwZ source-software]# sed -i 's/\r$//' install.sh

#安装k8s

ansible-playbook -i local_hosts k8s.yml

#删除k8s污点 kubectl taint nodes master1 node-role.kubernetes.io/control-plane:NoSchedule- kubectl taint nodes master1 node-role.kubernetes.io/master:NoSchedule-

增加coredns apiVersion: v1 data: Corefile: | .:53 { errors health { lameduck 5s } ready kubernetes cluster.local in-addr.arpa ip6.arpa { pods insecure fallthrough in-addr.arpa ip6.arpa ttl 30 } hosts { 172.24.150.185 keepalived.vip master1 hbase-node1 aio-apc.meos.center aio-minio.meos.center aio-gateway.meos.center aio-link.meos.center aio-mgmt.meos.center aio-ops.meos.center aio-edge.meos.center fallthrough } prometheus :9153 forward . /etc/resolv.conf { max_concurrent 1000 } cache 30 loop reload loadbalance } kind: ConfigMap metadata: creationTimestamp: "2026-04-17T08:44:18Z" name: coredns namespace: kube-system

#ansible-playbook -i local_hosts hbase.yml

#启动zookeeper /data/application/app/apache-zookeeper-3.8.4-bin/bin/zkServer.sh start /data/application/app/apache-zookeeper-3.8.4-bin/bin/zkServer.sh status

2.格式化 只能执行一次 #/data/application/app/hadoop-3.2.4/bin/hdfs namenode -format

3、启动hadoop服务 /data/application/app/hadoop-3.2.4/bin/hdfs --daemon start namenode /data/application/app/hadoop-3.2.4/bin/hdfs --daemon start datanode /data/application/app/hadoop-3.2.4/bin/hdfs --daemon start secondarynamenode 4、启动yarn /data/application/app/hadoop-3.2.4/bin/yarn --daemon start resourcemanager /data/application/app/hadoop-3.2.4/bin/yarn --daemon start nodemanager /data/application/app/hadoop-3.2.4/bin/mapred --daemon start historyserver 5、启动hbase-master /data/application/app/hbase-2.3.7/bin/hbase-daemon.sh --config /data/application/app/hbase-2.3.7/conf start master 6、启动hbase-region 单机模式不用启动regionserver /data/application/app/hbase-2.3.7/bin/hbase-daemon.sh --config /data/application/app/hbase-2.3.7/conf start regionserver

#将镜像ctr进集群

mkdir -p images && tar -xzvf images_backup_20260415_154653.tar.gz -C images

如果解压成功,可以尝试导入解压后的 tar 文件

导入当前目录下所有 .tar 文件

for file in *.tar; do echo "正在导入: $file" ctr -n k8s.io images import "$file" echo "完成导入: $file" echo "------------------------" done #查看镜像清单 ctr -n k8s.io images ls

MySQL数据下载 下载地址:从获取/data/ansible-x-p-7.0-2026-0122/x-cloud/.default.yaml 数据放在:/data/ansible-x-p-7.0-2026-0122/x-cloud/mysql/files

修改task

mysql 依赖包

从 vault.centos.org 下载

wget https://vault.centos.org/centos/8/AppStream/x86_64/os/Packages/compat-openssl10-1.0.2o-3.el8.x86_64.rpm

rpm -Uvh --nodeps ./compat-openssl10-1.0.2o-3.el8.x86_64.rpm

创建nfs目录 mkdir -p /data/application/data/nfs/pvc mkdir -p /data/application/data/nfs/storageclass mkdir -p /data/application/data/nfs/flink-pvc

授权文件nfs

chown -R nobody:nobody /data/application/data/nfs/ chmod -R 755 /data/application/data/nfs/

配置nfs

vim /etc/exports

共享给K8s集群允许读写同步写入适用于静态PV

/data/application/data/nfs/pvc 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)

共享给K8s集群允许读写同步写入用于StorageClass动态供给

/data/application/data/nfs/storageclass 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)

共享给K8s集群允许读写同步写入专用于Flink应用

/data/application/data/nfs/flink-pvc 192.168.1.0/24(rw,sync,no_root_squash,no_subtree_check)

重新导出所有共享

sudo exportfs -rva

检查共享是否发布成功

sudo showmount -e localhost

启动nfs服务 systemctl start --now rpcbind systemctl start --now nfs-server systemctl start --now nfs-idmap

systemctl enable --now rpcbind systemctl enable --now nfs-server systemctl enable --now nfs-idmap

修改语法:/data/application/sh/ansible-x-cloud/x-cloud/mysql/templates/shell_script/database_list.txt.j2 mysql_info.iteritems() 修改为mysql_info.items() #安装依赖

#自建mysql检测失败时一般为密码模式问题 #使用命令行登录 mysql -uroot -p"gWK5o9WmCBF5LiW@0926" -h 172.17.3.122 -P 9934

use mysql; #更改密码 alter user 'root'@'%' identified with mysql_native_password by 'gWK5o9WmCBF5LiW@0926'; #刷新权限 flush privileges;

部署rabbitmq报错需要增加hosts解析ip 主机名

1. 创建用户persagy

rabbitmqctl add_user persagy gWK5o9WmCBF5LiW@0926

2. 设置权限(普通业务用户即可)

rabbitmqctl set_user_tags persagy management

3. 创建虚拟主机:/persagy

rabbitmqctl add_vhost /persagy

4. 给用户授权这个 vhost

rabbitmqctl set_permissions -p /persagy persagy "." "." ".*"

kubesphere部署后的默认账号密码admin P@88w0rd