云服务器内容精选

  • 绑定实例的弹性公网IP 登录分布式数据库中间件控制台。 在“实例管理”页面,选择指定的实例,单击实例名称,进入实例基本信息页面。 在“实例信息”模块“弹性公网IP”处,单击“绑定”。 在弹出框的地址列表中,显示“未绑定”状态的弹性公网IP,选择所需绑定的弹性公网IP,单击“确认”,提交绑定任务。 如果没有可用的弹性公网IP,单击“查看弹性公网IP”,获取弹性公网IP。 图1 绑定弹性公网IP弹窗 在实例基本信息页面,查看绑定成功的弹性公网IP。
  • 请求参数 表2 请求Header参数 参数 是否必选 参数类型 描述 X-Auth-Token 是 String 账号的token Content-Type 是 String MIME类型 表3 请求Body参数 参数 是否必选 参数类型 描述 change_security_group 是 ChangeSecurityGroup object change_security_group对象 表4 ChangeSecurityGroup 参数 是否必选 参数类型 描述 security_group_id 是 String 需要修改的目标安全组ID。
  • 问题现象 连接GaussDB(DWS) 数据库时报错,提示客户端连接数太多。 使用gsql等SQL客户端工具连接数据库时,出现如下所示的报错信息: 1 FATAL: Already too many clients, active/non-active/reserved: 5/508/3. 使用客户端并发连接数据库时,出现如下所示的报错信息: 1 2 [2019/12/25 08:30:35] [ERROR] ERROR: pooler: failed to create connections in parallel mode for thread 140530192938752, Error Message: FATAL: dn_6001_6002: Too many clients already, active/non-active: 468/63. FATAL: dn_6001_6002: Too many clients already, active/non-active: 468/63.
  • 处理方法 可优先通过如下方法进行应急处理: 临时将所有non-active的连接释放掉。 1 SELECT PG_TERMINATE_BACKEND(pid) from pg_stat_activity WHERE state='idle'; 在GaussDB(DWS) 控制台设置会话闲置超时时长session_timeout,在闲置会话超过所设定的时间后服务端将主动关闭连接。 session_timeout默认值为600秒,设置为0表示关闭超时限制,一般不建议设置为0。 session_timeout设置方法如下: 登录GaussDB(DWS) 管理控制台。 在左侧导航栏中,单击“集群管理”。 在集群列表中找到所需要的集群,单击集群名称,进入集群“基本信息”页面。 单击“参数修改”页签,修改参数“session_timeout”,然后单击“保存”。 在“修改预览”窗口,确认修改无误后,单击“保存”。 如果上述方式未能满足业务需求,可继续参考以下方式进行处理: 当前数据库连接已经超过了最大连接数场景处理方式: 查看CN上的连接来自哪里,总数量以及是否超过当前max_connections(默认值CN节点为800,DN节点为5000)。 1 SELECT coorname, client_addr, count(1) FROM pgxc_stat_activity group by coorname, client_addr order by coorname; 判断是否可以调大max_connections。调整策略如下: 调大CN的max_connections会造成并发连接到DN的查询变多,所以需要同步调大DN的max_connections和comm_max_stream。 CN/DN的max_connections一般按照原来的2倍调大,原值比较小的集群可以调节到4倍。 为避免在准备步骤失败,max_prepared_transactions的值不能小于max_connections,建议至少将其设置为等于max_connections,这样每个会话都可以有一个等待中的预备事务。 若上一步中判断可以调整max_connections,则可通过管理控制台调整最大连接数max_connections。 在管理控制台上,集群“基本信息”页面,单击“参数修改”页签,修改参数“max_connections”为合适的值,然后单击“保存”。 针对设置了用户最大连接数的场景处理方式: 在创建用户时由CREATE ROLE命令的CONNECTION LIMIT connlimit子句直接设定,也可以在设定以后用ALTER ROLE的CONNECTION LIMIT connlimit子句修改。 使用PG_ROLES视图查看指定用户的最大连接数。 1 2 3 4 5 SELECT ROLNAME,ROLCONNLIMIT FROM PG_ROLES WHERE ROLNAME='role1'; rolname | rolconnlimit ---------+-------------- role1 | 10 (1 row) 修改用户的最大连接数。 1 ALTER ROLE role1 connection limit 20;
  • 背景 许多客户的Hive表数据在OBS或HDFS上,需要Doris对接Hive外表,且Hive集群分为安全集群与非安全集群,所以可以使用以下4种方式进行数据查询: 使用catalog连接非安全认证hive on hdfs。 使用catalog连接kerberos安全认证hive on hdfs。 使用catalog连接非安全认证hive on obs。 使用catalog连接kerberos安全认证hive on obs。
  • Kerberos介绍 Hadoop社区版本提供两种认证方式Kerberos认证(安全模式)和Simple认证(普通模式),在创建集群时,MRS支持配置是否启用Kerberos认证。 在安全模式下MRS集群统一使用Kerberos认证协议进行安全认证。 功能 使用Kerberos的系统在设计上采用“客户端/服务器”结构与AES等加密技术,并且能够进行相互认证(即客户端和服务器端均可对对方进行身份认证)。可以用于防止窃听、防止replay攻击、保护数据完整性等场合,是一种应用对称密钥体制进行密钥管理的系统。 使用前提 需要Kerberos客户端、keytab路径、Kerberos认证用户名称、客户端配置krb5.conf文件。 原理结构图 Kerberos原理架构图如下图所示,详细介绍请参见MRS服务的安全认证原理以及认证机制章节。 图1 原理架构图 表1 参数说明 参数 说明 Application Client 应用客户端,通常是需要提交任务(或者作业)的应用程序。 Application Server 应用服务端,通常是应用客户端需要访问的应用程序。 Kerberos 提供安全认证的服务。 KerberosAdmin 提供认证用户管理的进程。 KerberosServer 提供认证票据分发的进程。
  • 解绑弹性公网IP 对于已绑定弹性公网IP的实例,在“实例管理”页面,选择目标实例,单击实例名称,进入实例“基本信息”页面。 在网络信息模块,单击“读写公网地址”后面的“解绑”。 在“解绑”弹出框中单击“是”,解绑弹性公网IP。如需重新绑定,请参见绑定弹性公网IP。 若您已开启高危操作保护,在弹框中单击“去验证”,跳转至验证页面,单击“免费获取验证码”,正确输入验证码并单击“认证”,页面自动关闭。 关于如何开启操作保护,具体请参考《统一身份认证服务用户指南》的内容。
  • 操作场景 GaussDB(for MySQL)数据库实例创建成功后(默认未绑定“读写公网地址”),您可根据业务需要为实例绑定弹性公网IP,用于在公共网络访问数据库实例,绑定后也可根据需要解绑。 为保证数据库可正常访问,请确保数据库使用的安全组开通了相关端口的访问权限,假设数据库的访问端口是3306,那么需确保安全组开通了3306端口的访问。 绑定弹性公网IP时无可选的EIP,原因可能是该EIP已被其他应用绑定,GaussDB(for MySQL)绑定的EIP需要是未绑定状态才可以绑定,请重新创建弹性公网IP。
  • RDS for MySQL实例连接失败怎么办 报错信息:Access denied for user 'user_name'@'100.xxx.xx.xx' (using password: YES)。 报错原因:RDS实例用户名或密码不对。 解决方法:请确认数据库用户名和密码是否正确,如果您不确认密码是否正确,可以在RDS控制台重置实例密码。 修改密码可能会影响业务,请谨慎操作。 如果确认账户名和密码正确,可以通过客户端或命令行工具登录数据库,执行select * from mysql.user where user = 'user_name'命令查看用户信息,如果存在100.%网段的用户,则DAS只能通过100.%网段的数据库用户去连接数据库。user_name @%与user_name @100.%是两个用户,其密码和权限都是独立的,请确认输入的密码是否是user_name @100.%用户的密码。 报错原因:DAS服务器的IP地址不在您输入用户的白名单中。 解决方法:使用客户端或命令行工具登录到数据库,创建DAS可以访问的数据库用户。 create user 'user_name'@'100.%' identified by 'password'; grant select on *.* to 'user_name'@'100.%'; DAS服务器IP地址所在网段为100.%,请根据实际使用需要添加白名单。 请根据实际使用需要给user_name@100.%用户赋予权限。 报错原因: 使用SSL用户登录,服务端没有开启SSL功能。 解决方法:请执行如下语句查询用户是否是SSL用户,如果是,则在RDS实例详情页面,将SSL开关打开。其中,ssl_type字段有值即表示此用户是SSL用户。 select user, host, ssl_type from mysql.user where user = 'user_name'; 报错信息: Trying to connect with ssl, but ssl not enabled in the server 报错原因: 使用SSL用户登录,服务端没有开启SSL功能。 解决方法:请执行如下语句查询用户是否是SSL用户,如果是,则在RDS实例详情页面,将SSL开关打开。其中,ssl_type字段有值即表示此用户是SSL用户。 select user, host, ssl_type from mysql.user where user = 'user_name'; 报错信息: Client does not support authentication protocol requested by server. plugin type was = 'sha256_password' 报错原因: DAS暂不支持密码的加密方式为sha256_password的数据库用户连接登录。 解决方法:请执行如下语句将密码的加密方式改为mysql_native_password。 alter user 'user_name'@'%' identified with mysql_native_password by 'password'; 报错信息: Communications link failure The last packet sent successfully to the server was 0 milliseconds ago. The driver has not received any packets from the server 报错原因: DAS服务器与实例网络不通。 解决方法:请提交工单联系客服人员协助处理。 报错信息:Instance connect timeout, please login again. 报错原因:DAS服务器连接超时。 解决方法:请提交工单联系客服人员协助处理。 报错信息:RSA public key is not available client side (option serverRsaPublicKeyFile not set). 报错原因:数据库用户的身份认证方式对密码安全性要求较高,要求用户认证过程中在网络传输的密码是加密的。 如果是SSL加密连接,则使用SSL证书和密钥对来完成“对称加密密钥对(在TSL握手中生成)”的交换,后续使用“对称加密密钥对”加密密码和数据。 如果是非SSL加密连接,则在连接建立时客户端使用MySQL Server端的RSA公钥加密用户密码,Server端使用RSA私钥解密验证密码的正确性,可以防止密码在网络传输时被窥探。 解决方法:开启实例SSL或者修改数据库用户的身份认证方式。 父主题: 连接管理
  • 响应参数 参数说明 表3 响应Body参数 参数 参数类型 是否必选 描述 total_count Integer 是 总记录数。 sessions Array of objects 是 具体信息。详情请参见表 QuerySessionResponse。 表4 session字段数据结构说明 参数 参数类型 描述 id String 会话ID。 active Boolean 当前会话是否活跃。取值为“true”,表示活跃。取值为“false”,表示不活跃。 operation String 操作。 type String 操作类型。 cost_time String 运行时间,单位为us。 plan_summary String 执行计划描述。 host String 主机。 client String 客户端地址。 description String 连接描述。 namespace String 命名空间。
  • 响应示例 { "total_count" : 1, "sessions" : [ { "id" : "shard_1:7201646", "active" : true, "operation" : "{\"getMore\":4.9473050217983027E18,\"collection\":\"$cmd.aggregate\",\"batchSize\":101.0,\"lsid\":{\"id\":{\"$binary\":{\"base64\":\"9FhcBFVeTzafCH8BUZrLjQ\\=\\=\",\"subType\":\"03\"}},\"uid\":{\"$binary\":{\"base64\":\"O0CMtIVItQN4IsEOsJdrPL8s7jv5xwh5a/A5Qfvs2A8\\=\",\"subType\":\"00\"}}},\"$clusterTime\":{\"clusterTime\":{\"$timestamp\":{\"t\":1.614047961E9,\"i\":1.0}},\"signature\":{\"hash\":{\"$binary\":{\"base64\":\"HxUWu68VyfvQFivWjHQDdJj/3YQ\\=\",\"subType\":\"00\"}},\"keyId\":6.9312672235666801E18}},\"$client\":{\"driver\":{\"name\":\"PyMongo\",\"version\":\"3.6.1\"},\"os\":{\"type\":\"Linux\",\"name\":\"Linux\",\"architecture\":\"x86_64\",\"version\":\"4.18.0-147.5.1.0.h269.eulerosv2r9.x86_64\"},\"platform\":\"CPython 3.7.4.final.0\",\"mongos\":{\"host\":\"host-172-16-61-110:8635\",\"client\":\"127.0.0.1:33420\",\"version\":\"4.0.3\"}},\"$configServerState\":{\"opTime\":{\"ts\":{\"$timestamp\":{\"t\":1.614047961E9,\"i\":1.0}},\"t\":2.0}},\"$db\":\"admin\"}", "type" : "getmore", "cost_time" : "25", "plan_summary" : "COLLSCAN", "host" : "host-172-16-27-182:8635", "client" : "172.16.41.233:50700", "description" : "conn20", "namespace" : "admin.$cmd.aggregate" } ] }
  • 请求参数 参数说明 表1 请求参数 名称 类型 IN 是否必选 描述 X-Auth-Token string header 是 从IAM服务获取的用户Token。请参考认证鉴权。 project_id string path 是 租户在某一Region下的项目ID。请参考获取项目ID章节获取项目编号。 node_id string path 是 节点ID。 集群实例支持选择mongos、shard、config中的任意节点。 副本集实例选择Primary或者Secondary节点。 表2 Query参数 参数 参数类型 是否必选 描述 offset Integer 否 索引位置,偏移量。从第一条数据偏移offset条数据后开始查询,默认为0(偏移0条数据,表示从第一条数据开始查询),必须为数字,不能为负数。 limit Integer 否 查询记录数。取值范围[1, 100],默认10(表示返回10条数据)。 plan_summary String 否 执行计划描述。取空值表示查询plan_summary为空的会话。也可指定执行计划,例如:COLLSCAN IXSCAN FETCH SORT LIMIT SKIP COUNT COUNT_SCAN TEXT PROJECTION type String 否 操作类型。取空值表示查询type为空的会话。也可指定操作类型,例如:none update insert query command getmore remove killcursors namespace String 否 命名空间。取空值表示查询namespace为空的会话,也可根据当前业务进行指定。 cost_time Integer 否 运行时间,单位为us。取空值表示查询cost_time为空的会话,也可根据当前业务需要进行配置,表示查询超出cost_time 的会话。
  • URI URI格式 GET https://{Endpoint}/v3/{project_id}/nodes/{node_id}/sessions URI样例 https://dds.cn-north-1.myhuaweicloud.com/v3/054e292c9880d4992f02c0196d3ea468/nodes/520c58ba00a3497e97ce0b9604874dd6no02/sessions
  • MySQL连接DDM时出现乱码如何解决 MySQL连接的编码和实际的编码不一致,可能导致DDM解析时出现乱码。 通过“default-character-set=utf8”指定客户端连接的编码即可。 如下所示: mysql -h 127.0.0.1 -P 5066 -D database --default-character-set=utf8 -u ddmuser –p password 父主题: 连接管理类
  • 客户端SSL加密相关参数配置 PostgreSQL数据库开启SSL加密后,表示允许客户端通过SSL连接数据库。 在客户端连接数据库时,可根据不同场景选择“sslmode”参数取值。 客户端使用SSL连接时,“sslmode”选择“allow”、“prefer”、“Require”、“Verify-CA”或“Verify-Full”。默认值是“prefer”。 客户端不使用SSL连接时,“sslmode”选择“Disable”。 当“sslmode”取值为“Verify-CA”或“Verify-Full”时,需要配置“Root certificate”参数,表示数据库CA证书的路径,CA证书可在界面上下载。 表2 sslmode参数值说明 sslmode参数值 说明 disable 客户端不使用SSL连接。 allow 客户端将尝试建立SSL/TLS连接,但如果服务器不支持SSL/TLS连接,客户端将以普通文本方式连接。 prefer 默认模式,客户端将首先尝试建立SSL连接,如果服务器不支持SSL连接,则以普通文本方式连接。 require 客户端只尝试SSL连接,只对数据链路加密,并不验证服务器证书的有效性。 verify-ca 客户端使用SSL加密连接到服务器,并验证服务器证书的有效性。 verify-full 客户端使用SSL加密连接到服务器,并验证服务器证书的有效性,同时比对证书内的CN或DNS与连接时配置的数据库连接地址是否一致。