更新时间:2024-07-19 GMT+08:00
        
          
          
        
      
      
      
      
      
      
      
      
  
      
      
      
        
使用客户端提交Storm拓扑
操作场景
用户可以根据业务需要,在集群的客户端中提交Storm拓扑,持续处理用户的流数据。启用Kerberos认证的集群,需要提交拓扑的用户属于“stormadmin”或“storm”组。
前提条件
已刷新客户端。
操作步骤
- 根据业务情况,准备好客户端,登录安装客户端的节点。
 - 执行以下命令,设置拓扑的jar包权限。
    
    
例如修改“/opt/storm/topology.jar”的权限:
chmod 600 /opt/storm/topology.jar
 - 执行以下命令,切换到客户端目录,例如“/opt/client”。
    
    
cd /opt/client
 - 执行以下命令,配置环境变量。
    
    
source bigdata_env
 - 若安装了Storm多实例,在使用Storm命令提交拓扑时,请执行以下命令加载具体实例的环境变量,否则请跳过此步骤。例如,Storm-2实例:
    
    
source Storm-2/component_env
 - 启用Kerberos认证的集群,执行以下命令认证用户身份。未启用Kerberos认证的集群无需执行。
    
    
kinit Storm用户
 - MRS 3.x之前版本:执行以下命令,提交Storm拓扑。
    
    
storm jar 拓扑包路径 拓扑Main方法的类名称 拓扑名称
界面提示以下信息表示提交成功:
Finished submitting topology: topo1
 
     - 如果需要拓扑支持采样消息,则还需要增加参数“topology.debug”和“topology.eventlogger.executors”。
 - 拓扑如何处理数据是拓扑自身行为。样例拓扑随机生成字符并分隔字符串,需要查看处理情况时,请启用采样功能并参见查看Storm拓扑日志。
 
 - MRS 3.x及后续版本:执行以下命令,提交拓扑任务。
    
    
storm jar topology-jar-path class 入参列表
- topology-jar-path:表示拓扑的jar包所在路径。
 - class:表示拓扑使用的main方法所在类名称。
 - 入参列表:表示拓扑使用的main方法入参。
 
显示以下信息表示拓扑提交成功:
Finished submitting topology: topology1
 
     - 登录认证用户必须与所加载环境变量(component_env)一 一对应,否则使用storm命令提交拓扑任务出错。
 - 加载客户端环境变量且对应用户登录成功后,该用户可以在任意storm客户端下执行storm命令来提交拓扑任务,但提交拓扑命令执行完成后,提交成功的拓扑仍然在用户所对应的Storm集群中,不会出现在其他Storm集群中。
 - 如果修改了集群域名,需要在提交拓扑前重新设置域名信息,进入cql语句执行命令。
 
 - 执行以下命令,查看Storm中的拓扑。启用Kerberos认证的集群,只有属于“stormadmin”或“storm”的用户可以查看所有拓扑。
    
    
storm list
 
   父主题: 使用Storm