Browse Source

20220816-更新了gpload客户端安装方法

lifuquan 2 years ago
parent
commit
4e5254fe32

+ 19 - 0
gpload/gpload客户端安装.md

@@ -0,0 +1,19 @@
+# gpload客户端安装
+
+首先需要找到安装包,部署的软件在192.168.50.1和192.168.50.2上都有备份
+
+gpload客户端所在目录 `/data/backup/software/greenplum`
+
+```sh
+# 首先将客户端安装包scp复制到本地
+scp do@192.168.50.1:/data/backup/software/greenplum/greenplum-db-clients-6.19.2-rhel7-x86_64.rpm ./
+# 安装客户端
+sudo yum localinstall greenplum-db-clients-6.19.2-rhel7-x86_64.rpm
+# 安装完毕验证 安装目录在 /usr/local/greenplum-db-clients
+# 加载环境变量 目录下有两个环境变量sh文件 greenplum_loaders_path 是单独的gpload greenplum_clients_path.sh 对应全部客户端
+source /usr/local/greenplum-db-clients/greenplum_loaders_path.sh
+gpload --version
+# 6.19版本好像不需要自己启动gpfdist服务了
+# 考虑到我们通常会使用sh脚本expect方式输入密码,这里把expect也安装一下
+sudo yum install expect
+```

+ 21 - 0
gpload/gpload配置文件示例/alarm.sh

@@ -0,0 +1,21 @@
+#!/bin/bash
+
+source /usr/local/greenplum-db-clients/greenplum_loaders_path.sh
+
+new_date=$1
+
+# 修改gpload配置文件
+sed -i 's/\/data1\/s130\/alarm\/csv\/resultMap[0-9]\{14\}.csv/\/data1\/s130\/alarm\/csv\/resultMap'${new_date}'.csv/' /data1/s130/alarm/gpload/alarm.yml
+
+# 由于gpload需要输入密码,这里需要使用expect执行
+password=Richr00t#
+
+expect -c "
+set timeout 300
+spawn gpload -f /data1/s130/alarm/gpload/alarm.yml
+expect {
+\"connecting (yes/no)?\" { send \"yes\n\";exp_continue }
+\"Password:\" { send \"${password}\n\"; exp_continue}
+timeout { puts \"超时\" exit 2}
+}
+"

+ 84 - 0
gpload/gpload配置文件示例/alarm.yml

@@ -0,0 +1,84 @@
+VERSION: 1.0.0.1
+DATABASE: sqmmt
+USER: gpadmin
+HOST: 192.168.70.109
+PORT: 5432
+GPLOAD:
+  INPUT:
+    - SOURCE:
+        LOCAL_HOSTNAME:
+          - 192.168.70.130
+        PORT: 54321
+        FILE:
+          - /data1/s130/alarm/csv/resultMap20220816151025.csv
+    - FORMAT: csv
+    - DELIMITER: ","
+    - HEADER: false
+    - ENCODING: utf-8
+    - ERROR_LIMIT: 20000000
+    - LOG_ERRORS: true
+  EXTERNAL:
+    - SCHEMA: tsfx
+  OUTPUT:
+    - TABLE: tsfx.dw_complain_realtime_alarm_h
+    - MODE: merge
+    - MATCH_COLUMNS:
+        - uniqueid
+        - sdate
+    - UPDATE_COLUMNS:
+        - sdate
+        - uniqueclearid
+        - eventtime
+        - canceltime
+        - status
+        - projectstatus
+        - vendoralarmserial
+        - alarmtitle
+        - vendorseverity
+        - vendoralarmtype
+        - specificproblem
+        - specificproblemid
+        - equipmentclass
+        - equipmentname
+        - locateneclass
+        - locatenename
+        - province
+        - region
+        - city
+        - grid
+        - area
+        - vendor
+        - specialty
+        - siteid
+        - roomid
+        - towersiteno
+        - proequipmentstatus
+        - projectname
+        - projectno
+        - projectstarttime
+        - projectendtime
+        - worksendstatus
+        - workstatus
+        - workno
+        - workarchivedtime
+        - workdutydep
+        - worksendperson
+        - alarmlogicclass
+        - alarmlogicsubclass
+        - standardalarmname
+        - alarmseverity
+        - standardalarmid
+        - effectonequipment
+        - effectonbusiness
+        - standardflag
+        - networktype
+        - equipmentdn
+        - locatenedn
+        - taccode
+        - tacid
+        - alarmtext
+  PRELOAD:
+    - TRUNCATE: false
+    - REUSE_TABLES: true
+    - STAGING_TABLE: extrnal_table_alarm_gpload
+    - FAST_MATCH: true

+ 2 - 3
项目要求java代码规范.md

@@ -6,15 +6,14 @@
 
 2. 项目依赖版本应该与 hb_springboot_parent 相同,如果parent项目未包含依赖,需首先添加到parent项目。
 
-如果遇到依赖冲突,需首先考虑解决,其次才考虑更换低版本依赖。
+    如果遇到依赖冲突,需首先考虑解决,其次才考虑更换低版本依赖。
 
 3. 要求所有最新项目与最新版本的 hb_springboot_parent 依赖版本相同
 
-4. 原则上要求有源码的改写项目将依赖版本同步到 hb_springboot_parent 依赖版本,如果遇到特殊情况可以特殊考虑。
+4. 原则上要求有源码的改写项目将依赖版本同步到 hb_springboot_parent 依赖版本,如果遇到特殊情况可以特殊考虑。原则上要求除`hb_springboot_parent`以外的项目中不应该出现依赖版本号。
 
 5. 对已完成且正常运行未扫描到漏洞的项目可以不考虑。
 
-
 ## 关于实体类的要求
 
 实体类可能面临3种情况