Heron集群常用命令

Zookeeper集群

查看zookeeper集群运行状态:

yitian@heron01:~$ ./zookeeper/zookeeper-3.4.10/bin/zkServer.sh status

查看2181端口占用情况:

yitian@heron01:~$ su root
root@heron01:/home/yitian# netstat -nltp|grep 2181
tcp6       0      0 :::2181                 :::*                    LISTEN      1149/java     

删除占用2181端口程序:

root@heron01:/home/yitian# kill -9 1149

启动zookeeper:

yitian@heron01:~$ ./zookeeper/zookeeper-3.4.10/bin/zkServer.sh start

查看启动线程:

yitian@heron01:~$ jps
4404 Jps
4279 QuorumPeerMain

Mesos集群

启动mesos集群:

root@heron01:/home/yitian# ./mesosinstall/sbin/mesos-start-cluster.sh
Starting mesos-master on heron01
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=2 heron01 /home/yitian/mesosinstall/sbin/mesos-daemon.sh mesos-master </dev/null >/dev/null
Starting mesos-agent on heron02
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=2 heron02 /home/yitian/mesosinstall/sbin/mesos-daemon.sh mesos-agent </dev/null >/dev/null
Starting mesos-agent on heron03
ssh -o StrictHostKeyChecking=no -o ConnectTimeout=2 heron03 /home/yitian/mesosinstall/sbin/mesos-daemon.sh mesos-agent </dev/null >/dev/null
Everything's started!

启动成功后:

image

查看mesos运行状态:

yitian@heron01:~$ ps -e|grep mesos
   5225 ?        00:00:00 mesos-master

关闭mesos集群:

root@heron01:/home/yitian# ./mesosinstall/sbin/mesos-stop-cluster.sh
Stopping mesos-agent on heron02
Stopping mesos-agent on heron03
mesos-agent: no process found
Stopping mesos-master on heron01
Everything's stopped!

Aurora集群

查看aurora scheduler运行状态:

yitian@heron01:~$ service aurora-scheduler status

重新启动aurora scheduler服务:

yitian@heron01:~$ service aurora-scheduler restart

启动成功后:

image

Hadoop HDFS集群

启动HDFS:

yitian@heron01:~$ ./hadoop/hadoop-2.7.4/sbin/start-dfs.sh
Starting namenodes on [heron01]
heron01: starting namenode, logging to /home/yitian/hadoop/hadoop-2.7.4/logs/hadoop-yitian-namenode-heron01.out
heron03: starting datanode, logging to /home/yitian/hadoop/hadoop-2.7.4/logs/hadoop-yitian-datanode-heron03.out
heron02: starting datanode, logging to /home/yitian/hadoop/hadoop-2.7.4/logs/hadoop-yitian-datanode-heron02.out
Starting secondary namenodes [heron01]
heron01: starting secondarynamenode, logging to /home/yitian/hadoop/hadoop-2.7.4/logs/hadoop-yitian-secondarynamenode-heron01.out

启动成功后:

image

停止HDFS:

yitian@heron01:~$ ./hadoop/hadoop-2.7.4/sbin/stop-dfs.sh

mvn命令

编译heron示例(intellij idea):

yitian@heron01:~$ cd ./heronIdea/heron-java-streamlet-api-example-master/
yitian@heron01:~/heronIdea/heron-java-streamlet-api-example-master$ mvn assembly:assembly

Heron相关命令

1. 提交Intellij Idea自定义拓扑:

yitian@heron01:~$ heron submit aurora/yitian/devel --config-path ~/.heron/conf ~/heronIdea/heron-java-streamlet-api-example-master/target/heron-java-streamlet-api-example-latest-jar-with-dependencies.jar io.streaml.heron.streamlet.WordCountStreamletTopology WordCountStreamletTopology --deploy-deactivated
[2018-03-06 04:39:23 +0000] [INFO]: Using cluster definition in /home/yitian/.heron/conf/aurora
Mar 06, 2018 4:39:23 AM com.twitter.heron.streamlet.impl.StreamletImpl defaultNameCalculator
INFO: Calculated stage Name as supplier1
Mar 06, 2018 4:39:23 AM com.twitter.heron.streamlet.impl.StreamletImpl defaultNameCalculator
INFO: Calculated stage Name as supplier2
Mar 06, 2018 4:39:23 AM com.twitter.heron.streamlet.impl.StreamletImpl defaultNameCalculator
INFO: Calculated stage Name as union1
Mar 06, 2018 4:39:23 AM com.twitter.heron.streamlet.impl.StreamletImpl defaultNameCalculator
INFO: Calculated stage Name as map1
Mar 06, 2018 4:39:23 AM com.twitter.heron.streamlet.impl.StreamletImpl defaultNameCalculator
INFO: Calculated stage Name as flatmap1
Mar 06, 2018 4:39:23 AM com.twitter.heron.streamlet.impl.StreamletImpl defaultNameCalculator
INFO: Calculated stage Name as reduceByKeyAndWindow1
Mar 06, 2018 4:39:23 AM com.twitter.heron.streamlet.impl.StreamletImpl defaultNameCalculator
INFO: Calculated stage Name as consumer1
[2018-03-06 04:39:23 +0000] [INFO]: Launching topology: 'WordCountStreamletTopology'
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/home/yitian/.heron/lib/uploader/heron-dlog-uploader.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/home/yitian/.heron/lib/statemgr/heron-zookeeper-statemgr.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.JDK14LoggerFactory]
[2018-03-06 04:39:25 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Starting Curator client connecting to: heron01:2181 
[2018-03-06 04:39:25 -0800] [INFO] org.apache.curator.framework.imps.CuratorFrameworkImpl: Starting 
[2018-03-06 04:39:26 -0800] [INFO] org.apache.curator.framework.state.ConnectionStateManager: State change: CONNECTED 
[2018-03-06 04:39:26 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Directory tree initialized. 
[2018-03-06 04:39:26 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Checking existence of path: /heron/topologies/WordCountStreamletTopology 
[2018-03-06 04:39:32 -0800] [INFO] com.twitter.heron.uploader.hdfs.HdfsUploader: Target topology file already exists at '/heron/topologies/aurora/WordCountStreamletTopology-yitian-tag-0--230848895998114710.tar.gz'. Overwriting it now 
[2018-03-06 04:39:32 -0800] [INFO] com.twitter.heron.uploader.hdfs.HdfsUploader: Uploading topology package at '/tmp/tmpFP2vCT/topology.tar.gz' to target HDFS at '/heron/topologies/aurora/WordCountStreamletTopology-yitian-tag-0--230848895998114710.tar.gz' 
[2018-03-06 04:39:50 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Created node for path: /heron/topologies/WordCountStreamletTopology 
[2018-03-06 04:39:50 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Created node for path: /heron/packingplans/WordCountStreamletTopology 
[2018-03-06 04:39:50 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Created node for path: /heron/executionstate/WordCountStreamletTopology 
[2018-03-06 04:39:50 -0800] [INFO] com.twitter.heron.scheduler.aurora.AuroraLauncher: Launching topology in aurora 
[2018-03-06 04:39:50 -0800] [INFO] com.twitter.heron.scheduler.utils.SchedulerUtils: Updating scheduled-resource in packing plan: WordCountStreamletTopology 
[2018-03-06 04:39:50 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Deleted node for path: /heron/packingplans/WordCountStreamletTopology 
[2018-03-06 04:39:50 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Created node for path: /heron/packingplans/WordCountStreamletTopology  
  INFO] Creating job WordCountStreamletTopology 

参考:

image

INSTANCE PEDNDING问题:

按照上述步骤提交拓扑后,aurora中的job始终处于Pending状态,如下:

image

查看任务具体详情,发现原因,集群中主机的资源配置无法满足task的需要,以至于无法将task分配到合适的主机中,因此task始终处于pending状态,若此时启动heron tracker和heron ui,则会发现heron中没用生成physical plan,也是因为资源不足引起的。

在mesos中可以查看集群中主机的资源状况:

image

在aurora scheduler中可以查看具体的task的资源需求,如下为其中一个task的具体详情:

image

2. 提交WordCount示例拓扑:

heron submit aurora/yitian/devel --config-path ~/.heron/conf ~/.heron/examples/heron-api-examples.jar com.twitter.heron.examples.api.WordCountTopology WordCountTopology --deploy-deactivated

3. 启动heron-tracker:

yitian@heron04:~$ heron-tracker
[2018-03-20 06:20:01 +0000] [INFO]: Connecting to zk hostports: [('heron04', 2181)] rootpath: /heron
[2018-03-20 06:20:01 +0000] [INFO]: Connecting to heron04:2181
[2018-03-20 06:20:01 +0000] [INFO]: Sending request(xid=None): Connect(protocol_version=0, last_zxid_seen=0, time_out=10000, session_id=0, passwd='\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00', read_only=None)
[2018-03-20 06:20:01 +0000] [INFO]: Zookeeper connection established, state: CONNECTED
[2018-03-20 06:20:01 +0000] [INFO]: Sending request(xid=1): Exists(path='/heron/topologies', watcher=None)
[2018-03-20 06:20:01 +0000] [INFO]: Received response(xid=1): ZnodeStat(czxid=96, mzxid=96, ctime=1520689567390, mtime=1520689567390, version=0, cversion=25, aversion=0, ephemeralOwner=0, dataLength=0, numChildren=1, pzxid=1278)
[2018-03-20 06:20:01 +0000] [INFO]: Adding children watch for path: /heron/topologies
[2018-03-20 06:20:01 +0000] [INFO]: Sending request(xid=2): GetChildren(path='/heron/topologies', watcher=<bound method ChildrenWatch._watcher of <kazoo.recipe.watchers.ChildrenWatch object at 0x7fb12821a9d0>>)
[2018-03-20 06:20:01 +0000] [INFO]: Received response(xid=2): [u'WordCountTopology']
[2018-03-20 06:20:01 +0000] [INFO]: State watch triggered for topologies.
[2018-03-20 06:20:01 +0000] [INFO]: Adding new topology: WordCountTopology, state_manager: aurorazk
[2018-03-20 06:20:01 +0000] [INFO]: Registering a watch with uid: 28844f7c-9fae-4993-8bc4-352736100960
[2018-03-20 06:20:01 +0000] [INFO]: No execution state found for: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Adding data watch for path: /heron/pplans/WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Sending request(xid=3): GetData(path=u'/heron/pplans/WordCountTopology', watcher=<bound method DataWatch._watcher of <kazoo.recipe.watchers.DataWatch object at 0x7fb12821ac10>>)
[2018-03-20 06:20:01 +0000] [INFO]: Received response(xid=3): ('\n\xd7\x05\n5WordCountTopologybfbb7fe2-8083-4152-a7af-22970fb7b8ae\x12\x11WordCountTopology\x1aR\n1\n\x04word\x1a\'\n%\n\x1etopology.component.parallelism\x12\x011 \x01(\x02\x12\x1d\n\x0f\n\x07default\x12\x04word\x12\n\n\x08\n\x04word\x10\x01"X\n5\n\x08consumer\x1a\'\n%\n\x1etopology.component.parallelism\x12\x011 \x01(\x02\x12\x1f\n\x0f\n\x07default\x12\x04word\x10\x02\x1a\n\n\x08\n\x04word\x10\x01(\x022\xda\x03\nB\n\x19topology.component.rammap\x12#word:1073741824,consumer:1073741824 \x01\n%\n\x1etopology.component.parallelism\x12\x011 \x01\n\'\n\x17topology.container.disk\x12\n2147483648 \x01\n&\n\x16topology.container.ram\x12\n1073741824 \x01\n*\n topology.enable.message.timeouts\x12\x04true \x01\n\x16\n\x0ftopology.stmgrs\x12\x011 \x01\n\x19\n\x0etopology.debug\x12\x05false \x01\n#\n\x1atopology.max.spout.pending\x12\x03100 \x01\n*\n\x19topology.reliability.mode\x12\x0bATMOST_ONCE \x01\n\x1f\n\x16topology.container.cpu\x12\x032.0 \x01\n%\n\x1dtopology.message.timeout.secs\x12\x0230 \x01\n$\n\rtopology.name\x12\x11WordCountTopology \x01\x12\xb5\x02\n\x07stmgr-1\x12\x07heron06\x18\x98\xf6\x01"\x07/unused*\x88\x02/home/yitian/mesosdata/run/slaves/0f1a6aac-4d22-40f6-a8a1-1044bcd0a605-S0/frameworks/6663765c-74c6-4af4-8d75-18a8e11ad493-0000/executors/thermos-yitian-devel-WordCountTopology-1-d9a3778c-bd71-4ca2-a1d9-b20a4879dbb7/runs/6b5d543e-1764-4065-93d4-efa9637a27bd/sandbox0\x8c?8\xc7\xf9\x01@\xc6\xf5\x01\x1a1\n\x16container_1_consumer_2\x12\x07stmgr-1\x1a\x0e\x08\x02\x10\x00\x1a\x08consumer\x1a)\n\x12container_1_word_1\x12\x07stmgr-1\x1a\n\x08\x01\x10\x00\x1a\x04word', ZnodeStat(czxid=1304, mzxid=1304, ctime=1521468054539, mtime=1521468054539, version=0, cversion=0, aversion=0, ephemeralOwner=0, dataLength=1136, numChildren=0, pzxid=1304))
[2018-03-20 06:20:01 +0000] [INFO]: Watch triggered for topology pplan: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: No execution state found for: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Adding data watch for path: /heron/executionstate/WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Sending request(xid=4): GetData(path=u'/heron/executionstate/WordCountTopology', watcher=<bound method DataWatch._watcher of <kazoo.recipe.watchers.DataWatch object at 0x7fb128236490>>)
[2018-03-20 06:20:01 +0000] [INFO]: Received response(xid=4): ('\n\x11WordCountTopology\x125WordCountTopologybfbb7fe2-8083-4152-a7af-22970fb7b8ae\x18\xbf\x83\xbf\xd5\x05"\x06yitian*\x06aurora2\x05devel:\x06yitianB\x1a\n\x0erelease-agent1\x12\x00\x1a\x060.17.1', ZnodeStat(czxid=1280, mzxid=1280, ctime=1521467839351, mtime=1521467839351, version=0, cversion=0, aversion=0, ephemeralOwner=0, dataLength=139, numChildren=0, pzxid=1280))
[2018-03-20 06:20:01 +0000] [INFO]: Watch triggered for topology execution state: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Setting topology info for topology: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Adding data watch for path: /heron/tmasters/WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Sending request(xid=5): GetData(path=u'/heron/tmasters/WordCountTopology', watcher=<bound method DataWatch._watcher of <kazoo.recipe.watchers.DataWatch object at 0x7fb128236850>>)
[2018-03-20 06:20:01 +0000] [INFO]: Received response(xid=5): ('\n\x11WordCountTopology\x125WordCountTopologybfbb7fe2-8083-4152-a7af-22970fb7b8ae\x1a\x07heron06 \x97\xf7\x01(\x95\xf3\x010\xda\xf9\x01', ZnodeStat(czxid=1369, mzxid=1369, ctime=1521551977271, mtime=1521551977271, version=0, cversion=0, aversion=0, ephemeralOwner=99716420694769680, dataLength=95, numChildren=0, pzxid=1369))
[2018-03-20 06:20:01 +0000] [INFO]: Watch triggered for topology tmaster: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Setting topology info for topology: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Adding data watch for path: /heron/schedulers/WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Sending request(xid=6): GetData(path=u'/heron/schedulers/WordCountTopology', watcher=<bound method DataWatch._watcher of <kazoo.recipe.watchers.DataWatch object at 0x7fb128236990>>)
[2018-03-20 06:20:01 +0000] [INFO]: Received response(xid=6): ('\n\x11WordCountTopology\x12\x1cscheduler_as_lib_no_endpoint', ZnodeStat(czxid=1290, mzxid=1290, ctime=1521467859121, mtime=1521467859121, version=0, cversion=0, aversion=0, ephemeralOwner=0, dataLength=49, numChildren=0, pzxid=1290))
[2018-03-20 06:20:01 +0000] [INFO]: Watch triggered for topology scheduler location: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Setting topology info for topology: WordCountTopology
[2018-03-20 06:20:01 +0000] [INFO]: Tracker has started
[2018-03-20 06:20:01 +0000] [INFO]: Running on port: 8888
[2018-03-20 06:20:01 +0000] [INFO]: Using config file: /home/yitian/.herontools/conf/heron_tracker.yaml
[2018-03-20 06:20:01 +0000] [INFO]: Using state manager:
    type: zookeeper
    name: aurorazk
    hostport: heron04:2181
    rootpath: /heron
    tunnelhost: 127.0.0.1

4. 启动heron-ui:

yitian@heron04:~$ heron-ui
[2018-03-20 06:20:08 +0000] [INFO]: Listening at http://0.0.0.0:8889
[2018-03-20 06:20:08 +0000] [INFO]: Using tracker url: http://127.0.0.1:8888
[2018-03-20 06:20:08 +0000] [INFO]: Using base url: 
[2018-03-20 06:20:08 +0000] [INFO]: static/

5. activate topologies:

yitian@heron04:~$ heron activate aurora/yitian/devel WordCountTopology
[2018-03-19 05:00:17 +0000] [INFO]: Using cluster definition in /home/yitian/.heron/conf/aurora
[2018-03-19 05:00:19 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Starting Curator client connecting to: heron04:2181 
[2018-03-19 05:00:19 -0700] [INFO] org.apache.curator.framework.imps.CuratorFrameworkImpl: Starting 
[2018-03-19 05:00:19 -0700] [INFO] org.apache.curator.framework.state.ConnectionStateManager: State change: CONNECTED 
[2018-03-19 05:00:19 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Directory tree initialized. 
[2018-03-19 05:00:19 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Checking existence of path: /heron/topologies/WordCountTopology 
[2018-03-19 05:00:20 -0700] [INFO] com.twitter.heron.spi.utils.TMasterUtils: Topology command ACTIVATE completed successfully. 
[2018-03-19 05:00:20 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Closing the CuratorClient to: heron04:2181 
[2018-03-19 05:00:20 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Closing the tunnel processes 
[2018-03-19 05:00:20 +0000] [INFO]: Successfully activate topology: WordCountTopology

6. deactivate topologies

yitian@heron04:~$ heron deactivate aurora/yitian/devel WordCountTopology
[2018-03-19 05:15:14 +0000] [INFO]: Using cluster definition in /home/yitian/.heron/conf/aurora
[2018-03-19 05:15:14 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Starting Curator client connecting to: heron04:2181 
[2018-03-19 05:15:14 -0700] [INFO] org.apache.curator.framework.imps.CuratorFrameworkImpl: Starting 
[2018-03-19 05:15:15 -0700] [INFO] org.apache.curator.framework.state.ConnectionStateManager: State change: CONNECTED 
[2018-03-19 05:15:15 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Directory tree initialized. 
[2018-03-19 05:15:15 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Checking existence of path: /heron/topologies/WordCountTopology 
[2018-03-19 05:15:15 -0700] [INFO] com.twitter.heron.spi.utils.TMasterUtils: Topology command DEACTIVATE completed successfully. 
[2018-03-19 05:15:15 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Closing the CuratorClient to: heron04:2181 
[2018-03-19 05:15:15 -0700] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Closing the tunnel processes 
[2018-03-19 05:15:15 +0000] [INFO]: Successfully deactivate topology: WordCountTopology

7. Kill Topologyies:

yitian@heron01:~$ heron kill aurora/yitian/devel WordCountStreamletTopology
[2018-03-06 04:57:53 +0000] [INFO]: Using cluster definition in /home/yitian/.heron/conf/aurora
[2018-03-06 04:57:54 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Starting Curator client connecting to: heron01:2181 
[2018-03-06 04:57:54 -0800] [INFO] org.apache.curator.framework.imps.CuratorFrameworkImpl: Starting 
[2018-03-06 04:57:54 -0800] [INFO] org.apache.curator.framework.state.ConnectionStateManager: State change: CONNECTED 
[2018-03-06 04:57:54 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Directory tree initialized. 
[2018-03-06 04:57:54 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Checking existence of path: /heron/topologies/WordCountStreamletTopology 
[2018-03-06 04:57:55 -0800] [INFO] com.twitter.heron.scheduler.aurora.AuroraLauncher: Will try 5 attempts at interval: 2000 ms  
  INFO] Killing tasks for job: aurora/yitian/devel/WordCountStreamletTopology
  INFO] Instances to be killed: [0, 1, 2]
Successfully killed instances [0, 1, 2]
Job killall succeeded
[2018-03-06 04:57:56 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Deleted node for path: /heron/packingplans/WordCountStreamletTopology 
[2018-03-06 04:57:56 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Deleted node for path: /heron/executionstate/WordCountStreamletTopology 
[2018-03-06 04:57:56 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Deleted node for path: /heron/topologies/WordCountStreamletTopology 
[2018-03-06 04:57:56 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Closing the CuratorClient to: heron01:2181 
[2018-03-06 04:57:56 -0800] [INFO] com.twitter.heron.statemgr.zookeeper.curator.CuratorStateManager: Closing the tunnel processes 
[2018-03-06 04:57:56 +0000] [INFO]: Successfully kill topology: WordCountStreamletTopology

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值