SET PROPERTY

description

Syntax:

  1. SET PROPERTY [FOR 'user'] 'key' = 'value' [, 'key' = 'value']
  2. 设置用户的属性,包括分配给用户的资源、导入cluster等。这里设置的用户属性,是针对 user 的,而不是 user_identity。即假设通过 CREATE USER 语句创建了两个用户 'jack'@'%' 'jack'@'192.%',则使用 SET PROPERTY 语句,只能针对 jack 这个用户,而不是 'jack'@'%' 'jack'@'192.%'
  3. 导入 cluster 仅适用于百度内部用户。

key:

  1. 超级用户权限:
  2. max_user_connections: 最大连接数。
  3. resource.cpu_share: cpu资源分配。
  4. load_cluster.{cluster_name}.priority: 为指定的cluster分配优先级,可以为 HIGH NORMAL
  5. 普通用户权限:
  6. quota.normal: normal级别的资源分配。
  7. quota.high: high级别的资源分配。
  8. quota.low: low级别的资源分配。
  9. load_cluster.{cluster_name}.hadoop_palo_path: palo使用的hadoop目录,需要存放etl程序及etl生成的中间数据供palo导入。导入完成后会自动清理中间数据,etl程序自动保留下次使用。
  10. load_cluster.{cluster_name}.hadoop_configs: hadoop的配置,其中fs.default.namemapred.job.trackerhadoop.job.ugi必须填写。
  11. load_cluster.{cluster_name}.hadoop_http_port: hadoop hdfs name node http端口。其中 hdfs 默认为8070afs 默认 8010
  12. default_load_cluster: 默认的导入cluster

example

  1. 1. 修改用户 jack 最大连接数为1000
  2. SET PROPERTY FOR 'jack' 'max_user_connections' = '1000';
  3. 2. 修改用户 jack cpu_share1000
  4. SET PROPERTY FOR 'jack' 'resource.cpu_share' = '1000';
  5. 3. 修改 jack 用户的normal组的权重
  6. SET PROPERTY FOR 'jack' 'quota.normal' = '400';
  7. 4. 为用户 jack 添加导入cluster
  8. SET PROPERTY FOR 'jack'
  9. 'load_cluster.{cluster_name}.hadoop_palo_path' = '/user/palo/palo_path',
  10. 'load_cluster.{cluster_name}.hadoop_configs' = 'fs.default.name=hdfs://dpp.cluster.com:port;mapred.job.tracker=dpp.cluster.com:port;hadoop.job.ugi=user,password;mapred.job.queue.name=job_queue_name_in_hadoop;mapred.job.priority=HIGH;';
  11. 5. 删除用户 jack 下的导入cluster
  12. SET PROPERTY FOR 'jack' 'load_cluster.{cluster_name}' = '';
  13. 6. 修改用户 jack 默认的导入cluster
  14. SET PROPERTY FOR 'jack' 'default_load_cluster' = '{cluster_name}';
  15. 7. 修改用户 jack 的集群优先级为 HIGH
  16. SET PROPERTY FOR 'jack' 'load_cluster.{cluster_name}.priority' = 'HIGH';

keyword

  1. SET, PROPERTY