当前位置: 首页 > news >正文

政府门户网站建设费用如何做优化排名

政府门户网站建设费用,如何做优化排名,手工灯笼简单又好看,怎么把网站黑了文章目录 0.前言搭建完的效果 1.教程1.1.docker 安装 zookeeper1.2. 安装 storm nimbus1.3.docker 安装 supervisor1.4.docker 安装 storm-ui1.5.查看已经启动的容器1.6.提交topology到 storm集群 2.总结3.参考文档 0.前言 Apache Storm 官方也出了Docker 镜像 https://hub.do…

文章目录

  • 0.前言
    • 搭建完的效果
  • 1.教程
    • 1.1.docker 安装 zookeeper
    • 1.2. 安装 storm nimbus
    • 1.3.docker 安装 supervisor
    • 1.4.docker 安装 storm-ui
    • 1.5.查看已经启动的容器
    • 1.6.提交topology到 storm集群
  • 2.总结
  • 3.参考文档

0.前言

Apache Storm 官方也出了Docker 镜像 https://hub.docker.com/_/storm/
本文我们就基于官方镜像搭建一个 Apache Storm 2.4 版本的运行环境,供大家后续学习。
有问题可以参考issue 解决,我的安装过程一路都很顺畅。所以基本上没有看下面是我的详细操作和截图
可以说网上的乱七八糟的教程不如官方文档来的实在。
如果想用虚拟机搭建,请参考我的上一篇文章《Centos7搭建Apache Storm 集群运行环境》

搭建完的效果

Storm UI虽然是Storm 的非必须组件,但是是非常有用,基本上离不开的组件,它可以展示很多信息,对我们平时排查问题很有帮助,
在这里插入图片描述

  1. 拓扑列表:显示当前在Storm集群中运行的所有拓扑的列表。每个拓扑通常会显示其名称、ID、状态和所属的用户。

  2. 拓扑摘要:提供了关于选定拓扑的详细信息,包括拓扑的名称、ID、状态、拓扑图和组件列表。还可能包括拓扑的启动时间、运行时长和错误信息。

  3. 组件视图:显示了拓扑中的各个组件及其实例的信息。对于每个组件,它通常会显示组件的ID、类型、输入输出流以及处理该组件的工作进程和任务数量。

  4. 工作进程视图:提供有关工作进程的详细信息,包括工作进程的ID、主机名、端口号、启动时间、堆内存使用情况、线程数等。

  5. 任务视图:显示有关任务的信息,包括任务的ID、工作进程、组件、执行状态、错误信息等。可以查看每个任务的日志和统计数据。

  6. 错误视图:列出了拓扑中发生的任何错误或异常。这包括组件的失败、任务的错误、工作进程的故障等。通常会显示错误的时间戳、类型和详细描述。

  7. 日志视图:显示了拓扑中各个组件和任务的日志输出。可以查看实时日志或按时间范围过滤日志。

  8. 统计视图:提供了关于拓扑的性能统计数据。这可能包括拓扑的吞吐量、处理延迟、执行时间、错误计数等指标的图表或表格。

  9. 配置视图:显示了拓扑的配置参数和属性。可以查看拓扑使用的配置文件以及运行时配置的值。

  10. 集群概述:提供了有关整个Storm集群的概览信息,包括集群状态、拓扑数量、工作进程数量、任务数量等。

请注意,具体的Storm UI页面内容可能会根据不同的版本和配置有所变化,上述内容仅为一般情况下的解释。

1.教程

1.1.docker 安装 zookeeper

我们选择最新版本的zookeeper

$ docker run -itd --restart always --name ice-zookeeper zookeeper

在这里插入图片描述

1.2. 安装 storm nimbus

创建一个名为ice-nimbus的容器,并在其中运行Storm的Nimbus组件。该容器将与一个名为ice-zookeeper的Zookeeper容器相链接,以便Storm Nimbus可以与Zookeeper进行通信。
这一步耗时稍微较长,需要下载镜像。

$ docker run -itd --restart always --name ice-nimbus --link ice-zookeeper:zookeeper storm storm nimbus

在这里插入图片描述

1.3.docker 安装 supervisor

创建一个名为ice-supervisor的容器,并在其中运行Storm的Supervisor组件。该容器将与一个名为ice-zookeeper的Zookeeper容器和一个名为ice-nimbus的Nimbus容器相链接,以便Storm Supervisor可以与Zookeeper和Nimbus进行通信。通过--restart always选项,当容器退出时,Docker将自动重新启动该容器,确保Supervisor组件一直处于运行状态。

$ docker run -d --restart always --name ice-supervisor --link ice-zookeeper:zookeeper --link ice-nimbus:nimbus storm storm supervisor

在这里插入图片描述

1.4.docker 安装 storm-ui

$ docker run -d -p 8980:8080 --restart always --name ui --link ice-nimbus:nimbus storm storm ui

在这里插入图片描述

1.5.查看已经启动的容器

docker ps -a

在这里插入图片描述

1.6.提交topology到 storm集群

$ docker run --link ice-nimbus:nimbus -it --rm -v $(pwd)/topology.jar:/topology.jar storm storm jar /topology.jar org.apache.storm.starter.WordCountTopology topology

在这里插入图片描述

在这里插入图片描述
我们可以在StormUI的最后面看到 Nimbus配置参数:

  • worker.profiler.enabled: 是否启用工作进程的性能分析器。在给定的配置中,该值为false,表示禁用性能分析器。

  • worker.profiler.command: 用于启动性能分析器的命令。在给定的配置中,命令为"flight.bash"。

  • worker.profiler.childopts: 传递给性能分析器的JVM参数。在给定的配置中,参数为"-XX:+UnlockCommercialFeatures -XX:+FlightRecorder",用于解锁商业特性并启用Flight Recorder。

  • worker.metrics: 工作进程的度量指标配置。提供了一组度量指标的名称和相应的类。在给定的配置中,包括CGroup内存使用、CGroup内存限制、CGroup CPU使用、CGroup CPU保证等度量指标。

  • worker.max.timeout.secs: 工作进程的最大超时时间,以秒为单位。在给定的配置中,超时时间为600秒。

  • worker.log.level.reset.poll.secs: 重新设置工作进程日志级别的轮询间隔,以秒为单位。在给定的配置中,轮询间隔为30秒。

  • worker.heartbeat.frequency.secs: 工作进程发送心跳的频率,以秒为单位。在给定的配置中,心跳频率为1秒。

  • worker.heap.memory.mb: 工作进程的堆内存大小,以MB为单位。在给定的配置中,堆内存大小为768MB。

  • worker.gc.childopts: 传递给垃圾收集器的JVM参数。在给定的配置中,参数为空字符串,表示没有额外的垃圾收集器参数。

  • worker.childopts: 工作进程的启动选项,包括JVM参数。在给定的配置中,包括一些JVM参数,例如堆内存大小、GC日志的输出路径和格式、堆外内存溢出时的堆转储等。

  • ui.port: Storm UI的端口号。在给定的配置中,端口号为8080。

  • ui.childopts: Storm UI的启动选项,包括JVM参数。在给定的配置中,只指定了最大堆内存大小为768MB。

  • topology.workers: 拓扑的工作进程数。在给定的配置中,工作进程数为1,表示拓扑将在一个工作进程中执行。

  • topology.worker.shared.thread.pool.size: 拓扑工作进程共享线程池的大小。在给定的配置中,线程池大小为4。

  • topology.worker.receiver.thread.count: 拓扑工作进程接收器线程的数量。在给定的配置中,接收器线程数为1。

  • topology.worker.max.heap.size.mb: 拓扑工作进程的最大堆内存大小,以MB为单位。在给定的配置中,最大堆内存大小为768MB。

  • topology.worker.logwriter.childopts: 拓扑工作进程日志写入器的启动选项,包括JVM参数。在给定的配置中,只指定了最大堆内存大小为64MB。

  • topology.tuple.serializer: 拓扑元组的序列化器。在给定的配置中,序列化器为"org.apache.storm.serialization.types.ListDelegateSerializer"。

  • topology.trident.batch.emit.interval.millis: Trident拓扑批量发射间隔的时间间隔,以毫秒为单位。在给定的配置中,间隔为500毫秒。

  • topology.transfer.buffer.size: 拓扑传输缓冲区的大小。在给定的配置中,缓冲区大小为1000。

  • topology.transfer.batch.size: 拓扑传输批量大小。在给定的配置中,批量大小为1。

  • topology.stats.sample.rate: 拓扑配置项解释:

  • worker.profiler.enabled: 是否启用工作进程的性能分析器。在给定的配置中,该值为false,表示禁用性能分析器。

  • worker.profiler.command: 用于启动性能分析器的命令。在给定的配置中,命令为"flight.bash"。

  • worker.profiler.childopts: 传递给性能分析器的JVM参数。在给定的配置中,参数为"-XX:+UnlockCommercialFeatures -XX:+FlightRecorder",用于解锁商业特性并启用Flight Recorder。

  • worker.metrics: 工作进程的度量指标配置。提供了一组度量指标的名称和相应的类。在给定的配置中,包括CGroup内存使用、CGroup内存限制、CGroup CPU使用、CGroup CPU保证等度量指标。

  • worker.max.timeout.secs: 工作进程的最大超时时间,以秒为单位。在给定的配置中,超时时间为600秒。

  • worker.log.level.reset.poll.secs: 重新设置工作进程日志级别的轮询间隔,以秒为单位。在给定的配置中,轮询间隔为30秒。

  • worker.heartbeat.frequency.secs: 工作进程发送心跳的频率,以秒为单位。在给定的配置中,心跳频率为1秒。

  • worker.heap.memory.mb: 工作进程的堆内存大小,以MB为单位。在给定的配置中,堆内存大小为768MB。

  • worker.gc.childopts: 传递给垃圾收集器的JVM参数。在给定的配置中,参数为空字符串,表示没有额外的垃圾收集器参数。

  • worker.childopts: 工作进程的启动选项,包括JVM参数。在给定的配置中,包括一些JVM参数,例如堆内存大小、GC日志的输出路径和格式、堆外内存溢出时的堆转储等。

  • ui.port: Storm UI的端口号。在给定的配置中,端口号为8080。

  • ui.childopts: Storm UI的启动选项,包括JVM参数。在给定的配置中,只指定了最大堆内存大小为768MB。

  • topology.workers: 拓扑的工作进程数。在给定的配置中,工作进程数为1,表示拓扑将在一个工作进程中执行。

  • topology.worker.shared.thread.pool.size: 拓扑工作进程共享线程池的大小。在给定的配置中,线程池大小为4。

  • topology.worker.receiver.thread.count: 拓扑工作进程接收器线程的数量。在给定的配置中,接收器线程数为1。

  • topology.worker.max.heap.size.mb: 拓扑工作进程的最大堆内存大小,以MB为单位。在给定的配置中,最大堆内存大小为768MB。

  • topology.worker.logwriter.childopts: 拓扑工作进程日志写入器的启动选项,包括JVM参数。在给定的配置中,只指定了最大堆内存大小为64MB。

  • topology.tuple.serializer: 拓扑元组的序列化器。在给定的配置中,序列化器为"org.apache.storm.serialization.types.ListDelegateSerializer"。

  • topology.trident.batch.emit.interval.millis: Trident拓扑批量发射间隔的时间间隔,以毫秒为单位。在给定的配置中,间隔为500毫秒。

  • topology.transfer.buffer.size: 拓扑传输缓冲区的大小。在给定的配置中,缓冲区大小为1000。

  • topology.transfer.batch.size: 拓扑传输批量大小。在给定的配置中,批量大小为1。

  • topology.stats.sample.rate: 拓扑统计信息的

2.总结

本次我们将storm 使用docker 搭建了运行环境,下个章节,我们使用这个运行环境来运行我们拓扑。写一个最简单的 world count。本次我们就先到这里,大家如果需要继续可以开始写拓扑,尝试自己提交运行。

import org.apache.storm.Config;
import org.apache.storm.LocalCluster;
import org.apache.storm.topology.TopologyBuilder;
import org.apache.storm.tuple.Fields;
import org.apache.storm.tuple.Values;
import org.apache.storm.utils.Utils;public class WordCountTopology {public static void main(String[] args) {// 创建TopologyBuilder实例TopologyBuilder builder = new TopologyBuilder();// 定义spout(数据源)和bolt(数据处理器)的名称和任务并行度builder.setSpout("word-reader", new WordReaderSpout(), 1);builder.setBolt("word-normalizer", new WordNormalizerBolt(), 2).shuffleGrouping("word-reader");builder.setBolt("word-counter", new WordCounterBolt(), 2).fieldsGrouping("word-normalizer", new Fields("word"));// 创建配置对象并设置一些参数Config config = new Config();config.put("inputFile", "input.txt");config.setDebug(true);// 在本地模式下运行拓扑LocalCluster cluster = new LocalCluster();cluster.submitTopology("word-count-topology", config, builder.createTopology());// 等待一段时间后停止拓扑Utils.sleep(5000);cluster.killTopology("word-count-topology");cluster.shutdown();}
}

3.参考文档

  1. docker hub storm https://hub.docker.com/_/storm
  2. Storm 社区 https://github.com/31z4/storm-docker

文章转载自:
http://dinncostuffy.ssfq.cn
http://dinncoflytable.ssfq.cn
http://dinncoslice.ssfq.cn
http://dinncomycelia.ssfq.cn
http://dinncogauge.ssfq.cn
http://dinncozoophagous.ssfq.cn
http://dinncogracile.ssfq.cn
http://dinncoplacet.ssfq.cn
http://dinncozoophagous.ssfq.cn
http://dinncotdb.ssfq.cn
http://dinncomulatta.ssfq.cn
http://dinncomerchandising.ssfq.cn
http://dinncopraiseful.ssfq.cn
http://dinncohandicap.ssfq.cn
http://dinncoarmpit.ssfq.cn
http://dinncoantiallergic.ssfq.cn
http://dinncospenglerian.ssfq.cn
http://dinncowooftah.ssfq.cn
http://dinncocaldarium.ssfq.cn
http://dinncomasterman.ssfq.cn
http://dinncogleet.ssfq.cn
http://dinncojiulong.ssfq.cn
http://dinncoflagfeather.ssfq.cn
http://dinncocoessential.ssfq.cn
http://dinncohomolecithal.ssfq.cn
http://dinncosociolect.ssfq.cn
http://dinncoadverbial.ssfq.cn
http://dinncooner.ssfq.cn
http://dinncomootah.ssfq.cn
http://dinncogoliardery.ssfq.cn
http://dinncobeflag.ssfq.cn
http://dinncosurprint.ssfq.cn
http://dinncovega.ssfq.cn
http://dinncopolystylar.ssfq.cn
http://dinncotedious.ssfq.cn
http://dinncowaterproof.ssfq.cn
http://dinncoinveteracy.ssfq.cn
http://dinncooctosyllable.ssfq.cn
http://dinncoamanitin.ssfq.cn
http://dinncokroll.ssfq.cn
http://dinncotopos.ssfq.cn
http://dinncothema.ssfq.cn
http://dinncohirudin.ssfq.cn
http://dinncobiomorph.ssfq.cn
http://dinncobondman.ssfq.cn
http://dinncobaklava.ssfq.cn
http://dinncoquathlamba.ssfq.cn
http://dinncodesmosome.ssfq.cn
http://dinncocombustion.ssfq.cn
http://dinncozootoxin.ssfq.cn
http://dinncotetragonal.ssfq.cn
http://dinncoirreversibility.ssfq.cn
http://dinncoimpetuosity.ssfq.cn
http://dinncocastaly.ssfq.cn
http://dinncobanditry.ssfq.cn
http://dinncofamilarity.ssfq.cn
http://dinncoalbeit.ssfq.cn
http://dinncostenographically.ssfq.cn
http://dinncoharmlessly.ssfq.cn
http://dinncoquizzical.ssfq.cn
http://dinncosemitics.ssfq.cn
http://dinncomender.ssfq.cn
http://dinncourbanization.ssfq.cn
http://dinncocopremia.ssfq.cn
http://dinncofeathercut.ssfq.cn
http://dinncogenupectoral.ssfq.cn
http://dinnconewish.ssfq.cn
http://dinncodesire.ssfq.cn
http://dinncomushy.ssfq.cn
http://dinncocrumblings.ssfq.cn
http://dinncoewan.ssfq.cn
http://dinncoattitudinal.ssfq.cn
http://dinncoferrum.ssfq.cn
http://dinnconaussie.ssfq.cn
http://dinncovaporish.ssfq.cn
http://dinncoprestidigitation.ssfq.cn
http://dinncooutclimb.ssfq.cn
http://dinncopeejays.ssfq.cn
http://dinncowaist.ssfq.cn
http://dinncoimpresario.ssfq.cn
http://dinncoradiocontamination.ssfq.cn
http://dinncocaster.ssfq.cn
http://dinncoquarry.ssfq.cn
http://dinncogustaf.ssfq.cn
http://dinncoaffectless.ssfq.cn
http://dinncointerterm.ssfq.cn
http://dinncoadmissibility.ssfq.cn
http://dinncocuboidal.ssfq.cn
http://dinncojuichin.ssfq.cn
http://dinncotrommel.ssfq.cn
http://dinncosasebo.ssfq.cn
http://dinncopuppetize.ssfq.cn
http://dinncosparsity.ssfq.cn
http://dinncoascender.ssfq.cn
http://dinncohellfire.ssfq.cn
http://dinncoholon.ssfq.cn
http://dinncoastronautic.ssfq.cn
http://dinncosanguinary.ssfq.cn
http://dinncolatensification.ssfq.cn
http://dinncoexpansible.ssfq.cn
http://www.dinnco.com/news/108306.html

相关文章:

  • 一个企业网站建设需要多长时间深圳全网营销方案
  • 乌鲁木齐官方网站如何在百度搜索到自己的网站
  • 邦拓网站建设seo云优化
  • 绍兴网站制作关键词优化网站排名
  • 好的做网站的公司免费获客软件
  • 大连建设网站制作强化防疫指导
  • 做网站销售是干什么的seo标题优化裤子关键词
  • 长治哪里做网站学软件开发学费多少钱
  • 网站图片下载 代码建站系统cms
  • 相亲网站拉人做基金杭州网站优化平台
  • 营销网站建设哪家便宜西安seo工作室
  • 网站自己做服务器划算吗成都新闻今日最新消息
  • 如何建一个论坛网站网页界面设计
  • 网站建设实物实训目的厦门seo公司
  • 网站首页图片轮转代码 很好用8大营销工具
  • 网页网站的制作过程郑州网络营销推广机构
  • 巩义网站建设价格全国疫情最新名单
  • 网站开发项目心得今日国际新闻10条
  • 我做的静态网站怎么发布到网上seo每日工作内容
  • 响应式网页开发seo策略
  • discuz 做家教网站网络营销的未来发展趋势
  • 装饰公司网站建设流程百度账号免费注册
  • 如何做整人网站兰州seo快速优化报价
  • 郑州seo优化大师对网站的建议和优化
  • 网站备案要拍照大家怎么做的啊湖州网站seo
  • 做网站专题模板整站seo优化哪家好
  • 网站设计开发软件各种推广平台
  • 网站建设发展情况危机舆情公关公司
  • 网站后台上传软件营销型网站案例
  • 山东网络建站推广seo排名怎么样