美文网首页
风控系统二:storm伪集群环境安装

风控系统二:storm伪集群环境安装

作者: 源码互助空间站 | 来源:发表于2020-05-09 09:50 被阅读0次

一、storm集群在风控系统中作用

风控系统一:dtools规则引擎学习使用中描述了风控系统的做,比如说限制同一ip在固定时间内登录次数等,这个是需要实时计算的,由于数据量大,所一用storm集群来实时计算。

二、安装说明

storm和kafka集群安装是没有必然联系的,我将这两个写在一起,是因为他们都是由zookeeper进行管理的,也都依赖于JDK的环境,为了不重复再写一遍配置,所以我将这两个写在一起。若只需一个,只需挑选自己选择的阅读即可。
网上很多教程都是一步一步手动安装的,这样jdk、storm、kafka的版本都要互相有作用,下面我的安装是跟你局docker来安装的。

三、Zookeeper安装-伪分布式

  • 下载Zookeeper镜像

  • zk部署目录


    image.png
  • 配置文件准备
    根据上面的规划图建立目录,目录建好后, 在每个data目录下 建立一个myid文件,并写入server id,具体做法如下:

          在zookeeper目录下, 执行下面命令: 
    
         echo 1 > data_1/myid  回车
    
         echo 2 > data_2/myid  回车
    
         echo 3 > data_3/myid  回车
    
         这三个命令是将server id 写入到对应目录的myid文件中。
    

将系统原来的zoo.cfg 复制为 zoo1.cfg ,修改对应内容如下图:


image.png

这里, dataDir 就是刚才建立的数据目录, dataLogDir是日志目录, 端口 2181, 在每个zoo.cfg文件中,都要添加想同的server.1 , server.2. server.3

同样复制到zoo2.cfg zoo3.cfg 修改对应配置如下图:


image.png
  • zk启动
    启动这里,就提现了部署三套和部署一套的区别, 部署一套,要分别指定对应的配置文件。在zookeeper的bin目录下, 分别执行下面三个命令,启动zookeeper

    ./zkServer.sh start zoo1.cfg

    ./zkServer.sh start zoo2.cfg

    ./zkServer.sh start zoo3.cfg

  • 启动后,可以通过提供的脚本查看三个进程哪个是 leader,哪个是follower,具体命令为 ./zkServer.sh status xxx.cfg


    image.png

四、kafka安装-伪分布式

  • 下载压缩包

cd /opt/kafka/kafka_2.12-1.1.0/config #进入kafka配置目录
cp server.properties server.properties.bak #备份kafka默认配置文件
cp server.properties server-1.properties #创建kafka-1的broker
cp server.properties server-2.properties #创建kafka-2的broker

  • 修改配置文件: 修改kafka的server配置文件:

cd /opt/kafka/kafka_2.12-1.1.0/config
vim server.properties #
broker.id=0 #broker的id
host.name=192.168.1.5 #本机名或者ip
port=9092 #每个id内Kakfa服务器监听的端口
log.dirs=/opt/kafka/kafka_2.12-1.1.0/logs/log-0 #日志存放路径
zookeeper.connect=192.168.1.5:2181 #zookeeper连接端口

  • 启动kafka

/opt/kafka/kafka_2.12-1.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.12-1.1.0/config/server.properties
/opt/kafka/kafka_2.12-1.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.12-1.1.0/config/server-1.properties
/opt/kafka/kafka_2.12-1.1.0/bin/kafka-server-start.sh -daemon /opt/kafka/kafka_2.12-1.1.0/config/server-2.properties

:wq 保存退出

五、strom安装-伪分布式

下载storm文件后,进行解压缩后

  • 配置环境 vi /etc/profile

export STORM_HOME=/usr/local/soft/storm
export PATH=ERL_PATH:PATH:${STORM_HOME}/bin

  • 修改配置文件 vi strom/config/storm.yaml

storm.zookeeper.servers:
- "localhost"
nimbus.host: "localhost"
storm.local.dir: "/usr/local/soft/storm/stormlocaldir"
supervisor.slots.ports:
- 6700
- 6701
- 6702
- 6703

  • 启动命令-zookeeper必须已经启动

启动的服务窗口不能关闭
storm nimbus &
storm supervisor &
启动storm web ui服务
storm ui &
启动storm log web服务
storm logviewer &

  • 查看是否启动进程

jps

image.png

六、Storm常用操作命令

有许多简单且有用的命令可以用来管理拓扑,它们可以提交、杀死、禁用、再平衡拓扑。

  • 查询已经启动storm项目
    storm list
  • 提交任务命令格式:storm jar 【jar路径】 【拓扑包名.拓扑类名】 【拓扑名称】
    bin/storm jar examples/storm-starter/storm-starter-topologies-0.9.6.jar storm.starter.WordCountTopology wordcount
  • 杀死任务命令格式:storm kill 【拓扑名称】 -w 10(执行kill命令时可以通过-w [等待秒数]指定拓扑停用以后的等待时间)
    storm kill topology-name -w 10
  • 停用任务命令格式:storm deactivte 【拓扑名称】
    storm deactivte topology-name
    我们能够挂起或停用运行中的拓扑。当停用拓扑时,所有已分发的元组都会得到处理,但是spouts的nextTuple方法不会被调用。销毁一个拓扑,可以使用kill命令。它会以一种安全的方式销毁一个拓扑,首先停用拓扑,在等待拓扑消息的时间段内允许拓扑完成当前的数据流。
  • 启用任务命令格式:storm activate【拓扑名称】
    storm activate topology-name
  • 重新部署任务命令格式:storm rebalance 【拓扑名称】
    storm rebalance topology-name
    再平衡使你重分配集群任务。这是个很强大的命令。比如,你向一个运行中的集群增加了节点。再平衡命令将会停用拓扑,然后在相应超时时间之后重分配工人,并重启拓扑。

相关文章

网友评论

      本文标题:风控系统二:storm伪集群环境安装

      本文链接:https://www.haomeiwen.com/subject/hiyhnhtx.html