linuxone服务器免费使用

linuxone服务器免费使用
zzhhttps://linuxone.cloud.marist.edu/
注册账号,登录后即可免费使用linuxone服务器(2个月,4G内存,50G硬盘空间,2核,s390x架构)。
创建实例,保存ssh key,远程连接要用这个key,它不会给任何用户的密码,默认用linux1用户登录。
安装 MySQL 8.x(如果要安装mysql8,需要自己编译安装,比较麻烦,可以用docker安装mysql8)
安装 Docker
这是安装docker的文档:
https://docs.docker.com/engine/install/rhel/
每次使用docker的时候都需要使用root用户, 比较麻烦. 可用把普通用户添加到docker组, 避免每次都添加sudo.
sudo usermod -aG docker linux1
退出当前shell, 重新进入shell, 使刚才的配置生效
docker 安装 mysql8docker pull ibmcom/mysql-s390x:8.0.25
https://hub.docker.com/u/s390x
docker run –name mysql-s390x –restart always -v /path/to/host/data:/var/lib/mysql -e MYSQL_ROOT_PASSWORD=000000 -d ibmcom/mysql-s390x:8.0.25
docker exec -it mysql-s390x mysql -uroot -p000000
注意:如果您想使用像firewalld这样的防火墙管理工具,您需要删除保存的iptables文件。
防火墙通过 iptables 规则启用。默认情况下,只有 SSH 端口是开放的。如果您需要打开其他端口,请使用 iptables 修改防火墙规则
sudo iptables -I INPUT -p tcp –dport <port#> -j ACCEPT
如果要永久保留更改,请发出以下命令:
sudo bash -c “iptables-save > /etc/sysconfig/iptables.save”
docker exec -it mysql-s390x bash
vim /etc/mysql/mysql.conf.d/mysqld.cnf
apt-get update
apt-get install -y vim
只需确保 bind-address 设置为 0.0.0.0,这样其他机器就可以通过 MySQL 的标准协议(3306端口)进行连接。
docker restart mysql-s390x
确保mysql容器因为某种原因停止运行,可以重启容器:
docker update –restart always mysql-s390x
在 RHEL 8 中,yum 已被 dnf(Dandified Yum)替代,dnf 是新版的包管理工具,提供了与 yum 类似的功能,但性能更好,处理依赖关系更高效。
sudo dnf update -y
sudo dnf install java-17-openjdk -y
sudo dnf install vim -y
为了方便你在终端或脚本中使用 Java,可以设置 JAVA_HOME 环境变量。编辑 /etc/profile 或用户的 ~/.bashrc 文件,并添加以下行:
export JAVA_HOME=/usr/lib/jvm/java-17-openjdk
export PATH=$JAVA_HOME/bin:$PATH
然后使其生效:
source ~/.bashrc
接下来,使用 dnf 包管理工具来安装 Node.js 16:
sudo dnf install -y nodejs
4.4 创建数据库
CREATE DATABASE dga /*!40100 DEFAULT CHARACTER SET utf8mb3 COLLATE utf8mb4_0900_ai_ci */
建表
元数据信息表
1 | create table table_meta_info |
元数据表附加信息
1 | create table if not exists table_meta_info_extra |
考评指标参数表
1 | create table governance_metric |
| 板块 | 权重 |
|---|---|
| 规范 | 15 |
| 存储 | 30 |
| 计算 | 30 |
| 质量 | 15 |
| 安全 | 10 |
考评指标权重表
1 | CREATE TABLE `governance_type` ( |
插入指标
1 | INSERT INTO governance_type (id, type_code, type_desc, type_weight) VALUES |
考评指标明细表
1 | CREATE TABLE `governance_assess_detail` ( |
插入指标
1 | INSERT INTO `governance_metric` VALUES (1,'是否有技术Owner','TEC_OWNER','辅助信息是否填写技术Owner 有 则10分 , 无则0分','SPEC','','/table_meta/table_meta/detail?tableId=','0'),(2,'是否有业务Owner','BUSI_OWNER','辅助信息是否填写业务Owner 有 则10分 , 无则0分','SPEC',NULL,'/table_meta/table_meta/detail?tableId=','0'),(3,'表名合规','TABLE_NAME_STANDARD','参考建数仓表规范\nODS层 :开头:ods 结尾 :inc/full \n结构ods_xx_( inc|full)\nDIM层 : dim开头 full/zip 结尾 \n结构: ods_xx_( inc|full)\nDWD层: dwd 开头 inc/full 结尾 \n结构: dwd_xx_xx_(inc|full)\nDWS层: dws开头 \n结构dws_xx_xx_xx_ (1d/nd/td) \nADS层: ads 开头\n结构 ads_xxx\n符合则 10分,否则0分\n','SPEC',NULL,'/table_meta/table_meta/detail?tableId=','0'),(4,'是否纳入分层','TABLE_DW_LEVEL','设定分层则10分,OTHER则0分','SPEC',NULL,'/table_meta/table_meta/detail?tableId=','0'),(5,'表有备注','TABLE_COMMENT','有 则10分 , 无则0分','SPEC',NULL,'/table_meta/table_meta/detail?tableId=','0'),(6,'字段有备注信息','FIELD_COMMENT','有备注字段/所有字段 *10分','SPEC',NULL,'/table_meta/table_meta/detail?tableId=','0'),(7,'生命周期合理','LIFECYCLE','未设定周期类型的 给 0分\n周期类型为永久 则给10分\n周期类型为普通 :\n无分区信息的给0分\n 没设生命周期给0分\n周期长度超过建议周期天数{days}给50分\n','STORAGE','{\"days\":60}','/table_meta/table_meta/detail?tableId=','0'),(8,'是否空表','TABLE_EMPTY','空表则0分 ,有数据则10分','STORAGE',NULL,NULL,'0'),(9,'存在相似表','TABLE_SIMILAR','两个表字段重复超过{percent}%,则给0分,其余给10分','STORAGE','{\"percent\":70}',NULL,'0'),(10,'长期无产出','NO_PRODUCE','一张表{days}天内没有产出数据 则给0分,其余给10','CALC','{\"days\":7}',NULL,'0'),(11,'长期无访问','NO_ACCESS','一张表{days}天内没有访问 则给0分 , 其余给10','CALC','{\"days\":7}',NULL,'0'),(12,'计算中有报错','TASK_FAILED','检查DS 有报错 则给0分,其余给10分','CALC',NULL,NULL,'0'),(13,'简单加工','SIMPLE_PROCESS','sql语句没有任何join\\groupby\\ 非分区字段的where过滤 ,以上情况给0分,其余给10分 任务信息','CALC',NULL,NULL,'0'),(14,'表产出时效监控','TIME_LINESS','前一天产出时效,超过前{days}天产出时效平均值{percent}%\n则给0分,其余10分\n','QUALITY','{\"days\":7,\"percent\":70}',NULL,'0'),(15,'表产出数据量监控','PRODUCE_DATA_SIZE','必须日分区表\n前一天产出的数据量,超过前{days}天平均产出量{upper_limit}% ,或低于{lower_limit}% ,则给0分,其余10分\n','QUALITY','{\"days\":7,\"{upper_limit}\":70,\"{lower_limit}\":50}',NULL,'0'),(16,'未明确安全等级','SECURITY_LEVEL','未设置 0分 其余10分','SECURITY',NULL,'/table_meta/table_meta/detail?tableId=','0'),(17,'目录文件数据访问权限超过建议值','FILE_ACCESS_PERMISSION','检查该表最高权限的目录或者文件,如果超过文件超过{file_permission}或者目录超过{dir_permission}则给0分 其余给10分','SECURITY','{\"dir_permission\":\"755\",\"file_permission\":\"644\"}',NULL,'0'); |
12,13,14至1
TABLE_DW_LEVEL
PRODUCE_DATA_SIZE
11.1.1 各表的考评结果表
1 | create table if not exists governance_assess_table |
11.2.1 各个技术负责人的考评结果表
1 | create table if not exists governance_assess_tec_owner |
11.3.1 各个全局的考评结果表
1 | create table if not exists governance_assess_global |
sudo dnf install -y make gcc-c++ python3
sudo dnf install tmux
启动一个新的 tmux 会话
tmux new -s my_session
1 | !/bin/bash |
chmod +x start.sh
进入 tmux 会话
tmux attach -t mysession
列出所有窗口:Ctrl + B,然后按 W
切换到下一个窗口:Ctrl + B,然后按 N
切换到上一个窗口:Ctrl + B,然后按 P
直接跳转到窗口 0 / 1 / 2:Ctrl + B,然后按 0 或 1 或
如果你想退出 tmux 但保持进程运行:
Ctrl + B,然后按 D
杀死 tmux 会话(停止所有进程):
tmux kill-session -t mysession
