dora storm 文本_Kubernetes(k8s)中文文档 Storm 示例_Kubernetes中文社区

译者:White

接下来的例子中,你将会使用Kubernetes和Docker来创建一个多功能的Apache Storm集群。

你将会设置一个Apache ZooKeeper服务,一个Storm master服务(又名Nimbus主机),以及一个Storm工作者集合(又名监管者)。

资源

可以自由获取这些资源文件:

步骤零:前期准备

这个示例假设你已经安装运行了一个Kubernetes集群,环境路径下已经安装了kubectl命令行工具。请查看不同平台的安装说明开始。

步骤一:启动ZooKeeper服务

ZooKeeper是一个分布式协调者服务,Storm使用它来作为引导程序和存储运行转态数据。

$ kubectl create -f examples/storm/zookeeper.json

然后使用examples/storm/zookeeper-service.json文件创建一个逻辑服务终端节点用来给Storm访问ZooKeeper pod。

$ kubectl create -f examples/storm/zookeeper-service.json

在这之前,你需要确保ZooKeeper pod处于运行态并且可以被访问。

查看ZooKeeper是否运行

$ kubectl get pods

NAME READY STATUS RESTARTS AGE

zookeeper 1/1 Running 0 43s

查看ZooKeeper是否可以访问

$ kubectl get services

NAME LABELS SELECTOR IP(S) PORT(S)

kubernetes component=apiserver,provider=kubernetes 10.254.0.2 443

zookeeper name=zookeeper name=zookeeper 10.254.139.141 2181

$ echo ruok | nc 10.254.139.141 2181; echo

imok

步骤二:启动Nimbus服务

Nimbus服务是Storm集群的主节点(或者首要)服务。Nimbus依赖于多种功能的ZooKeeper服务。

$ kubectl create -f examples/storm/storm-nimbus.json

然后使用examples/storm/storm-nimbus-service.json文件创建一个逻辑服务终端节点用来给Storm工作者访问Nimbus pod。

$ kubectl create -f examples/storm/storm-nimbus-service.json

确保Nimbus服务运行正常。

查看Nimbus节点是否运行以及可以访问

$ kubectl get services

NAME LABELS SELECTOR IP(S) PORT(S)

kubernetes component=apiserver,provider=kubernetes 10.254.0.2 443

zookeeper name=zookeeper name=zookeeper 10.254.139.141 2181

nimbus name=nimbus name=nimbus 10.254.115.208 6627

$ sudo docker run -it -w /opt/apache-storm mattf/storm-base sh -c '/configure.sh 10.254.139.141 10.254.115.208; ./bin/storm list'

...

No topologies running.

步骤三:启动Storm工作者

在Storm集群中,Storm工作者(或者监督者)用来完成繁重的工作。Nimbus服务管理这些运行流处理拓扑应用的工人。

Storm工作者需要保证ZooKeeper和Nimbus服务处于运行态。

$ kubectl create -f examples/storm/storm-worker-controller.json

查看工作者们是否在运行

一种查看工作者信息的方式是,通过ZooKeeper服务查看有多少客户端在运行。

$ echo stat | nc 10.254.139.141 2181; echo

Zookeeper version: 3.4.6--1, built on 10/23/2014 14:18 GMT

Clients:

/192.168.48.0:44187[0](queued=0,recved=1,sent=0)

/192.168.45.0:39568[1](queued=0,recved=14072,sent=14072)

/192.168.86.1:57591[1](queued=0,recved=34,sent=34)

/192.168.8.0:50375[1](queued=0,recved=34,sent=34)

/192.168.45.0:39576[1](queued=0,recved=34,sent=34)

Latency min/avg/max: 0/2/2570

Received: 23199

Sent: 23198

Connections: 5

Outstanding: 0

Zxid: 0xa39

Mode: standalone

Node count: 13

Nimbus服务和每个工作者都对应着一个客户端。理想情况下,应该可以在副本控制器创建前后从ZooKeeper获取stat输出。

(欢迎提交pull requests使用不同的方式来验证workers)

tl;dr

kubectl create -f zookeeper.json

kubectl create -f zookeeper-service.json

确保ZooKeeper Pod正在运行(使用:kubectl get pods)。

kubectl create -f storm-nimbus.json

kubectl create -f storm-nimbus-service.json

确保Nimbus Pod正在运行。

kubectl create -f storm-worker-controller.json

5e08bf04ad85c827becc2589a29d0aea.png

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值