操作步骤
提示:流任务所需资源在installer包的tool/support下。
1.下载storm流任务源码storm流任务源码,修改代码中SenqueceBolt类和RandomSpout类中的mysql的ip,数据库,用户及用户密码。修改完成后打成jar包。
2.登录mysql,选择配置的库,创建输入数据源input表:
CREATE TABLE input (
id int,
str varchar(50)
) ;
和输出数据源storm表:
CREATE TABLE storm (
str varchar(50)
) ;
在input表中插入数据:
INSERT INTO `input` VALUES ('1', '{\"STATUS\":\"304\",\"name\":\"A1\",\"age\":\"16\",\"ip\":\"127.0.0.1\"}');
INSERT INTO `input` VALUES ('2', '{\"STATUS\":\"304\",\"name\":\"A1\",\"age\":\"16\",\"ip\":\"127.0.0.1\"}');
INSERT INTO `input` VALUES ('3', '{\"STATUS\":\"501\",\"name\":\"A2\",\"age\":\"16\",\"ip\":\"127.0.0.1\"}');
INSERT INTO `input` VALUES ('4', '{\"STATUS\":\"501\",\"name\":\"A2\",\"age\":\"16\",\"ip\":\"127.0.0.1\"}');
INSERT INTO `input` VALUES ('5', '{\"STATUS\":\"500\",\"name\":\"A3\",\"age\":\"16\",\"ip\":\"127.0.0.2\"}');
INSERT INTO `input` VALUES ('6', '{\"STATUS\":\"500\",\"name\":\"A3\",\"age\":\"16\",\"ip\":\"127.0.0.2\"}');
INSERT INTO `input` VALUES ('7', '{\"STATUS\":\"500\",\"name\":\"A3\",\"age\":\"16\",\"ip\":\"127.0.0.2\"}');
INSERT INTO `input` VALUES ('8', '{\"STATUS\":\"500\",\"name\":\"A3\",\"age\":\"16\",\"ip\":\"127.0.0.2\"}');
INSERT INTO `input` VALUES ('9', '{\"STATUS\":\"500\",\"name\":\"A3\",\"age\":\"16\",\"ip\":\"127.0.0.2\"}');
INSERT INTO `input` VALUES ('10', '{\"STATUS\":\"304\",\"name\":\"A1\",\"age\":\"16\",\"ip\":\"127.0.0.1\"}');
数据库请先授权。
grant all privileges on *.* to '用户名'@'ip' identified by '密码';
IP为要授权的(Worker Resources)IP地址
3. 导航至 流式任务开发>资源管理,点击新增,如下图所示:
图 资源管理
4. 点击新增后上传storm_demo jar 包,点击保存完成上传。如下图所示:
图 资源上传
5. 同理上传实验所需要的依赖包commons-lang-2.6.jar和mysql-connector-java-5.1.34.jar,如下图所示:
图 资源管理
6. 上传完资源后,导航至流任务开发,点击新增,创建一个流任务,如下图所示:
图 流任务新增
7. 进入流任务编辑页,对页面进行编辑后运行,calss为count.FirstTopo,点击保存,完成流任务的创建,如下图所示:
图 流任务编辑页
8.在流任务开发页面点击启动按钮,启动创建好的流任务。如下图所示:
图 启动流任务
9. 启动成功后,导航至流任务监控,可以看到流任务的运行状态。如下图所示:
图 流任务监控页面
10. 查看storm表中的数据。如果有数据则成功。
图 storm表数据
11.点击停止,停止流任务