MAPREDUCE服务 MRS-Linux中未安装客户端时提交Storm拓扑:操作步骤
操作步骤
- 准备依赖的Jar包和配置文件。
在Linux环境新建目录,例如“/opt/test”,并创建子目录“lib”和“src/main/resources/”。将样例工程中“lib”文件夹下的Jar包上传Linux环境的“lib”目录。将样例工程中“src/main/resources”文件夹下的配置文件上传到Linux环境的“src/main/resources”目录。
- 在IntelliJ IDEA工程中修改WordCountTopology.java类,使用remoteSubmit方式提交应用程序。并替换Jar文件地址。
- 使用remoteSubmit方式提交应用程序
public static void main(String[] args) throws Exception { TopologyBuilder builder = buildTopology(); /* * 任务的提交认为三种方式 * 1、命令行方式提交,这种需要将应用程序jar包复制到客户端机器上执行客户端命令提交 * 2、远程方式提交,这种需要将应用程序的jar包打包好之后在IntelliJ IDEA中运行main方法提交 * 3、本地提交 ,在本地执行应用程序,一般用来测试 * 命令行方式和远程方式安全和普通模式都支持 * 本地提交仅支持普通模式 * * 用户同时只能选择一种任务提交方式,默认命令行方式提交,如果是其他方式,请删除代码注释即可 */ submitTopology(builder, SubmitType.REMOTE); }
- 修改userJarFilePath为Linux环境指定路径“/opt/test/lib/example.jar”。
private static void remoteSubmit(TopologyBuilder builder) throws AlreadyAliveException, InvalidTopologyException, NotALeaderException, AuthorizationException, IOException { Config config = createConf(); String userJarFilePath = "/opt/test/lib/example.jar "; System.setProperty(STORM_SUBMIT_JAR_PROPERTY, userJarFilePath); //安全模式下的一些准备工作 if (isSecurityModel()) { securityPrepare(config); } config.setNumWorkers(1); StormSubmitter.submitTopologyWithProgressBar(TOPO LOG Y_NAME, config, builder.createTopology()); }
- 使用remoteSubmit方式提交应用程序
- 导出Jar包并上传到Linux环境。
- 参考打包Strom样例工程应用执行打包,并将jar包命名为“example.jar”。
- 将导出的Jar包复制到Linux环境的“/opt/test/lib”目录下。
- 切换到“/opt/test”,执行以下命令,运行Jar包。
java -classpath /opt/test/lib/*:/opt/test/src/main/resources com.huawei.storm.example.wordcount.WordCountTopology
- MapReduce服务_如何使用MapReduce服务_MRS集群客户端安装与使用
- MapReduce服务_什么是存算分离_如何配置MRS集群存算分离
- MapReduce服务_什么是Flume_如何使用Flume
- MapReduce服务_什么是Kafka_如何使用Kafka
- MapReduce服务_什么是Loader_如何使用Loader
- MapReduce服务_什么是Yarn_如何使用Yarn
- 数据备份归档在哪里_数据分析存储系统_大数据存储管理
- MapReduce服务_什么是Hive_如何使用Hive
- MapReduce服务_什么是ZooKeeper_如何使用ZooKeeper
- MapReduce服务_什么是MapReduce服务_什么是HBase