-
问题现象收到GTM服务异常的告警问题分析及界定1.登上集群后台执行cm_ctl query -Cvid命令,查看GTM主备状态: 2.正常情三个GTM的状态应该为Primary Standby OK。 GTM主备有自动重连机制,如果此时为OK,那么证明故障已经恢复。如果过了一段时间仍显示为异常状态,需要继续定位,常见的故障有如下几种:Connection bad1.查看显示不正常的机器是否正常上电,可否登录。如果没有正常上电,或者登录不上,联系IaaS技术支持进行处理。如果正常上电,且可以登录。那么继续定位。2.登录状态不正常的GTM节点,进入GTM的日志目录$GAUSSLOG/pg_log/gtm,查看最新的GTM日志,可以根据故障信息评断是什么问题。 比如如下日志显示为网络异常,备机连不到主机。关键词:could not connect 3.主备IP地址互相PING,发现网络联不通,故障定位为网络异常。联系IaaS技术支持进行处理。4. gtm主备端口进行curl操作,端口不通。查看安全组是否包含gtm的端口,或联系网络进行技术支持。 gtm主备互信的端口,可以在gtm报错日志中查看。 Disk damaged确认磁盘是否损坏,进入沙箱之后依次检查查看cm_agent日志,cd $GAUSSLOG/cm/cm_agent , 找到对应时间点的cm_agent-xxx.log日志,会有如下记录: data path disc writable test failed, 之后DN进程会被杀死 killing gtm by force1.df检查是否正常挂载 2.echo "hello" > /usr/local/gtm/test.txt是否能正写3.cat /usr/local/gtm/test.txt 是否能正常读。4.如果损坏(如df -h磁盘没有挂载),联系I层尝试修复磁盘故障。5.如果目录被重命名或权限不正确,恢复目录和权限,文件的正确权限为-rw------- 1 Ruby Ruby 39 Mar 11 17:37 gtm.pid,目录的正确权限为drwx------ 3 Ruby Ruby 4.0K Apr 14 19:39 gtm6.如果短时间无法解决,则联系高斯工程师,执行节点替换,使用另一个磁盘无问题的节点替换该问题节点。7.如果DN状态仍有问题,执行节点修复,修复该DN节点。Port conflictingGTM会监听两个接口:6000接口是GTM监听CN连接,6001接口是GTM的HA接口。1.登录到该GTM节点,su - Ruby 进入Ruby用户,ps -ux | more | grep gtm, 查看是否有两个名字完全相同的gtm进程,如果有则联系高斯工程师。2.如果是首次部署的集群,在Ruby用户执行cm_ctl query -Cvidp,查看故障节点上,是否数据库实例之间存在端口相同导致冲突的情况(lsof -i可以看到端口是否被GTM进程之外的程序占用,如6000 6001接口),如果有那么联系华为工程师、集群部署人员,确认并将端口号修改为正确的端口号。 3.lsof -i | grep xxxx(xxxx为GTM的端口号,如6000 6001接口),查看是否有其他进程占用了GTM需要的端口,如果有,联系集群安装部署人员及进程的拥有者,确认并修改该进程的端口号或者数据库的端口号。4.如果还没有解决,联系华为工程师,进行进一步的分析定位。Nic down1.表示网卡故障, root 用户执行ifconfig命令查看网卡是否down掉,如果是网卡故障联系I层检查并修复;2.ethx口上的IP是否存在,如果是IP丢失,重新配置IP。其他状态7.若GTM节点一直无法启动,处于异常状态。需要联系华为工程师进行定位处理。处理步骤1.查看GTM状态是否已经恢复正常。2.判断是否虚拟机故故障 -> 联系IaaS技术支持进行处理。3.判断是否节点所在网络故障 -> 联系IaaS技术支持进行处理。4.判断是否节点所在磁盘故障 -> 联系IaaS技术支持进行处理。5.其他原因 -> 联系华为工程师进行定位处理。
-
如题,在测试api的时候发现语句:(current_date - interval '${num}' day),会因为预编译而导致执行sql出错的问题。gaussdb原语句是(current_date - interval '30' day),因为涉及到多个参数且参数类型不同,尝试过cast('${num}' as int)方法不成功。也尝试过使用''两个双引号来转义也不行。取消勾选预编译后语句是可以正常运行的,请问是否还有其他方法可以在满足预编译的情况下成功执行这句话?
-
首先确认是否是虚拟机、网络故障,底层故障处理:PID文件未清理导致进程启动失败问题现象收到告警CM服务异常,查看集群状态,CM节点显示DOWN问题分析及定界step1.登录到故障对应CMS节点 cd $GAUSSLOG/cm/cm_serverstep2.打开对应时间点的cm_server*.log中是否含有关键词:failed to create the cm server pid file step3.如果有关键词,则此问题是由于虚拟机故障导致pid文件残留导致参照处理步骤方法一处理步骤方法一:cm_ctl query -Cvd 查看对应CMS的数据目录,到数据目录下删除对应的cm_server.pid文件即可恢复磁盘故障问题现象收到告警CM服务异常,查看集群状态,CM节点显示DOWN问题分析及定界step1.登录到故障对应CMS节点 step2.检查磁盘是否故障或占满处理步骤方法一:确认磁盘占满的原因,对磁盘进行清理(如果是日志盘,可清理一个月以前的日志文件)
-
如题,网上使用jdbc,odbc连接openguass的教程太少了,求推荐!
-
查询集群状态,DN状态为Building问题现象DN服务异常,DN状态为building问题分析及定界a、cm_ctl query -Cvipd查看哪些DN在building,并且会显示build的进度:如:building(80%), 连续查询cm_ctl query -Cvipd观察build进度。 该问题通常发生在业务压力非常大,数据导入太快,DN备的同步读跟不上DN主,DN主日志被回收,导致备DN只能做全量build,当集群重启时更容易发生此问题。此时需要考虑设置打开流控和并行redo等,继续按照步骤b进行定位。b、登录报错节点,su - Ruby, cd $GAUSSLOG/bin/gs_ctl/ 查看gs_ctl日志确定当前处于build的哪个阶段,以及是增量build还是全量build,如果是全量build, 日志中会有FULL_BUILD的字符串,全量build的时间会比增量build长。 继续按照步骤c定位。c、ps ux | grep gaussdb,查看dn进程的启动时间,判断其是否重启过,如果重启过,则参照场景2 DN状态为unknown中的步骤,诊断dn重启的原因查询集群状态,DN状态为Build failed问题现象DN服务异常,DN状态为build failed问题分析及定界a、登录报错节点,su - Ruby, cd $GAUSSLOG/bin/gs_ctl/ 查看gs_ctl日志确定build失败的原因,如果报错信息中出现could not connect to server,则首先按照b继续排查b、检查网络连接情况,ping xxx.xxx.xxx.xxx(主DN ip),如果无法ping通,则按照步骤1处理,否则继续按照步骤c定位c、进入数据目录,数据目录就是cm_ctl query -Cvid查看的结果中实例对应的目录,查看pg_hba.conf的设置是否正确,需要确认主dn的ip是否正确,method是否设置为trust,如果不正确,按照处理步骤2处理,如果正确,按照步骤d继续定位d、连接到步骤a日志中,本地节点需要连接的ip对应的节点,既本DN对应的主DN节点,查看$GAUSSLOG/bin/gs_ctl/下面同时间的日志,查看是否有报错信息,如果有,则按照处理步骤3处理处理步骤1、联系网络运维人员修复.2、联系华为工程师,确定不设置成trust的原因,并确定是否需要修改3、将主备DN对应的报错信息截屏发送给华为工程师,用来做进一步分析查询集群状态,DN状态为CoreDump问题现象dn服务异常,告警DN状态为CoreDump问题分析及定界a、登录到节点后,su - Ruby进入Ruby用户,进入沙箱: 执行如下命令/usr/sbin/chroot --userspec=Ruby:Ruby /var/chroot /bin/bash source /etc/profile && source ~/.bashrcb、cat /proc/sys/kernel/core_pattern 查看里面是否是路径且路径为Ruby用户可访问路径,如果是,则执行步骤b, 否则执行cb、进入该路径并查看是否有core文件生成,如果有core文件生成,则执行处理步骤1c、执行cm_ctl query -Cvipd, 找到当前dn的数据目录,进入数据目录,查看是否有core文件生成,如果有则执行处理步骤1d、cd $GAUSSLOG/ffic_log 查看是否有ffic日志,如果存在ffic日志,则执行处理步骤2处理步骤将core文件下载,并获取高斯内核版本号(gaussdb -V命令),发送给华为工程师 2. 将ffic日志下载,发送给华为工程师查询集群状态,DN状态为ReadOnly问题现象dn服务异常,告警DN状态为ReadOnly问题分析及定界a、df -h 查看磁盘空间分配情况,cm_ctl query -Cvd查看DN数据目录路径,确认所在磁盘空间使用率。b、登陆cmserver主所在节点,cd $GAUSSLOG/cm/cm_server,根据告警时间点,查看cm_server-xxx.log,搜索关键字 Set database to read only mode, 此日志表示当时磁盘使用率超过阈值,DN被设置为只读状态。c、登陆cmserver主节点,进入cmserver数据目录,到cm_server数据目录查看cm_server.conf 配置文件,查看参数datastorage_threshold_value_check的值,当磁盘使用率超过该参数值时,DN就会被设置为只读,避免磁盘被写满。比较DN磁盘使用率是否超过该参数值,如果是,则按照处理步骤1处理,如果否,则按照步骤2处理处理步骤联系华为工程师,确定是否需要扩容或者删除同磁盘的无用文件参考DN只读处理方法
-
查询集群状态,DN状态为Need repair问题现象DN服务异常问题分析及定界a、cm_ctl query -Cvipd查看对应的DN分片是否有主(Primary),如果无主,全部是Standby,通常是DN重启后Redo没有完成,需要等待redo完成,如果5分钟还没恢复,执行处理步骤1;如果有DN主,进入下一步bb、确认DN主备间网络是否正常,登录到主DN所在节点,如果无法登录,则需要排查主DN所在节点网络是异常,否则执行cc、在主DN上执行ping xxx.xxx.xxx.xxx(备DN ip) 确定主备DN间网络是否正常d、确认备DN节点的磁盘是否正常、磁盘空间是否充足e、登录到备DN所在节点,ps -ux | more |grep datanode 查看备DN进程的启动时间,确认备DN是否重启过,如果重启过, 则按照Unknow处理流程中的d、e、f、g、h去定位进程重启的原因。如果未重启、按照处理步骤1处理查询集群状态,DN状态为Wait Promoting、Promoting、Demoting问题现象DN服务异常,发生主备倒换问题分析及定界a、如果集群中有DN的状态为Unknown, 则首先按照Unknown的步骤,对Unknown的节点进行分析处理b、如果不存在Unknown节点,则登录到原主DN节点,cd $GAUSSLOG/pg_log/dn_xxx 进入DN日志目录,ls -lrt 并查看告警发生时间,是否新产生了一份日志文件,如果有,则查看上一份日志文件,查看是否有ERROR、Fatal等导致重启的原因,然后按照定位步骤c继续分析;如果没有,按照处理步骤1处理c、按照Unkown的步骤d、e、f,查看是否有core文件或者ffic文件生成。处理步骤1、观察5分钟,查看集群是否恢复正常,如果可恢复正常,则表示DN主备切换完成,观察集群状态和业务是否恢复,后续定位主备切换原因。如果没有,可以联系华为工程师处理。查询集群状态,DN状态为Disk damaged问题现象DN服务异常,DN状态为Disk Damaged问题分析及定界a、确认磁盘是否损坏,如果损坏,则按照处理步骤1b、如果磁盘无问题,则查看DN数据目录是否被删除,或者被重命名,或者目录的读写权限以及用户组权限是否正确,参照处理步骤2处理 通过命令ps ux | grep “--datanode” 查询DN的数据目录查看DN数据目录和权限:c、有可能是磁盘IO性能差,或者磁盘IO压力太大,无法正常读写,导致检测认为磁盘故障,此时降低业务压力,或更换IO更高的磁盘。 上述3种情况查看cm_agent日志,cd $GAUSSLOG/cm/cm_agent , 找到对应时间点的cm_agent-xxx.log日志,会有如下记录: data path disc writable test failed, 之后DN进程会被杀死 killing datanode by force 处理步骤:1、联系I层尝试修复磁盘故障,如果短时间无法解决,则联系华为工程师,执行节点替换,使用另一个磁盘无问题的节点替换该问题节点2、如果目录被重命名或权限不正确,恢复目录和权限(读写权限、用户组权限),如果DN状态仍有问题,执行节点修复,修复该DN节点。查询集群状态,DN状态为Port conflicting问题现象DN服务异常,DN状态为port conflicting问题分析及定界a、登录到该DN节点,su - Ruby 进入Ruby用户,ps -ux | more | grep datanode, 查看是否有两个名字完全相同的DN进程,如果有则联系华为工程师;如果没有,则按照步骤b继续定位b、如果是首次部署的集群,在Ruby用户执行cm_ctl query -Cvidp,查看故障节点上,是否数据库实例之间存在端口相同导致冲突的情况,如果有,按照处理步骤1处理,如果没有,则按照步骤c继续定位c、lsof -i | grep xxxx(xxxx为DN的端口号),查看是否有其他进程占用了数据库需要的端口,如果有,则按照处理步骤2处理。处理步骤1、联系集群部署人员,确认并将端口号修改为正确的端口号。2、联系集群安装部署人员及进程的拥有者,确认并修改该进程的端口号或者数据库的端口号
-
通过OPS确认节点状态是否已经恢复,或登录后台,执行cm_ctl query -Cv确认集群是否已经Normal。如果状态已经为normal,表明故障已经恢复,集群正常,不再影响业务。确认是否需要分析故障的具体原因,如果需要,继续向下跟随文档进行分析。确定是否为底层故障首先确认是否是物理机、虚拟机、网络,底层故障等环境因素导致。出现如下现象,大概率是底层故障:现象一:同时出现大量告警。不区分节点分类。现象二:闪报,告警之后,马上恢复。总之,不管是何现象,先确认底层是否故障。深入分析本文档各步骤都会用到集群信息,执行cm_ctl query -Cvipd 命令查询集群状态,各信息含义如下图: 查询集群状态,DN状态为Normal问题现象:DN服务异常。问题分析及定界:DN状态显示Normal,说明DN故障已经恢复,需要查看日志分析DN故障原因。 分析步骤:Case1:登录故障dn节点,查看cm_agent日志:cd $GAUSSLOG/cm/cm_agen # 找到告警时间点的日志文件cm_agent-xxx.logCase2:在cm_agent日志中搜索如下关键字(这些关键字在日志中处于同一行),如果有,按照描述处理,如果没有,跳转到步骤cdatanodeId=6001, dn_manual_stop=0, dn_disk_damage=0, nic_down=0, port_conflict=0, dn_build=0, dn_start_counts=0. # 最新版本也可能是如下所示: datanodeId=6030, dn_manual_stop=0, g_dnDiskDamage=0, g_nicDown=0, port_conflict=1, g_dnBuild=0, g_dnStartCounts=0.各个标记含义:dn_manual_stop=1,表示DN进程被停止过,通常有两种原因:(1)被用户停止(2)节点网络断开,被集群管理停止,执行处理步骤1。dn_disk_damage=1 或 g_dnDiskDamage=1,表示磁盘故障,查看DN数据目录是否存在,目录权限是否正常,磁盘是否故障,磁盘是否满。执行处理步骤2。nic_down=1或 g_nicDown=1 或 can’t find nic related with xxx,表示网卡故障, root 用户执行ifconfig命令查看网卡是否down掉,ethx口上的IP是否存在,执行处理步骤3。port_conflict=1,表示端口冲突,查看同目录下对应时间点的system_call-xxx.log日志,该日志中记录了当时端口被那个进程占用了,如下。COMMAND PID USER FD TYPE DEVICE SIZE/OFF NODE NAME gaussdb 24726 Ruby 9u IPv4 4143766500 0t0 TCP pekphisprc09662:42100 (LISTEN)或使用lsof -i:port确认。绝大部分情况下,端口占用是由于DN进程重启,老进程退出没有及时释放端口,这种情况等待几秒到数十秒后,端口释放后新的DN进程就可以启动。执行处理步骤4。Case3:在cm_agent日志中搜索如下关键字:restart msg from cm_server。 如果没有,跳转到步骤Step4。如果有,说明DN进程被CM重启过,可能原因及处理方式如下:oCMserver仲裁DN主备时重启。o进程僵死重启。登陆cmserver主节点,查看日志,检查当时网络读写、CPU、内存、磁盘等监控指标,是否有升高压力。cd $GAUSSLOG/cm/cm_server # 查看对应时间的cm_server-xxx.log日志, 搜索如下信息 phony dead times(5:5) already exceeded, will restart(6001) 或者 restart %u, there is not report msg for %d sec. Case4:cm_agent日志中没有Step2、Step3中的关键字,但是有“DN START”关键字,DN进程可能是core掉重启,按照《查询集群状态,告警DN状态为CoreDump》章节处理 ,如果没有“DN START”关键字,转到Case5。Case5:如果DN进程没有重启过: 查看DN日志 cd $GAUSSLOG/pg_log/dn_60xx, 找到告警时间点的日志,查看是否有报错,确认、收集保存错误日志。 登陆cmserver主所在节点, cd $GAUSSLOG/cm/cm_server,根据告警时间点,查看cm_server-xxx.log, 查看是否有报错信息,收集保存错误日志。 如果CMserver日志有如下【fenced UDF(34) heartbeat timeout, heartbeat:7, threshold:6. 】表示当时DN节点上的cm_agent与cm_server主节点之间短暂超时, 查看当时网络读写、CPU、内存、磁盘等监控指标,是否有升高压力。Case6:登陆cmserver主所在节点,cd $GAUSSLOG/cm/cm_server,根据告警时间点,查看cm_server-xxx.log,搜索关键字Set database to read only mode此日志表示当时磁盘使用率超过阈值,DN被设置为只读状态。同时到cm_server数据目录/var/chroot/usr/local/cm/cm_server查看cm_server.conf 配置文件,查看参数datastorage_threshold_value_check的值,当磁盘使用率超过该参数值时,DN就会被设置为只读,避免磁盘被写满。df -h查看磁盘使用率,查看DN数据目录所在磁盘使用率。处理步骤:Step1:确认用户是否停止过集群,如果没有,就是节点断网后,内核集群管理自动将DN停止,排查断网原因。Step2:检查磁盘是否故障,是否磁盘满(清理或移走磁盘数据)。如果是目录权限异常,修改目录权限,目录不存在或文件丢失,进行节点修复。Step3:如果是网卡故障联系I层检查并修复;如果是IP丢失,重新配置IP。Step4:确认端口被那个进程占用,解除端口占用。Step5:如果不是上述情况请联系华为工程师处理。查询集群状态,DN状态为Unknown问题现象dn服务异常,告警DN状态为Unknown问题分析及定界Case1:确认是否是虚拟机故障或者网络故障。 根据告警中的节点id,生成登录脚本,尝试登录到对应节点,如果不能登录到节点,则需要排查是否是虚拟机故障或者网络故障。如果是则修复。Case2:如果短时间内集群没有恢复normal状态,同时按照如下定位并收集信息。a、登录故障dn节点,cm_ctl query -Cvd查询dn进程的状态b、执行ps -ux | more | grep datanode 查看dn进程状态,确认dn进程是否存在。如果不存在,则按照处理步骤c执行c、执行ps -ux | more | grep cm_agent查看cm_agent进程是否在, 如果不存在,则执行处理步骤5,否则按照步骤d继续定位d、cd $GAUSSLOG/cm/cm_agent , 查看告警时间点的cm_agent-xxx.log日志,查看dn故障的原因(参照DN normal中的定位步骤)e、cd $GAUSSLOG/ffic 查看是否有ffic日志,如果存在ffic日志,则执行处理步骤1 f、cat /proc/sys/kernel/core_pattern 查看里面是否是路径且路径为Ruby用户可访问路径,如果是,则执行步骤g, 否则执行h g、则进入该路径并查看是否有core文件生成,如果有core文件生成,则执行处理步骤2 h、执行cm_ctl query -Cvipd, 找到当前dn的数据目录,进入数据目录,查看是否有core文件生成,如果有则执行处理步骤2,否则执行h i、cd $GAUSSLOG/pg_log/dn_xxx 进入dn日志目录,查看尾部内容,查看是否有ERROR、Fatal信息,如果有执行处理步骤3处理步骤1、将ffic日志下载,并获取高斯内核版本号(gaussdb -V命令),联系华为工程师。2、将core文件下载,并获取高斯内核版本号(gaussdb -V命令),联系华为工程师。3、查看ERROR、Fatal信息中是否包含端口绑定失败、共享内存或者信号量分配失败、文件丢失或无权限等信息,然后执行步骤4。4、将ERROR、Fatal信息上下10行截屏并发送给华为工程师,将日志文件下载联系华为工程师。5、如果不是上述情况请联系华为工程师处理。
-
戳链接了解认证详情:cid:link_0videovideovideovideovideovideo
-
1、目的主要用指导现网配置,用于指导云上(或线下)从GaussDB(DWS)平台连接hadoop。2、总体流程a.从Hadoop客户端获取core-site.xml hdfs-site.xml krb5.conf b.获取用户Krb凭证文件user.keytab c.创建连通配置文件 d.配置上传GaussDB(DWS)沙箱及添加云上路由 e.创建Server指向Hadoop f.用户从GaussDB(DWS)外表访问Hadoop 即,配置GaussDB(DWS)访问HDFS,需要先从HDFS拿到配置,上传到集群所有节点,然后创建server,即可通过外表读取、写入Hadoop数据;2.1 流程说明主要描述GaussDB(DWS)连接CDP平台hadoop方法; 同时简单说明使用方法(读、写操作);2.2 注意事项Core-site、hdfs-site、krb5.conf需获取到正确信息;GaussDB(DWS)需要和Hadoop、Kerberos网络互通;Elk-site文件配置需要填写正确;3、配置Hadoop服务连接3.1 获取hadoop配置最好是从hadoop在用的客户端服务器(运行kinit/hdfs/beeline/impala-shell服务器)获取配置,主要要求提取core-site.xml、hdfs-site.xml、krb5.conf(该文件是存在认证的Kerberos配置)文件。 这些文件用于指向hadoop以及Kerberos认证使用。 文件临时存放在hadoop客户端服务器目录:/tmp/cdp目录下(cdp可自定义)3.2 获取用户keytab文件该文件也是从hadoop侧获取,主要是存在Kerberos认证环境,涉及到该文件。 文件临时存放在hadoop客户端服务器目录:/tmp/cdp目录下(cdp可自定义) 获取到用户keytab环境,最好可以在hadoop客户端服务器执行一下凭证: kinit -kt xxx.keytab user_xxx 其中xxx.keytab即hadoop登陆所需的用户凭证文件,可以任意命名,建议可以是user.keytab; User_xxx,指访问hadoop环境的用户名信息; Kinit成功后,执行klist可以看到凭证有效期信息; 同时可以执行hdfs命令行,查看hadoop文件:如 hdfs dfs -ls / #可以获取hadoop根目录信息3.3 创建GaussDB(DWS)访问Hadoop配置文件配置文件必须命名成:elk-site.xml (注意,中间是-横杠而非下划线) 文件临时存放在hadoop客户端服务器目录:/tmp/cdp目录下(cdp可自定义) 文件填写信息如下:<?xml version="1.0" encoding="UTF-8" standalone="no"?> <configuration> <property> <name>dfs.namenode.kerberos.principal</name> <value>user_xxx@XXX.COM</value> </property> <property> <name>dfs.namenode.kerberos.keytab</name> <value>/MRS/cdp/user.keytab</value> </property> </configuration>其中user_xxx@XXX.COM信息中,user_xxx指访问hadoop的用户信息,xxx.com,来源于krb5.conf文件中【realms】信息域名信息; 其中/MRS/cdp/user.keytab,此处user.keytab即5.2中用户提供的keytab文件;/MRS/cdp指打算上传到GaussDB(DWS)各服务器节点最终配置目录的全路径,这个路径是可以自定义,但建议在/MRS下面创建一个子目录,用于表达和hadoop体系相关。如果填写出错,查询hadoop外表时,会报keytab路径找不到;3.4 配置上传1)登陆GaussDB(DWS)服务器任一节点(云上版本登入沙箱的Ruby用户,线下版本登入到omm用户),在/tmp目录下创建cdp子目录(cdp目录可以自定义); 2)记录当前GaussDB(DWS)服务器节点的hostname,如DWS001; 3)切换目录 cd /tmp/cdp; 4)执行配置上传动作:scp <hadoop客户端用户>@<hadoop客户端IP>:/tmp/cdp ./ 5)此时,从hadoop客户端的临时目录/tmp/cdp获取到5个配置文件(core-site.xml、hdfs-site.xml、krb5.conf、user.keytab、elk-site.xml),且存放在本机/tmp/cdp目录 6)GaussDB(DWS)服务器所有节点创建配置文件存放目录:/MRS/cdp (cdp可自定义) gs_ssh -c "mkdir /MRS/cdp" #批量,所有节点创建目录 7)执行配置文件广播到GaussDB(DWS)服务器所有节点 gs_ssh -c "scp DWS001:/tmp/cdp/* /MRS/cdp/" #批量,所有节点上传配置 此处DWS001即执行命令所在服务器的机器名 8)检查是否成功上传 gs_ssh -c "ls -l /MRS/cdp" #批量,查看所有节点文件正常上传3.5 路由添加完成网络打通,该步骤主要针对云上版本,因为云上版本限于云安全访问,均存在路由进出控制,需打通路由; 为了后续可维护性(温备替换、节点扩容),建议由云底座维护人员统一添加,主要告知打通GaussDB(DWS)所有节点到CDP的hadoop及Kerberos地址连通信息,涉及name node、data node、Kerberos所在服务器IP(可建议直接开通网段)。 若是临时个人测试、验证,可参见下述操作获取hadoop及Kerberos地址连通信息,涉及name node、data node、Kerberos所在服务器IP 通常在hadoop客户端服务器的/etc/hosts可获取获取GaussDB(DWS)所有节点所在服务器业务网的网卡名称 登陆服务器执行:ip a|grep “xx.xx.xx业务网段”|awk ‘{print $7}’ 一般云上都是bound0.xxx各服务器在root用户下添加路由访问配置 route add -net xx.xx.xx.0(krb网段) netmask 255.255.255.0 gw xx.xx.xx.1(节点对外IP网段) dev bond0.xxx(节点对外IP绑定的网卡) route add -net xx.xx.xx.0(name noded网段) netmask 255.255.255.0 gw xx.xx.xx.1(节点对外IP网段) dev bond0.xxx(节点对外IP绑定的网卡) route add -net xx.xx.xx.0(data node网段) netmask 255.255.255.0 gw xx.xx.xx.1(节点对外IP网段) dev bond0.xxx(节点对外IP绑定的网卡) 如果网段一样,每台机器只要合并执行一次配置完,可以登入沙箱环境,检查网络是否打通; gs_ssh -c "ssh -c test-name -p 8010 -v " #批量ping对应节点8010端口是否可以建立连接 此处test-name通常指连接name node ip需要使用该协议,但可能也不需要到此,GaussDB(DWS)所有节点访问hadoop网络打通;3.6 添加hosts配置从hadoop中获取到hadoop集群相关IP信息 获取hadoop及Kerberos地址连通信息,涉及name node、data node、Kerberos所在服务器IP(客户端/etc/hosts)添加到GaussDB(DWS)所有节点沙箱环境的hosts文件中 即在沙箱外root用户,编辑/var/chroot/etc/hosts文件,添加主机信息到此,GaussDB(DWS)所有节点可以通过主机名访问到hadoop; 注意,网络不通,最终会导致GaussDB(DWS)无法访问到hadoop,大部分人都是在网络这关卡住,有一部分人是没有正确配置/var/chroot/etc/hosts(即沙箱内的/etc/hosts)3.7 创建数据库内Server地址指向通过SQL执行创建server,用于指向Hadoop服务;create server <server名称, test_server> foreign data wrapper HDFS_FDW options (type 'hdfs', address '<name_node 11.11.11.11>:<port, 8010>,<standby_name_node>:<port 8020>', hdfscfgpath '<hadoop配置信息,如/MRS/cdp>');其中<server名称, test_server>:自定义指向user_xxx用户的hadoop服务名称; 其中<name_node 11.11.11.11>:<port, 8010>,:<port 8020>:填写主备name node服务的IP和端口信息 其中<hadoop配置信息,如/MRS/cdp>:填写沙箱内配置文件最终上传的地址目录创建成功之后,这个server就可以发布给用户创建外表时使用;读写Hadoop数据,都通过外表定义的形式访问。4、使用样例4.1 读操作外表定义create foreign table <外表名称, ft_table1> ( <字段名> <字段类型>, .... ) server <server名称, test_server> options ( foldername '<hadoop full path for table, /user/hive/warehouse/pdm.db/t00_ccy_parm>', format 'parquet', encoding 'utf8' ) distribute by roundrobin;其中<外表名称, ft_table1>:自定义的外表的名称,可以带schema名 其中<字段名> <字段类型>:主要依据hadoop平台上用户表的数据定义 其中<server名称, test_server>:即5章节创建的server名; 其中<hadoop full path for table, /user/hive/warehouse/pdm.db/t00_ccy_parm>:hadoop平台数据访问地址; 其中<存储格式,parquet>:指数据在hadoop平台存储格式,通常用ORC,parquet格式; 其中utf8:数据的字符集;外表使用(常规SQL访问读取) Select count(*) from ft_table1; 也可加工插入目标表。4.2 写操作外表定义create foreign table <外表名称, ft_table2> ( <字段名> <字段类型>, .... ) server <server名称, test_server> options ( foldername '<hadoop full path for table, /user/hive/warehouse/pdm.db/t00_ccy_parm2>', format 'ORC', encoding 'utf8' ) write only;同读外表比,主要调整增加了WRITE ONLY字眼; 另外,当前只支持ORC外表写入,不支持parquet; 关注部分hive的ORC类型在impala里无法访问(自动转换类型);对应hive上创建相同表 Beeline > create table pdm.t00_ccy_parm2 (字段 字段定义 。。。) stored as ORC;外表使用 Insert into ft_table2 select * from pdm. t00_ccy_parm; 注意,写入hadoop均是以overwrite方式写入,即每次都会覆盖对应数据表Hive访问从GaussDB(DWS)同步到hadoop数据 testhive > select * from pdm. t00_ccy_parm2;5、其他5.1 常见问题1)创建外表后查询报错 ERROR: Login failed on cn_5001, check your principal and keytab. CN日志显示: failed to check ticket cache: No credentials cache found(), error code = -1765328189 failed to kinit: Cannot contact any KDC for realm 'HADOOP.COM' ,error code = -1765328228 解决思路:CN和hadoop集群的kerberos认证通信问题,检查DWS和hadoop集群网络通信 2)上述报错在DN 解决思路:DN节点和hadoop集群的kerberos认证通信问题,检查DWS和hadoop集群网络通信5.2 网络排查云上DWS对接线下hadoop,需要保证DWS集群的业务网卡和hadoop进行通信, 一般遇到都是某个节点因重启导致路由丢失,这种需要将配置路由策略永久添加到配置文件。 DWS集群往往因为节点多,无法清楚知晓那个节点到Hive的网络不通。可以参考以下方法:gs_ssh -c "ssh -v 10.10.10.252 -p 25000 -o ConnectTimeout=1"看那个节点没有Connection established.证明网络不通。总结遇到对接问题时,耐心梳理每一个点,问题总是在那么一个小点,努力排查问题终将迎刃而解。 文中如有不足或其他问题,欢迎大家提出意见或者建议,将及时修改,确保能帮助到大家,谢谢。
-
java_home\bin的环境变量也设置了,到底是怎么回事,孩子疯了
-
确认节点状态先通过OPS确认节点状态是否已经恢复,或登录后台执行cm_ctl query -Cv确认集群是否已经Normal。如果状态已经为normal,表明故障已经恢复,集群正常,不再影响业务。 确认是否需要分析故障的具体原因,如果需要,继续向下跟随文档进行分析 首先确认是否是底层故障如虚拟机故障、网络故障、存储故障,排除底层故障后再继续定位定位导图总览CN进程normal问题现象cm_ctl query -Cvd 查询集群状态,告警CN显示normal。 问题分析与定界step1.登录告警CN节点,su 进入集群用户,ps ux | grep 'gaussdb --coordinator',查看CN进程启动时间,确认CN是否重启,如果没有重启参考处理方法一(结束),若重启则跳至step2step2. cd $GAUSSLOG/cm/cm_agentstep3. 打开对应时间点的vi cm_agent-*.logstep4.查看日志中对应时间点是否含有关键词 cn restart,如果同时有process (gaussdb 17391) is T (STOPPED) 类似日志,说明进程hang住了,跳至step6step5.若日志中没有cn restart关键词,查看日志中对应时间点是否含有关键词 CN START.有则跳至step10step6.登录到CMS主节点 cd $GAUSSLOG/cm/cm_serverstep7.打开对应时间点的cm_server*.logstep8.查看日志中对应时间点是否含有关键词 restart %u, there is not report msg for %d sec. 如果有,则CN重启原因为心跳超时,参考处理步骤方法一(结束 ) step9.查看日志中对应时间点是否含有关键词 phony dead times (%d) already exceeded, will restart...则CN重启原因为进程僵死,参考处理步骤方法一(结束)step10.cd $GAUSSLOG/cm/cm_agent,打开对应时间点的system_call-*.log,查看对应时间点是否有关键词can not bind ip,如果没有则跳至step12step11.如果有关键词can not bind ip,则CN重启原因为CN IP丢失,参考处理步骤方法二 (结束)step12.cd $GAUSSLOG/pg_log/cn_XXstep13.查看相关postgresql_xxx.log, 查看相关时间点是否有关键词PANIC,如果有则原因为core,参考处理步骤方法一。step14.查看CN数据目录下是否有core生成,如果有则原因为core,参考处理步骤方法一。step15.查看$GAUSSLOG/ffic_log日志,查看对应时间点是否有打印日志,如果有则原因为core,参考处理步骤方法一。处理步骤方法一:联系华为工程师进行定位方法二:检查故障节点虚拟IP,浮动IP。如有问题,请排查管控HA是否关闭。CN进程down问题现象cm_ctl query -Cvd 查询集群状态,告警CN显示down。问题分析与定界step1. cd $GAUSSLOG/cm/cm_agentstep2.打开对应时间点的cm_agent-*.logstep3.查看日志中对应时间点是否含有关键词 cn_disk_damage=1,如果有,则原因为数据/日志磁盘损坏或磁盘满,参考处理步骤方法一。step4.查看日志中对应时间点是否含有关键词 port_conflict=1,如果有,则原因为端口冲突,参考处理步骤方法二。step5.查看日志中对应时间点是否含有关键词 cn_nic_down=1,如果有,则原因为网卡故障,参考处理步骤方法三。step6.查看日志中对应时间点是否含有关键词 cn_manual_stop=1,如果有,则原因为手动停止,参考处理步骤方法四。处理步骤方法一:查看对应故障cn的磁盘是否有故障,如无故障则检查是否磁盘满。方法二:lsof -i:端口号,查看端口占用进程,联系华为工程师定位处理方法三:联系I层查看是否存在网卡故障方法四:查看是否有人手动停止CN进程deleted问题现象cm_ctl query -Cvd 查询集群状态,告警CN显示deleted。问题分析与定界step1.确认当时时间故障CN所在节点是否正常,是否主机故障,重启、掉电,断网等,参考处理步骤方法一。step2.登入CMS主节点,cd $GAUSSLOG/cm/cm_server,打开对应时间点的cm_server*.logstep3.如果日志中有关键词isCnDnDisconnected=1, 则原因为CN与所有主DN断连,参考处理步骤方法二。step4.如果日志中有关键词cn_down_to_delete=1,则原因为CNdown 导致,参考处理步骤方法三。step5.如果日志中有关键词cn instance restarts within ten minutes is more than,则原因为CN进行重启 导致,参考处理步骤方法四。处理步骤方法一:联系I层查看主机故障原因,排除故障后,在管控点击节点修复修复cn节点。方法二:在管控点击[节点修复]修复cn节点,联系华为工程师处理方法三:在管控点击[节点修复]修复cn节点,参考第二章CN DOWN进行定位方法四:在管控点击[节点修复]修复cn节点,参考第一章CN NORMAL进行定位CN进程readonly问题现象cm_ctl query -Cvd 查询集群状态,告警CN显示readonly。问题分析与定界step1、登录到只读CN节点后,su - Ruby进入Ruby用户, 执行/usr/sbin/chroot --userspec=Ruby:Ruby /var/chroot 进入沙箱,source /etc/profile设置环境变量step2、df -h 查看磁盘空间分配情况,cm_ctl query -Cvd查看CN数据目录路径,确认所在磁盘空间使用率。step3、登陆cmserver主节点,进入cmserver数据目录/var/chroot/usr/local/cm/cm_server,查看cm_server.conf 配置文件,查看参数datastorage_threshold_value_check的值,当磁盘使用率超过该参数值时,CN就会被设置为只读,避免磁盘被写满。比较CN磁盘使用率是否超过该参数值,如果是,则按照处理步骤1处理,如果否,则按照步骤2处理处理步骤1、联系华为工程师,确定是否需要扩容或者删除同磁盘的无用文件2、参考CN只读处理方法
-
如图,想问下要怎么解决。选择的jar包是:gsjdbc4.jar而且很奇怪的是,没有设置enable_ce=1时,就能成功连接,设置后才会出现报错。
-
介绍ora2og是一个将Oracle数据库迁移至openGauss的工具,主要编程语言为perl,通过perl DBI模块连接Oracle数据库,自动扫描并提取其中的对象结构及数据,产生SQL脚本,通过手动或自动的方式应用到openGauss。此外,工具还提供丰富配置项,用户可以自定义迁移行为。ora2og初始代码源自ora2pg,一个将Oracle迁移至PostgreSQL的开源工具。版本为release v21.1:https://github.com/darold/ora2pg/tree/v21.1。优秀特性支持导出数据库绝大多数对象类型,包括表、视图、序列、索引、外键、约束、函数、存储过程等。提供PL/SQL到PL/PGSQL语法的自动转换,一定程度避免了人工修正。可生成迁移报告,包括迁移难度评估、人天估算。可选对导出数据进行压缩,节约磁盘开销。配置选项丰富,可自定义迁移行为。执行迁移环境本篇使用环境:Oracle : 华为云服务器2核4G + CentoOS 7.6 +Oracle 11.2openGauss:华为云服务器2核4G + CentoOS 7.6 +openGauss 3.1.0极简版两台节点网络互通迁移前准备Ora2og工具既可以安装在Oracle服务器上,也可以安装在openGauss服务器上。本篇中将工具部署在Oracle服务器上。注意,如果安装在openGauss上时,需要在服务器上安装Oracle客户端。下载路径:cid:link_0 软件安装Ora2Pg语言为perl,故需安装所需perl模块。# root用户下操作yum install -y perl-ExtUtils-CBuilder perl-ExtUtils-MakeMakeryum install perl-CPAN安装DBI、JSON、DBD:Pg、DBD:Oracle,Ora2Pg依赖这些软件去连接数据库。perl -MCPAN -e 'install DBI'perl -MCPAN -e 'install JSON'perl -MCPAN -e 'install DBD::Pg'export ORACLE_HOME=/u01/app/oracle/product/11.2.0/export LD_LIBRARY_PATH=/u01/app/oracle/product/11.2.0/lib使用 perl -MCPAN -e 'install DBD::Oracle' 安装报错了,换了另一种自己编译的方式。[root@oraclehost ora2pg-master]# perl -MCPAN -e shell......cpan[1]> get DBD::Oracle........Checksum for /root/.cpan/sources/authors/id/Z/ZA/ZARQUON/DBD-Oracle-1.83.tar.gz ok......cpan[2]> quit[root@oraclehost ora2pg-master]# cd /root/.cpan/sources/authors/id/Z/ZA/ZARQUON/[root@oraclehost ZARQUON]# tar -zxvf DBD-Oracle-1.83.tar.gz[root@oraclehost ZARQUON]# cd DBD-Oracle-1.83[root@oraclehost DBD-Oracle-1.83]# perl Makefile.PL[root@oraclehost DBD-Oracle-1.83]# make && make installora2og工具安装安装Ora2Pg 为目标安装路径,为下载的代码路径。 如果服务器上没有git的话,可以从网站把源码包下载再解压。mkdir -p /opt/software/ora2pggit clone cid:link_2# 进到代码目录下perl Makefile.PL PREFIX=make && make install# 设置环境变量,查看是否安装成功export PERL5LIB=/libexport PATH=$PATH:/usr/local/bin需要确保bin路径下有ora2pg这个文件,否则命令找不到。执行ora2pg --help 创建迁移项目ora2pg --init_project oramig创建迁移项目后会在当前目录下生成oramig目录模板,如下所示。其中主要包含两个脚本export_schema.sh和import_all.sh,后续导出和导入即使用这两个脚本。schema和sources目录存放各对象的DDL语句,区别在于schema存放PL/SQL语法转化为PL/PGSQL后的语句, sources目录存放转化前PL/SQL的语句,data目录存放表数据文件,config目录包含配置文件ora2pg.conf,reports目录存放迁移报告。Oracle建个表,用来做测试数据create table customerchat.test(name char(10));insert into customerchat.test values('opengauss');create table customerchat.xxx(name char(20));insert into customerchat.xxx values('yy');openGauss侧新建数据库mydb和用户tuser ,迁移时会用到。mydb=#create database mydb;mydb=# CREATE USER tuser WITH PASSWORD '自己定义';mydb=# GRANT ALL PRIVILEGES TO tuser;mydb=# alter database mydb owner to tuser;配置ora2pg.conf注意路径,后面执行sh的时候会找config/ora2pg.conf。cp <your_install_dir>/etc/ora2pg/ora2pg.conf.dist /config/ora2pg.confORACLE相关参数:ORACLE_HOME /u01/app/oracle/product/11.2.0/ORACLE_DSN dbi:Oracle:host=oracleIP;sid=orcl;port=1521ORACLE_USER customerchat // 这里用的oracle普通用户和密码ORACLE_PWD XXXXXSCHEMA customerchat //一般和用户名一样openGauss相关参数:PG_DSN dbi:Pg:dbname=mydb;host=localhost;port=5432PG_USER tuserPG_PWD 自己定义的密码工具自身参数:DATA_LIMIT 默认是10000,如果oracle服务器内存较小,比如4G以下,可以修改为2500或5000,否则可能会报内存不足。更多更详细的配置项说明,可查看官网:https://ora2pg.darold.net/documentation.html测试一下配置:执行 ora2pg -t SHOW_VERSION -c config/ora2pg.conf 会返回连接的Oracle版本号。测试迁移修改迁移工具oramig目录下export_schema.sh中导出类型EXPORT_TYPE和SOURCE_TYPE,本次迁移导出TABLE。在oramig目录下执行sh export_schema.sh执行完成后 在schema/tables生成 table.sql ,里面是建表脚本。reports/目录下生成的report报告还是在oramig目录下执行导入为了使用openGauss命令行工具gsql,需要将数据库的bin和lib加在操作系统的环境变量PATH和LD_LIBRARY_PATH中。可以直接root用户执行gsql测试下。3. 将import_all.sh里的psql修改为gsql。执行导入脚本,表示使用用户tuser登录openGauss中mydb的数据库,ip和端口,-f选项表示跳过用户和数据库是否需要创建的检查。sh import_all.sh -d mydb -o tuser -h openGaussIP -p 5432 -f执行成功。可以看到表和数据都已经迁移过来。Ora2Pg不足Ora2Pg对PL/SQL和PL/PGSQL的语法转换处理采用正则表达式和文本替换的方式,先天设计不足,很难覆盖所有的语法,目前仅支持部分转换。因此,Ora2Pg可以满足SQL简单的应用迁移,对于复杂的语法,并不能完全保证转换的正确性,需要对生成的SQL语句进行核对,必要时需要人工修正。FAQ报错:Path to pg_config? /opt/software/openGauss/bin/pg_config/opt/software/openGauss/bin/pg_config: error while loading shared libraries: libssl.so.1.1: cannot open shared object file: No such file or directory环境自带的是1.0.2,得升级libssl.so。[root@oraclehost ~]# openssl version -aOpenSSL 1.0.2k-fips 26 Jan 2017yum remove openssl获取新的版本并安装wget https://www.openssl.org/source/openssl-1.1.1c.tar.gztar -zxvf openssl-1.1.1c.tar.gzcd openssl-1.1.1c./config --prefix=/usr/local/openssl #如果此步骤报错,需要安装perl以及gcc包make && make installln -s /usr/local/openssl/lib/libssl.so.1.1 /usr/lib64/libssl.so.1.1ln -s /usr/local/openssl/lib/libcrypto.so.1.1 /usr/lib64/libcrypto.so.1.1ln -s /usr/local/openssl/bin/openssl /usr/bin/opensslln -s /usr/local/openssl/include/openssl /usr/include/opensslecho "/usr/local/openssl/lib" >> /etc/ld.so.confldconfig -vsudo yum install postgresql-devel再重新执行 perl -MCPAN -e 'install DBD::Pg'2、perl 报错 Can’t locate JSON.pm in @INC解决:sudo perl -MCPAN -e 'install JSON'3、如何查看SID ?SQL> select instance_name from V$instance;4、执行 ora2pg -t SHOW_VERSION -c ora2pg.conf 报错FATAL: -1 ... ERROR OCIEnvNlsCreate. Check ORACLE_HOME (Linux) env var or PATH (Windows) and or NLS settings, permissions, etc.Aborting export...Export $ORACLE_HOME了半天,发现原来是 ora2pg.conf 里面配置的ORACLE_HOME 不对5、执行ora2pg -t SHOW_VERSION -c ora2pg.conf报错FATAL: 12505 ... ORA-12505: TNS:listener does not currently know of SID given in connect descriptor (DBD ERROR: OCIServerAttach)Aborting export...解决办法 SID配置有问题 或者 /etc/hosts有问题。参考下面连接解决https://www.shuzhiduo.com/A/6pdDw0bl5w/6、执行 ora2pg -t SHOW_VERSION -c config/ora2pg.conf 报错install_driver(Oracle) failed: Can't load '/usr/local/lib64/perl5/auto/DBD/Oracle/Oracle.so' for module DBD::Oracle: libclntsh.so.11.1: cannot open shared object file: No such file or directory at /usr/lib64/perl5/DynaLoader.pm line 190.解决办法export LD_LIBRARY_PATH=$ORACLE_HOME/lib7、执行 ora2pg -t SHOW_VERSION -c ora2pg.conf报错FATAL: ORA-08178: illegal SERIALIZABLE clause specified for user INTERNAL (DBD ERROR: OCIStmtExecute)解决办法:不要使用sys用户,使用普通oracle用户(没有可新建),然后修改 ora2pg.conf中的用户名和密码8、执行sh import_all.sh -d mydb -o tuser -h IP -p 5432 -f 提示Out of memory , 但是top显示还有1G多。解决办法:Opened ./config/ora2pg.conf and modfied set DATA_LIMIT 5000 or 2500 solved the issue.9、报错:DBD::Pg::db do failed: ERROR: permission denied for relation xxx解决办法:需要给openGauss的角色赋权限mydb=# grant all privileges to tuser;10、报错: DBI connect('dbname=mydb;host=openGaussIP;port=5432','testuser',...) failed: connection to server at "openGaussIP", port 5432 failed: none of the server's SASL authentication mechanisms are supported at /opt/software/ora2pg/lib解决办法:这个错是openGauss返回的。需要把openGauss的pg_hba.conf & postgres.conf再搞下。修改 data/single_node/postgresql.conf 中password_encryption_type = 1 。修改pg_hba.conf 中然后重启openGauss:gs_ctl restart -D /opt/software/openGauss/data/single_node
-
DWS数据库,8.1.0.3版本。当业务场景为查询大量数据到客户端本地时(如:select * from aa;该结果返回100万数据),在查询结束,数据传输到本地过程时,通过验证查询状态为idle in transaction状态问题:该状态为数据返回给客户端状态,测试的速率为10M/S,有什么办法可以提高数据返回速率?
-
未来5年将是国产数据库的主战场。数据库作为竞争最激烈的国产软件赛道,在技术服务、人才发展等方面有着巨量需求。华为云数据库测评热身,快速了解自身数据库水平,闯关So-easy!还有HUAWEI WATCH GT2、无线耳机、华为手环4等万元奖品拿!活动时间:2022年11月8~12月31活动对象:开发者、高校师生、对数据库感兴趣的0基础用户 活动内容: 参与方式: 点击参与 GOGOGO!!! 测评规则:测评内容:了解数据库的基础理论如关系、表、事务等,SQL基础知识;测评共 (20) 道题,总分100分,通过测评分数80分;需在(60分钟)内交卷,过程中无法暂停,请提前安排好时间;如未及时交卷,则本次考试作废推荐使用Chrome浏览器,或Firefox浏览器本测试2小时内只允许答题一次有问题可添加小助手微信18209232786激励规则:1.“邀请好友”激励:“邀请用户”奖励有效邀请人数奖品奖品数量X≥5圆领T恤/(加湿器、手机支架、字母笔、U盘、文件夹),任选二,随机发200X≥10荣耀体脂称2/折叠烧水壶50X≥15茶壶套装/HUAWEI mini蓝牙音箱 _绮境森林70X≥30华为手环4/保温杯/HUAWEI背包70X≥50HUAWEI FreeLace无线耳机活力版曜石黑+华为10000mA移动电源20X≥100HUAWEI WATCH GT2 运动款32MB+ 4GB曜石黑5有效邀请指,邀请来的用户需要完成活动报名,并通过自测题2.完成 “华为云数据库自测题”奖励:“华为云数据库自测题”奖励奖品奖品数量HUAWEI FreeLace无线耳机10华为手环4/hilink保温杯20罗技鼠标5032 U盘80加湿器100手机支架100字母笔100文件夹100中奖率是通过自测题人数的20%,实际奖品发放数量将按照奖品数量上限的比率提供。抽奖形式:活动结束后,将参与数据导入第三方开源抽奖平台进行抽奖,抽奖过程全程透明公开。抽奖结束后将在此贴公布结果&收集收货信息。活动其他事宜通知○所有活动奖品将在活动结束后20个工作日内完成发放;○活动奖品颜色随机,且部分奖品数量有限发完即止,如对应奖品无库存会更换等价奖品;○活动奖品需要进行华为云账号实名认证后领取;○为保证活动的公平公正,华为云有权对恶意刷活动资源(“恶意”是指为获取资源而异常注册账号等破坏活动公平性的行为),利用资源从事违法违规行为的用户收回抽奖及奖励资格。○本活动规则由华为云在法律规定范围内进行解释。华为云保留不时更新、修改或删除本活动规则的权利。○本次活动回帖内容需满足华为云论坛发帖规范:cid:link_1
上滑加载中
推荐直播
-
华为云码道-AI时代应用开发利器2026/03/18 周三 19:00-20:00
童得力,华为云开发者生态运营总监/姚圣伟,华为云HCDE开发者专家
本次直播由华为专家带你实战应用开发,看华为云码道(CodeArts)代码智能体如何在AI时代让你的创意应用快速落地。更有华为云HCDE开发者专家带你用码道玩转JiuwenClaw,让小艺成为你的AI助理。
回顾中 -
Skill 构建 × 智能创作:基于华为云码道的 AI 内容生产提效方案2026/03/25 周三 19:00-20:00
余伟,华为云软件研发工程师/万邵业(万少),华为云HCDE开发者专家
本次直播带来两大实战:华为云码道 Skill-Creator 手把手搭建专属知识库 Skill;如何用码道提效 OpenClaw 小说文本,打造从大纲到成稿的 AI 原创小说全链路。技术干货 + OPC创作思路,一次讲透!
回顾中 -
码道新技能,AI 新生产力——从自动视频生成到开源项目解析2026/04/08 周三 19:00-21:00
童得力-华为云开发者生态运营总监/何文强-无人机企业AI提效负责人
本次华为云码道 Skill 实战活动,聚焦两大 AI 开发场景:通过实战教学,带你打造 AI 编程自动生成视频 Skill,并实现对 GitHub 热门开源项目的智能知识抽取,手把手掌握 Skill 开发全流程,用 AI 提升研发效率与内容生产力。
回顾中
热门标签