华为云用户手册

  • Step4 在开发环境中进行验证 在Terminal中执行下述测试命令,其中:--cfg为该预训练模型对应算法资产的配置文件路径,--load_from的值为待测试的模型路径,config.py为: python manage.py run --cfg algorithms/ivgPose/config/sample/config.py --pipeline evaluate --load_from ./model_zoo/ivgPose/body/simplepose_resnet50_coco_256x192.pth.tar 运行完毕后,在交互式输出界面或config.py配置的{run_dir}目录下的test.log可以看到验证过程的日志和结果。如下述信息所示: ivgpose-utils.py 133: Test: AP:0.735012 | AP .5:0.925143 | AP .75:0.813647 | AP (M):0.705874 | AP (L):0.778985 | AR:0.764798 | AR .5:0.933879 | AR .75:0.832966 | AR (M):0.732641 | AR (L):0.813304 | elapsed:00:28
  • Step5 推理 准备好待推理的图片,本小节以算法套件里内置的推理图片为例,原图片如下: 图1 待推理的图片 在Terminal中执行下述推理命令,其中--img_file的值为待推理图片的路径: python manage.py run --cfg algorithms/ivgPose/config/sample/config.py --pipeline infer --demo_type image_demo --load_from model_zoo/ivgPose/body/simplepose_resnet50_coco_256x192.pth.tar --img_path algorithms/ivgPose/algorithm/examples/images/body/human36m_s_01_act_02_subact_01_ca_01_000001.jpg --is_show 运行完毕后,在当前目录的export/exp_tmp下可以看到推理后的文件,打开后显示如下。 图2 推理后的文件
  • 输入参数说明 参数名称 参数说明 参数要求 input_words_col_name 分词列,即进行ngram分词处理的列 string类型;必填;仅支持单列 input_words_sep 分词列中的词分隔符 string类型;必填;默认为" " input_weight_col_name 分词行权重 string类型;表列为数值类型;非必填; vocab_words_col_name 词袋词汇表的词汇列列名 string类型;如果词袋表不为空,此项为必填 count_gram_col_name 每个ngram短语的词个数(n),如1-gram,2-gram...,显示1-n等 string类型;表列为数值类型;如果历史输出表不为空,此项为必填 count_word_col_name ngram短语列 string类型;如果历史输出表不为空,此项为必填 count_count_col_name ngram统计列 string类型;表列为数值类型;如果历史输出表不为空,此项为必填 order ngram最大单词个数,即n-gram的n integer类型;必填;order范围为[1,3]
  • 参数说明 参数 是否必选 参数说明 默认值 strata_col 是 分层列, 按此列进行分层采样。 无 sample_size 否 采样个数。为整数时:表示每个层的采样个数;为字符串时:格式为strata0:n0,strata1:n1,…表示每个层分别设置的采样个数。 无 sample_ratio 否 采样比例。为数字时:范围(0,1) 表示每个层的采样比例;字符串时:格式为strata0:r0,strata1:r1,…表示每个层分别设置的采样比例。 0.2 random_seed 是 随机种子。 123
  • 概述 采用卡方检验来进行特征选择。 卡方检验(Chi-Squared Test或χ2 Test)的基本思想是通过特征变量与目标变量之间的偏差大小来选择相关性较大的特征变量。首先假设两个变量是独立的,然后观察实际值与理论值的偏差程度,该偏差程度代表两个变量之间的相关性。如果某个特征变量与目标变量之间偏差程度越大,则它们的相关性越高,最后根据相关性对特征变量进行排序,并选择与目标变量相关性较大的特征变量。卡方检验中假设理论值为E,第i个样本的实际值为xi,则偏差程度的计算公式如下:
  • 参数说明 参数 子参数 参数说明 input_features_str - 输入列名组成的格式化字符串,例如: "column_a" "column_a,column_b" label_col - 目标列,基于该列进行卡方检验 chi_label_index_col - 目标列通过标签编码得到的新列名,默认为label_index chi_features_col - 调用spark卡方选择需要的输入特征向量列名,默认为input_features chi_output_col - 调用spark卡方选择需要的输入特征向量列名,默认为output_features selector_type - 卡方选择的选择方法,支持numTopFeatures,percentile,fpr,fdr,fwe num_top_features - 选择的特征个数,默认为50 percentile - 选择的特征个数占原始特征数量的比例,默认为0.1 fpr - 最高的p-value,默认为0.05 fdr - 期望的错误观察率的最大值,默认为0.05 fwe - 默认为0.05 max_categories - 特征的最大类别数,默认为1000
  • 样例 inputs = { "dataframe": None # @input {"label":"dataframe","type":"DataFrame"} } params = { "inputs": inputs, "b_output_action": True, "b_use_default_encoder": True, "input_features_str": "", # @param {"label":"input_features_str","type":"string","required":"false","helpTip":""} "outer_pipeline_stages": None, "label_col": "", # @param {"label":"label_col","type":"string","required":"true","helpTip":""} "chi_label_index_col": "label_index", # @param {"label":"chi_label_index_col","type":"string","required":"true","helpTip":""} "chi_features_col": "input_features", # @param {"label":"chi_features_col","type":"string","required":"true","helpTip":""} "chi_output_col": "output_features", # @param {"label":"chi_output_col","type":"string","required":"true","helpTip":""} "selector_type": "numTopFeatures", # @param {"label":"selector_type","type":"enum","required":"true","options":"numTopFeatures,percentile,fpr,fdr,fwe","helpTip":""} "num_top_features": 50, # @param {"label":"num_top_features","type":"integer","required":"true","range":"(0,2147483647]","helpTip":""} "percentile": 0.1, # @param {"label":"percentile","type":"number","required":"true","range":"[0,1]","helpTip":""} "fpr": 0.05, # @param {"label":"fpr","type":"number","required":"true","range":"[0,1]","helpTip":""} "fdr": 0.05, # @param {"label":"fdr","type":"number","required":"true","range":"[0,1]","helpTip":""} "fwe": 0.05, # @param {"label":"fwe","type":"number","required":"true","range":"[0,1]","helpTip":""} "max_categories": 1000 # @param {"label":"max_categories","type":"number","required":"true","range":"(0,2147483647]","helpTip":""} } chi_square_selector____id___ = MLSChiSquareSelector(**params) chi_square_selector____id___.run() # @output {"label":"dataframe","name":"chi_square_selector____id___.get_outputs()['output_port_1']","type":"DataFrame"}
  • 准备数据 训练代码工程案例请参考:在gitee的ModelArts-Lab工程中,单击“克隆/下载”,然后单击“下载ZIP”,下载工程。解压缩“ModelArts-Lab-master.zip”文件,然后在“\ModelArts-Lab-master\official_examples\Using_MXNet_to_Create_a_MNIST_Dataset_Recognition_Application\codes”目录中获取到训练代码文件“train_mnist.py”。 数据集案例请参考:从MNIST官网下载“Mnist-Data-Set”数据集至本地,然后解压zip包,将“Mnist-Data-Set”文件夹下的所有文件上传至“test-modelarts2/dataset-mnist”OBS路径下。
  • 样例 数据样本 "Persons" 表: Id_P LastName FirstName Address City 1 Adams John Oxford Street London 2 Bush George Fifth Avenue New York 3 Carter Thomas Changan Street Beijing "Orders" 表: Id_O OrderNo Id_P 1 77895 3 2 44678 3 3 22456 1 4 24562 1 5 34764 65 配置流程 运行流程 算法参数设置 查看结果
  • 参数说明 参数名称 是否必选 参数描述 默认值 join_column_pairs_str 是 关联条件,等式对之间以”;“分割,等式之间以”,“分割; eg. left_col1,right_col1;left_col2,right_col2; 无 join_type 是 支持左连接、右连接、内连接和全连接(left_join、right_join、inner_join和full join)。 left_join mapjoin 否 是否进行mapjoin优化(将小表进行broadcoast广播)。 true output_left_cols 否 左表输出字段列 如果不选择,则默认为所有字段 output_right_cols 否 右表输出字段列 如果不选择,则默认为所有字段
  • 异常处理 Clone仓库失败。可能是网络原因问题。可以在JupyterLab的Terminal中通过执行git clone https://github.com/jupyterlab/extension-examples.git测试网络连通情况。 图6 Clone仓库失败 如果克隆时遇到Notebook当前目录下已有该仓库,系统给出提示仓库名称重复,此时可以单击“覆盖”继续克隆仓库,也可以单击取消。
  • 参数说明 参数 是否必选 参数说明 默认值 weight_col 是 权重列。 "weight" sample_size 否 采样数量。 100 sample_ratio 否 采样比例,范围(0,1),如果sample_size和sample_ratio同时设置,以sample_size为准。 0.2 with_replacement 是 是否有放回采样。 True partitions 否 分区数,有放回采样需设置该参数,数据量较大时可将该参数调大。 10 random_seed 否 随机种子。 1234
  • 参数说明 参数 是否必选 参数说明 默认值 sentence_col 是 文本列 "sentence" label_col 是 标签列(标签值需整数或浮点型) "label" words_col 否 用于分词后保存words的列名 "words" feature_col 否 用于保存feature的列名 "features" min_doc_freq 否 最小词数阈值 0 smoothing 否 平滑指数 1.0 prediction_col 否 用于保存prediction的列名 "prediction" raw_prediction_col 否 用于保存raw_prediction的列名 "raw_prediction" probability_col 否 用于保存probability的列名 "probability" raw_features_col 否 用于保存raw_features的列名 "raw_features" tf_num_features 否 tf-idf时用于保存的词的数量,建议不小于词汇种类 8000
  • 样例 数据样本 id sentence label 1 ball ball fun planet galaxy 1 2 referendum referendum fun planet planet 0 3 planet planet planet galaxy ball 1 4 planet galaxy planet referendum ball 1 sentence ball ball ball referendum referendum planet planet ball 配置流程 运行流程 参数设置 结果查看 sentence words rawFeatures features rawPrediction probability prediction ball ball ball ['ball', 'ball', 'ball'] (8000,[5492],[3.0]) (8000,[5492],[0.6694306539426294]) [-7.115045557028399,-5.9949311191899355] [0.24599005712406302,0.7540099428759369] 1 referendum referendum ['referendum', 'referendum'] (8000,[999],[2.0]) (8000,[999],[1.0216512475319814]) [-9.561433564101923,-9.165985052719044] [0.402406373461625,0.5975936265383749] 1 planet planet ball ['planet', 'planet', 'ball'] (8000,[5492,6309],[1.0,2.0]) (8000,[5492,6309],[0.22314355131420976,0.0]) [-3.104090044788206,-2.2686204451354213] [0.3024897957164007,0.6975102042835993] 1
  • 参数说明 参数名称 是否必选 参数说明 默认值 schema_str 是 非空字符串 schema:配置每一列对应的数据类型,格式为colname0 coltype0[, colname1 coltype1[, ...]]。例如:f0 string,f1 bigint,f2 double。 注意:配置的数据类型需要与 CS V文件每一列的数据类型保持一致,否则该列内容会读取失败。 无 local_file_path 否 本地文件路径 非必须,可通过文件夹选取;仅当file_source为LOCAL时,该路径有效。 无 file_path 否 读取CSV文件的路径 当文件来源选择OBS时,支持输入OBS文件路径,此时路径必须以OBS://开头。 当文件来源选择OTHERS时,支持输入HDFS文件路径。 无 file_source 否 支持LOCAL、OBS和OTHERS。范围:['LOCAL','OBS','OTHERS'] LOCAL field_delimiter 否 字段分隔符;如果输入则必须为字符 , handle_invalid_method 否 处理无效值的方法(无效值表示schema_str中设置的数据类型和csv中的不符),取值如下: 1.ERROR:抛出异常 2.SKIP:使用csv中的格式替换 ERROR ignore_first_line 否 是否忽略第一行的数据。 如果原表中已有表头,则需要开启此开关,否则会报错。 FALSE quote_string 否 引号字符,设置用于转义引号值的单个字符。 " row_delimiter 否 行分隔符。 \n skip_blank_line 否 是否忽略空行。 如果为True,该行数据全空时忽略;否则不忽略。 TRUE 1. schema_str这个参数,相当于增加列名(如果csv没有列名,则增加列名,ignore_first_line需置为False) 或 重命名列名(如果csv有列名,可以改列名,ignore_first_line需置为True)。 2. 只支持string,bigint,double类型,之后如果是想改变数据类型,需使用新算子做类型转换;其中tinyint、smallint、int均为bigint类型,char、varchar、date等其他类型均为string类型。 3. 该算子默认以"\n"作为行分隔符,如果某一字段内部存在"\n",需要提前处理;例如;将"\n"提前替换为空格,防止读取失败。示例如下: import pandas as pd df = pd.read_csv("test.csv",index_col=0) df = df.replace(to_replace=r'[\n\r]', value=' ', regex=True, inplace=True) df.to_csv("output.csv")
  • 样例 数据样本 5.1,3.5,1.4,0.2,Iris-setosa 5.0,2.0,3.5,1.0,Iris-versicolor 5.1,3.7,1.5,0.4,Iris-setosa 6.4,2.8,5.6,2.2,Iris-virginica 6.0,2.9,4.5,1.5,Iris-versicolor 4.9,3.0,1.4,0.2,Iris-setosa 5.7,2.6,3.5,1.0,Iris-versicolor 4.6,3.6,1.0,0.2,Iris-setosa 5.9,3.0,4.2,1.5,Iris-versicolor 6.3,2.8,5.1,1.5,Iris-virginica 4.7,3.2,1.3,0.2,Iris-setosa 5.1,3.3,1.7,0.5,Iris-setosa 5.5,2.4,3.8,1.1,Iris-versicolor 配置流程 运行流程 算法参数设置 schema_str: sepal_length double, sepal_width double, petal_length double, petal_width double, category string 查看结果
  • 购买Kafka实例 进入购买Kafka实例页面。 选择“计费模式”、“区域”、“项目”和“可用区”。 设置“实例名称”和“企业项目”。 设置实例信息。 规格选择模式:选择“集群版”或者“规格测算”或者“单机版”。 集群版:您需要根据实际情况自行选择集群版Kafka实例的版本号、代理规格、代理数量、磁盘类型和存储空间。集群版实例支持Kafka 1.1.0、2.7和3.x版本。 规格测算:系统根据您输入的参数(生产流量峰值、消费流量、单个Topic副本数、总分区数和老化时间内的生产消息量),为您计算出不同规格所需的代理个数和代理存储空间,您根据实际情况选择。 单机版:创建一个2.7版本、单代理的实例,关于单机版实例具体的介绍请参见单机和集群Kafka实例差异概述。 选择集群版时,您需要根据实际情况选择Kafka实例的版本号、代理规格、代理数量、磁盘类型和存储空间。 版本:Kafka的版本号,支持1.1.0、2.7、3.x。实例创建后,版本号不支持修改。 CPU架构:支持“x86计算”,保持默认值即可。 在“代理规格”中,请根据业务需求选择相应的代理规格。 单个代理最大分区数*代理个数=实例分区数上限。当所有Topic的总分区数大于实例分区数上限时,创建Topic失败。 在“代理数量”中,选择代理个数。 在“单个代理存储空间”区域,您根据实际需要选择存储Kafka数据的磁盘类型和总磁盘大小。Kafka实例创建后,磁盘类型不支持修改。 存储空间用于存储消息(包括副本中的消息)、日志和元数据,建议根据业务消息体积、副本数量以及预留磁盘大小选择存储空间大小。每个Kafka代理会预留33GB的磁盘空间,用于存储日志和元数据。 创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。 在“容量阈值策略”区域,设置磁盘使用达到容量阈值后的消息处理策略,容量阈值为95%。 自动删除:可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据存在丢失的风险。 生产受限:无法继续生产消息,但可以继续消费消息。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。 图1 默认的规格类型 选择规格测算时,系统根据您输入的参数(生产流量峰值、消费流量、单个Topic副本数、总分区数和老化时间内的生产消息量),为您计算出不同规格所需的代理个数和代理存储空间,您根据实际情况选择。3.x版本不支持规格测算。 图2 规格测算 选择单机版时,您可以创建一个2.7版本、单代理的实例。 版本:Kafka的版本号,仅支持2.7。 CPU架构:支持“x86计算”,保持默认值即可。 在“代理规格”中,请根据业务需求选择相应的代理规格。 代理数量:只支持1个代理。 在“单个代理存储空间”区域,您根据实际需要选择存储Kafka数据的磁盘类型。磁盘容量默认为100GB,不支持修改。 Kafka实例创建后,磁盘类型不支持修改。 创建实例时会进行磁盘格式化,磁盘格式化会导致实际可用磁盘为总磁盘的93%~95%。 在“容量阈值策略”区域,设置磁盘使用达到容量阈值后的消息处理策略,容量阈值为95%。 自动删除:可以正常生产和消费消息,但是会删除最早的10%的消息,以保证磁盘容量充足。该场景优先保障业务不中断,数据存在丢失的风险。 生产受限:无法继续生产消息,但可以继续消费消息。该场景适用于对数据不能丢的业务场景,但是会导致生产业务失败。 设置实例网络环境信息。 在“虚拟私有云”下拉列表,选择已经创建好的虚拟私有云和子网。 虚拟私有云可以为您的Kafka实例构建隔离的、能自主配置和管理的虚拟网络环境。 虚拟私有云和子网在Kafka实例创建完成后,不支持修改。 在“内网IP地址”下拉列表,选择“自动分配”或“手动选择”。 自动分配:系统自动分配子网中可用的IP地址。 手动选择:在下拉框中勾选指定的IP地址。 除以下区域外,“内网ip地址”移动到了“内网访问”中,具体请参见6。 华北-北京一 中东-利雅得 拉美-圣保罗一 拉美-圣地亚哥 在“安全组”下拉列表,可以选择已经创建好的安全组。 安全组是一组对Kafka实例的访问规则的集合。您可以单击右侧的“管理安全组”,跳转到网络控制台的“安全组”页面,查看或创建安全组。 设置实例的访问方式。 表2 实例的访问方式 访问方式 接入方式 说明 内网访问 明文接入 明文接入表示客户端连接Kafka实例时,无需进行SASL认证。 内网访问不支持关闭,明文接入和密文接入至少开启一个。 密文接入 密文接入表示客户端连接Kafka实例时,需要进行SASL认证。 内网访问不支持关闭,明文接入和密文接入至少开启一个。部分region密文接入开启后,不支持关闭,如果需要关闭,请联系客服处理。 开启“密文接入”后,需要设置kafka安全协议、SASL PLAIN机制、用户名和密码。 实例创建后,关闭“密文接入”并不会删除已创建的用户,再次开启“密文接入”时无需创建用户。 内网IP地址 根据实际需求选择“自动分配”或“手动选择”。 自动分配:系统自动分配子网中可用的IP地址。 手动选择:在下拉框中勾选指定的IP地址。如果指定的IP地址数量少于代理数量时,系统会自动为剩余代理分配IP地址。 公网访问 明文接入 明文接入表示客户端连接Kafka实例时,无需进行SASL认证。 开启/关闭明文接入,并设置公网访问连接地址。 密文接入 密文接入表示客户端连接Kafka实例时,需要进行SASL认证。 开启/关闭密文接入,并设置公网访问连接地址。 开启“密文接入”后,需要设置kafka安全协议、SASL PLAIN机制、用户名和密码。 实例创建后,关闭“密文接入”并不会删除已创建的用户,再次开启“密文接入”时无需创建用户。 公网IP地址 根据页面提示信息选择对应数量的公网IP地址。 如果公网IP地址数量不足,请单击“创建弹性IP”跳转到弹性公网IP页面,创建公网IP地址。然后返回Kafka控制台,在“公网IP地址”后单击,刷新公网IP地址。 Kafka实例不支持绑定IPv6的弹性公网IP,只支持绑定IPv4的弹性公网IP。 单机版实例不支持密文接入。 kafka安全协议、SASL PLAIN机制、用户名和密码的参数解释如下: 表3 密文接入参数说明 参数名称 参数值 说明 kafka安全协议 SASL_SSL 采用SASL方式进行认证,数据通过SSL证书进行加密传输,安全性更高。 支持SC RAM -SHA-512机制和PLAIN机制。 什么是SCRAM-SHA-512机制和PLAIN机制? SCRAM-SHA-512机制:采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。 PLAIN机制:一种简单的用户名密码校验机制。 SASL_PLAINTEXT 采用SASL方式进行认证,数据通过明文传输,性能更好。 支持SCRAM-SHA-512机制和PLAIN机制。 由于明文传输,建议使用SCRAM-SHA-512机制。 SASL PLAIN机制 - 未开启“SASL PLAIN机制”时,使用SCRAM-SHA-512机制对账号密码进行认证。 开启“SASL PLAIN机制”后,同时支持SCRAM-SHA-512机制和PLAIN机制,根据实际情况选择其中任意一种配置连接。 密文接入成功开启后,SASL PLAIN机制不支持修改。 用户名、密码 - 客户端用于连接Kafka实例的用户名和密码。 密文接入成功开启后,用户名不支持修改。 实例的访问方式在以下区域未上线: 华北-北京一 中东-利雅得 拉美-圣保罗一 拉美-圣地亚哥 设置“Kafka SASL_SSL”。 客户端连接Kafka实例时,是否开启SASL认证。开启Kafka SASL_SSL,则 数据加密 传输,安全性更高。 “Kafka SASL_SSL”默认为开启状态,Kafka实例创建后,Kafka SASL_SSL开关不支持修改,请慎重选择。如果创建后需要修改,需要重新创建实例。 开启Kafka SASL_SSL后,您可以选择是否开启“SASL PLAIN 机制”。未开启“SASL PLAIN 机制”时,使用SCRAM-SHA-512机制传输数据,开启“SASL PLAIN 机制”后,同时支持SCRAM-SHA-512机制和PLAIN机制,根据实际情况选择其中任意一种配置连接。Kafka实例创建后,SASL PLAIN机制开关不支持修改。 什么是SCRAM-SHA-512机制和PLAIN机制? SCRAM-SHA-512机制:采用哈希算法对用户名与密码生成凭证,进行身份校验的安全认证机制,比PLAIN机制安全性更高。 PLAIN机制:一种简单的用户名密码校验机制。 开启Kafka SASL_SSL后,您需要设置连接Kafka实例的用户名和密码。 除以下区域外,“Kafka SASL_SSL”已调整了位置,移动到了“内网访问”和“公网访问”中,具体请参见6。 华北-北京一 中东-利雅得 拉美-圣保罗一 拉美-圣地亚哥 单机版实例不显示此参数。 设置实例购买时长。 当选择了“包年/包月”付费模式时,页面才显示“购买时长”参数,您需要根据业务需要选择。 单击“更多配置”,设置更多相关信息。 设置“公网访问”。 “公网访问”默认为关闭状态,您可以选择是否开启。 开启公网访问后,还需要为每个代理设置对应的IPv4弹性IP地址。 开启公网访问后,还可以选择是否开启VPC内网明文访问。如果开启了VPC内网明文访问,无论实例是否开启SASL_SSL,通过内网连接实例时,数据都将明文传输。创建实例后,VPC内网明文访问开关不支持修改,请慎重选择。如果创建后需要修改,需要重新创建实例。 除以下区域外,“公网访问”已调整了位置,移动到了“更多配置”外,具体请参见6。 华北-北京一 中东-利雅得 拉美-圣保罗一 拉美-圣地亚哥 选择是否开启Smart Connect。 Smart Connect用于异构系统间的数据同步,开启Smart Connect后,设置Smart Connect任务可以实现Kafka实例和其他云服务之间的数据同步,或者两个Kafka实例之间的数据同步。 单机版实例不显示此参数。 设置“Kafka自动创建Topic”。 “Kafka自动创建Topic”默认为关闭状态,您可以选择是否开启。 开启“Kafka自动创建Topic”表示生产或消费一个未创建的Topic时,系统会自动创建此Topic,此Topic的默认参数值如下: 分区数为3。 副本数为3。 老化时间为72小时。 不开启同步复制和同步落盘。 消息时间戳类型为CreateTime。 批处理消息最大值为10485760字节。 如果在“配置参数”中修改“log.retention.hours”、“default.replication.factor”或“num.partitions”的参数值,此后自动创建的Topic参数值为修改后的参数值。 例如:“num.partitions”修改为“5”,自动创建的Topic参数值如下: 分区数为5。 副本数为3。 老化时间为72小时。 不开启同步复制和同步落盘。 消息时间戳类型为CreateTime。 批处理消息最大值为10485760字节。 设置“标签”。 标签用于标识云资源,当您拥有相同类型的许多云资源时,可以使用标签按各种维度(例如用途、所有者或环境)对云资源进行分类。 如您的组织已经设定分布式消息服务Kafka版的相关标签策略,则需按照标签策略规则为Kafka实例添加标签。标签如果不符合标签策略的规则,则可能会导致Kafka实例创建失败,请联系组织管理员了解标签策略详情。 如果您已经预定义了标签,在“标签键”和“标签值”中选择已经定义的标签键值对。另外,您可以单击“查看预定义标签”,跳转到标签管理服务页面,查看已经预定义的标签,或者创建新的标签。 您也可以直接在“标签键”和“标签值”中设置标签。 当前每个Kafka实例最多支持设置20个不同标签,标签的命名规格,请参考配置Kafka实例标签章节。 设置实例的描述信息。 填写完上述信息后,单击“立即购买”,进入规格确认页面。 确认实例信息无误且阅读并同意《华为云用户协议》后,如果“计费模式”选择“包年/包月”,单击“去支付”。根据界面提示信息,支付费用。如果“计费模式”选择“按需付费”,单击“提交”。 在实例列表页面,查看Kafka实例是否创建成功。 创建实例大约需要3到15分钟,此时实例的“状态”为“创建中”。 当实例的“状态”变为“运行中”时,说明实例创建成功。 当实例的“状态”变为“创建失败”,请参考删除Kafka实例,删除创建失败的实例,然后重新创建。如果重新创建仍然失败,请联系客服。 创建失败的实例,不会占用其他资源。
  • 请求特征畸形或不合理 由于很多CC攻击请求是攻击者随意构造的,仔细观察日志后,往往会发现这些请求有很多与正常请求不相符的畸形报文特征。常见的畸形报文特征及防护策略: 以下的防护配置是通过WAF的精准访问防护规则实现的,具体的操作请参见配置精准访问防护规则。 User-agent异常或畸形:例如,包含Python等自动化工具特征、明显格式错乱的UA(例如Mozilla///)、明显不合理的UA(例如www.example.com)。如果存在该请求特征,可以直接封禁请求。 配置示例:拦截User-agent包含Mozilla///的内容 User-agent不合理:例如,对于微信推广的H5页面,正常用户都应该通过微信发起访问,如果UA来自于Windows桌面浏览器(例如MSIE 6.0),则明显是不合理的。如果存在该请求特征,可以直接封禁请求。 配置示例:拦截User-agent包含MSIE 6.0的内容 Referer异常:例如,不带Referer或Referer固定且来自于非法站点,则可以封禁这种请求(访问网站首页或第一次访问页面的情形除外)。针对只能通过某个站内地址跳转访问的URL,您可以从Referer角度分析行为异常,决定是否封禁。 配置示例:拦截不带Referer的请求 Cookie异常:正常用户往往会在请求中带上属于网站本身业务集的一些cookie(第一次访问页面的情形除外)。很多情况下,CC攻击的报文不会携带任何cookie。您可以从这个角度出发,封禁不带cookie的访问请求。 配置示例:拦截不带Cookie的请求 缺少某些HTTP Header:例如,针对一些业务中需要的认证头等,正常用户的请求会携带,而攻击报文则不会。 配置示例:拦截Header不带authorization头的请求。 不正确的请求方法:例如,只有POST请求的接口被大量GET请求攻击,则可以直接封禁GET请求。 配置示例:拦截GET请求。
  • 大流量高频CC攻击 在大规模CC攻击中,单台傀儡机发包的速率往往远超过正常用户的请求频率。针对这种场景,直接对请求源IP设置限速规则是最有效的办法。建议您使用CC攻击的基于IP限速的模式,具体请参见通过IP限速限制网站访问频率。 配置示例:您可以配置以下CC规则,当一个IP在30秒内访问当前 域名 下任意路径的次数超过1000次,则封禁该IP的请求10个小时。该规则可以作为一般中小型站点的预防性配置。 在实际场景中,您需要根据自身业务需求调整限速模式和触发防护的限速频率,并选择合适的防护动作,以达到更有针对性、更精细化的防护效果。例如,为了预防登录接口受到恶意高频撞库攻击的影响,您可以配置路径(示例:使用“前缀为”逻辑符,将匹配内容设置为/login.php)。 “域名聚合统计”:开启后,泛域名对应的所有子域名的请求次数合并限速(不区分访问IP)。例如,配置的泛域名为“*.a.com”,会将所有子域名(b.a.com,c.a.com等)的请求一起聚合统计。 “全局计数”:仅云模式支持配置该参数。默认为每WAF节点单独计数,开启后本区域所有节点合并计数。
  • 攻击源来自海外或IDC机房IP CC攻击中很大比例的攻击来源于海外IP和IDC机房IP的情形。 对于面向中国用户的网站,在遭受攻击时可以通过封禁海外访问来缓解攻击压力。推荐您使用WAF的地理位置访问控制功能,封禁中国境外IP地址的访问,具体操作请参见配置地理位置访问控制规则。 如果您已经开启了WAF的威胁情报访问控制规则,可以封禁常见IDC库的IP,例如华为、腾讯。详细操作请参见配置威胁情报访问控制。 威胁情报访问控制功能现处于公测阶段,如需使用请提交工单申请开通。
  • 防护措施 根据服务访问请求统计,判断网站是否有大量单IP请求发生,如果有则说明网站很有可能遭受了CC攻击。 登录管理控制台,将您的网站成功接入 Web应用防火墙 。关于域名接入的具体操作请参见添加防护域名。 在目标域名所在行的“防护策略”栏中,单击“已开启N项防护”,进入“防护策略”页面,确认“CC攻击防护”的“状态”为“开启”。 图1 CC防护规则配置框 开启WAF的“CC攻击防护”后,添加CC防护规则,配置对域名下的请求进行基于IP限速的检测,针对业务特性,设置限速频率,并配置人机验证,防止误拦截正常用户,针对网站所有url进行防护,配置如图2所示。 图2 IP限速 限速模式:选择“源限速”、“IP限速”,根据IP区分单个Web访问者。 限速频率:单个Web访问者在限速周期内可以正常访问的次数,如果超过该访问次数,Web应用防火墙服务将暂停该Web访问者的访问。 “全局计数”:根据不同的限速模式,将已经标识的请求在一个或多个WAF节点上的计数聚合。默认为每WAF节点单独计数,开启后本区域所有节点合并计数。“IP限速”不能满足针对某个用户进行限速,需要选择“用户限速”或“其他”的Referer限速,此时标识的请求可能会访问到不同的WAF节点,开启全局计数后,将请求访问的一个或多个WAF节点访问量聚合,达到全局统计的目的。 防护动作:防止误拦截正常用户,选择“人机验证”。 人机验证:表示在指定时间内访问超过次数限制后弹出验证码,进行人机验证,完成验证后,请求将不受访问限制。 当用户访问超过限制后需要输入验证码才能继续访问。
  • 我是新手,不懂安全,也没有特殊需求 您可能是基于等保要求或出于提升企业安全水位(达到预防目的)等考虑购买了Web应用防火墙。这种情况下,您可以在完成网站接入后直接使用WAF的默认基础防护设置,不做任何调整。WAF提供的默认防护能力足够为网站抵御绝大部分的基础Web威胁。 建议您多关注Web应用防火墙控制台的“安全总览”和“防护事件”页面,了解业务情况和攻击情况。具体操作可参见以下文档: 安全总览 查看防护日志
  • 我的业务经常受到爬虫骚扰或面临数据泄露、被篡改的风险 针对您的需求,推荐您在完成网站接入后,为网站设置以下防护功能: 网页防篡改:帮助您锁定需要保护的网站页面,当被锁定的页面在收到请求时,返回已设置的缓存页面,预防源站页面内容被恶意篡改。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“网页防篡改”区域,添加规则,完成相关设置。具体操作请参见配置网页防篡改规则。 防敏感信息泄露:帮助您对返回页面中包含的敏感信息做屏蔽处理,防止用户的敏感信息(例如:身份证号、电话号码、电子邮箱等)泄露。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“防敏感信息泄露”区域,添加规则,完成相关设置。具体操作请参见配置防敏感信息泄露规则。 网站反爬虫: 特征反爬虫:帮助您为网站放行合法爬虫(例如Googlebot、Baiduspider)的访问请求,或者拦截大多数脚本和自动化程序的爬虫攻击。 JS脚本反爬虫:开启JS脚本反爬虫后,帮助您完成JS脚本的的检测,您也可以自定义JS脚本反爬虫的防护策略。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“网站反爬虫”区域,添加规则,完成相关设置。具体操作请参见配置网站反爬虫防护规则。 威胁情报访问控制:提供IDC机房IP库平台(例如鹏博士、谷歌公司、腾讯、美团网等其他平台),当目标IP库平台内的来源IP向网站下任意路径发起访问请求时,将触发控制规则,即拦截、放行或者仅记录请求。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“威胁情报访问控制”区域,添加规则,完成相关设置。具体操作请参见配置威胁情报访问控制。
  • 我是专业的安全人员,需要做全面的Web入侵运营 针对您的需求,推荐您在完成网站接入后,为网站设置以下防护功能: Web基础防护:帮助您防范SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等常规的Web攻击,并支持深度反逃逸识别、对请求里header中所有字段进行攻击检测、Shiro解密检测、Webshell检测。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“Web基础防护”区域,选择“拦截”或者“仅记录”模式,开启所有的检测项。具体的操作请参见配置Web基础防护规则。 自定义防护策略(自由组合防护配置规则):防护配置规则的自由组合配置,为您的网站定制适合的防护策略,全方位的防护您的网站。 操作导航:在“防护策略”页面,进行相关的配置,具体的操作请参见防护配置引导。
  • 我的业务需要严格的安全防护,有攻击时宁可错杀不可漏掉 针对您的需求,推荐您在完成网站接入后,为网站设置以下防护功能: Web基础防护(拦截模式):帮助您防范SQL注入、XSS跨站脚本、远程溢出攻击、文件包含、Bash漏洞攻击、远程命令执行、目录遍历、敏感文件访问、命令/代码注入等常规的Web攻击,并支持深度反逃逸识别、对请求里header中所有字段进行攻击检测、Shiro解密检测、Webshell检测。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“Web基础防护”区域,选择“拦截”模式,开启所有的检测项。具体的操作请参见配置Web基础防护规则。 CC攻击防护(阻断模式):通过限制单个IP/Cookie/Referer访问者对防护网站上源端的访问频率,精准识别并阻断CC攻击。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“CC攻击防护”区域,添加规则,“防护动作”配置为“阻断”。具体的操作请参见配置CC攻击防护规则。 精准访问防护(阻断模式):对HTTP首部、Cookie、访问URL、请求参数或者客户端IP进行条件组合,定制化防护策略,为您的网站带来更精准的防护。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“精准访问防护”区域,添加规则,“防护动作”配置为“阻断”。具体的操作请参见配置精准访问防护规则。 IP黑白名单设置(拦截模式):封禁与业务不相关的IP地址和地址段。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“黑白名单设置”区域,添加规则,“防护动作”配置为“拦截”。具体的操作请参见配置IP黑白名单规则。 地理位置访问控制(拦截模式):封禁来自特定区域的访问或者允许特定区域的来源IP的访问,解决部分地区高发的恶意请求问题。可针对指定国家、地区的来源IP自定义访问控制。 操作导航:在“防护策略”页面,单击策略名称,进入“防护配置”页面,选择“地理位置访问控制”区域,添加规则,“防护动作”配置为“拦截”。具体的操作请参见配置地理位置访问控制规则。
  • 设置开机自动挂载磁盘分区 您可以通过配置fstab文件,设置弹性云服务器系统启动时自动挂载磁盘分区。已有数据的弹性云服务器也可以进行设置,该操作不会影响现有数据。 本文介绍如何在fstab文件中使用UUID来设置自动挂载磁盘分区。不建议采用在“/etc/fstab”直接指定设备名(比如/dev/vdb1)的方法,因为云中设备的顺序编码在关闭或者开启弹性云服务器过程中可能发生改变,例如/dev/vdb1可能会变成/dev/vdb2,可能会导致弹性云服务器重启后不能正常运行。 UUID(universally unique identifier)是Linux系统为磁盘分区提供的唯一的标识字符串。 执行如下命令,查询磁盘分区的UUID。 blkid 磁盘分区 以查询磁盘分区“/dev/vdb1”的UUID为例: blkid /dev/vdb1 回显类似如下信息: [root@ecs-test-0001 ~]# blkid /dev/vdb1 /dev/vdb1: UUID="0b3040e2-1367-4abb-841d-ddb0b92693df" TYPE="ext4" 记录下回显中磁盘分区“/dev/vdb1”的UUID,方便后续步骤使用。 执行以下命令,使用VI编辑器打开“fstab”文件。 vi /etc/fstab 按“i”,进入编辑模式。 将光标移至文件末尾,按“Enter”,添加如下内容。 UUID=0b3040e2-1367-4abb-841d-ddb0b92693df /mnt/sdc ext4 defaults 0 2 以上内容仅为示例,具体请以实际情况为准,参数说明如下: 第一列为UUID,此处填写1中查询到的磁盘分区的UUID。 第二列为磁盘分区的挂载目录,可以通过df -TH命令查询。 第三列为磁盘分区的文件系统格式, 可以通过df -TH命令查询。 第四列为磁盘分区的挂载选项,此处通常设置为defaults即可。 第五列为Linux dump备份选项。 0表示不使用Linux dump备份。现在通常不使用dump备份,此处设置为0即可。 1表示使用Linux dump备份。 第六列为fsck选项,即开机时是否使用fsck检查磁盘。 0表示不检验。 挂载点为(/)根目录的分区,此处必须填写1。 根分区设置为1,其他分区只能从2开始,系统会按照数字从小到大依次检查下去。 按“ESC”后,输入“:wq”,按“Enter”。 保存设置并退出编辑器。 执行以下步骤,验证自动挂载功能。 执行如下命令,卸载已挂载的分区。 umount 磁盘分区 命令示例: umount /dev/vdb1 执行如下命令,将“/etc/fstab”文件所有内容重新加载。 mount -a 执行如下命令,查询文件系统挂载信息。 mount | grep 挂载目录 命令示例: mount | grep /mnt/sdc 回显类似如下信息,说明自动挂载功能生效: root@ecs-test-0001 ~]# mount | grep /mnt/sdc /dev/vdb1 on /mnt/sdc type ext4 (rw,relatime,data=ordered)
  • 操作场景 通过云服务管理控制台扩容成功后,仅扩大了云硬盘的存储容量,因此需要参考本章节操作扩展分区和文件系统。 对于Linux操作系统而言,需要将扩容部分的容量划分至已有分区内,或者为扩容部分的云硬盘分配新的分区。 本文以“CentOS 7.4 64位”操作系统为例,提供针对SCSI数据盘的MBR分区的操作指导。不同操作系统的操作可能不同,本文仅供参考,具体操作步骤和差异请参考对应操作系统的产品文档。 新增MBR分区 扩大已有MBR分区 扩容时请谨慎操作,误操作可能会导致数据丢失或者异常,建议扩容前对数据进行备份,可以使用CBR或者快照功能,CBR请参见管理备份云硬盘,快照功能请参见创建快照(公测)。 当操作系统内核低于3.6.0时,扩大已有MBR分区需要reboot重启,扩展分区和文件系统才会生效,会中断业务。reboot重启后,新增容量会自动扩展至系统盘末尾分区内。 如果您不希望重启弹性云服务器来扩展分区和文件系统,您可以先将该数据盘中的业务数据迁移至弹性云服务器中的其他磁盘,然后卸载该数据盘,并将其挂载至其他内核大于3.6.0的弹性云服务器上来扩展磁盘分区和文件系统,扩展完成后再将其挂载回原始弹性云服务器,最后再将业务数据迁移回该磁盘。迁移数据有风险,请提前做好备份。扩容内核大于3.6.0的弹性云服务器上的分区和文件系统请参见扩展磁盘分区和文件系统(Linux)。
  • Flink常见参数说明 表1 Flink常见参数说明 参数名称 参数描述 建议值 说明 -c 指定主类名。 根据实际填写 必填 -yjm JobManager进程内存,默认值:2GB。 根据实际填写 选填 -ytm TaskManager进程内存,默认值:4GB。 根据实际填写 选填 -ynm Flink Yarn作业名称。 根据实际填写 必填 -ys TaskManager中slot个数。 2 选填 execution.checkpointing.interval checkpoint触发间隔(毫秒),通过-yD添加,单位毫秒。 60000 必填 execution.checkpointing.timeout checkpoint超时时长,通过-yD添加,默认值:30min。 30min 必填 execution.checkpointing.tolerable-failed-checkpoints checkpoint失败容忍次数总和,通过-yD添加。 1000 选填 state.checkpoints.num-retained checkpoint保留个数,通过-yD添加。 5 选填 state.backend 状态后端使用rocksdb,通过-yD添加。 rocksdb 默认开启 state.backend.incremental 开启rocksdb增量状态后端,通过-yD添加。 TRUE 必填 state.backend.rocksdb.block.blocksize 写状态后端的数据块大小,通过-yD添加。 512KB 必填 state.backend.rocksdb.block.cache-size 整个状态后端的block cache大小,通过-yD添加。 1024MB 必填 taskmanager.memory.jvm-overhead.max 用于JVM其他开销的本地内存的最大值,例如栈空间、垃圾回收空间等,通过-yD添加。 10g 选填 taskmanager.memory.jvm-overhead.fraction 用于JVM其他开销的本地内存占tm内存的比例,例如栈空间、垃圾回收空间等,通过-yD添加。 0.2 选填 parallelism.default 作业并行度,例如join算子,通过-yD添加,默认值:1。 根据实际填写 选填 table.exec.state.ttl Flink状态TTL(join ttl),通过-yD添加,默认值:0。 根据实际填写 必填 heartbeat.timeout jm与tm之间心跳超时时间,通过-yD添加。 1800000 必填 akka.ask.timeout akka通信超时时间,通过-yD添加。 240s 必填 taskmanager.memory.segment-size 内存管理和网络栈使用的内存缓冲块字节数大小,默认值: 32768 (32KB),通过-yD添加。 64kb 选填 taskmanager.network.memory.max-buffers-per-channel 每个channel最大能持有多少buffers,如果segment有很多空闲,可以适当调大该值,否则channel会因为拿不到segment而blocking,通过-yD添加。 100 选填 taskmanager.network.memory.buffers-per-channel 每个channel独享的buffer数,通过-yD添加。 10 选填 taskmanager.network.memory.floating-buffers-per-gate 每个channel浮动buffer数,通过-yD添加。 2000 选填 taskmanager.network.netty.server.numThreads 每个taskmanager中netty服务端线程数,通过-yD添加。 20 选填 taskmanager.network.netty.client.numThreads 每个taskmanager中netty客户端线程数,通过-yD添加。 20 选填 state.backend.rocksdb.files.open 最大打开文件数目,-1意味着没有限制,通过-yD添加。 -1 选填 state.backend.rocksdb.compaction.level.use-dynamic-size 参数允许Rocksdb对每层数据存储的数据量阈值进行动态调整,通过-yD添加。 TRUE 选填 state.backend.rocksdb.levels.num Rocksdb允许存储compaction数据层数,通过-yD添加。 10 选填 state.backend.rocksdb.compaction.style compaction算法,通过-yD添加。 FIFO 选填 state.backend.rocksdb.verify.checksum 关闭数据读取时数据check,通过-yD添加。 FALSE 选填 state.backend.rocksdb.thread.num 后台负责flush和compaction的最大并发线程数,通过-yD添加。 4 选填 state.backend.rocksdb.writebuffer.count memtable的最大数量,通过-yD添加。 5 选填 state.backend.rocksdb.writebuffer.number-to-merge 在flush发生之前被合并的memtable最小数量,通过-yD添加。 3 选填 state.backend.rocksdb.background.compaction.max 负责compaction最大线程数,通过-yD添加。 10 选填 state.backend.rocksdb.flush.max rocksdb flush线程数,通过-yD添加。 1 选填 父主题: Flink应用开发规范
  • 创建一张表或Scan时设定blockcache为true HBase客户端建表和scan时,设置blockcache=true。需要根据具体的应用需求来设定它的值,这取决于有些数据是否会被反复的查询到,如果存在较多的重复记录,将这个值设置为true可以提升效率,否则,建议关闭。 建议按默认配置,默认就是true,只要不强制设置成false就可以,例如: HColumnDescriptor fieldADesc = new HColumnDescriptor("value".getBytes()); fieldADesc.setBlockCacheEnabled(false);
  • 不要关闭WAL WAL是Write-Ahead-Log的简称,是指数据在入库之前,首先会写入到日志文件中,借此来确保数据的安全性。 WAL功能默认是开启的,但是,在Put类中提供了关闭WAL功能的接口: public void setWriteToWAL(boolean write) 因此,不建议调用该方法将WAL关闭(即将writeToWAL设置为False),因为可能会造成最近1S(该值由RegionServer端的配置参数“hbase.regionserver.optionallogflushinterval”决定,默认为1S)内的数据丢失。但如果在实际应用中,对写入的速率要求很高,并且可以容忍丢失最近1S内的数据的话,可以将该功能关闭。
共100000条