【笔记】虚拟机安装jstorm并运行demo

本地虚拟机搭建zk环境,安装jstorm,并运行一个简单的jstorm demo。

步骤:

1.安装jdk,python,配置zookeeper。

2.配置jstorm,安装jstorm UI。

3.启动jstorm。

 

详细步骤:

1.安装jdk,配置zookeeper。

(1)安装jdk

启动zk需要java1.8,启动jstorm需要java1.7

先配置jdk1.8 (解压命令tar zxvf / tar -xvf)

vi /etc/profile

 

 让配置生效

source /etc/profile

 

 

 

(2)zk安装配置

由于机器不足,所以在一台机器部署3个server,建立3个目录

 把zk安装包放进这三个server目录并解压

每个zkserver目录都创建data,dataLog,logs

进入每个data目录,创建myid文件,里面写入server对应的数字,例如这个是server1,就写1,另外两个分别写2,3

分别进入3个zkserver的apache-zookeeper-3.7.0-bin/conf目录,把zoo_sample.cfg改为zoo.cfg,并修改zoo.cfg

 

 

 

 

 

 

由于是部署在1台机器上所以
clientPort端口三个server不能一样
server1是2181,
server2是2182,
server3是2183,
dataDir和dataLogDir也需要区分下。 最后几行唯一需要注意的地方就是 server.X 这个数字就是对应 data/myid中的数字。
之前在3个server的myid文件中分别写入了1,2,3,那么每个server中的zoo.cfg都配server.1,server.2,server.3。
因为在同一台机器上,后面连着的2个端口3个server都不要一样,否则端口冲突,其中
第一个端口用来集群成员的信息交换,
第二个端口是在leader挂掉时专门用来进行选举leader所用

修改log4j.properties文件,使zookeeper能输出日志文件,注意每个server的路径不同

 

log4j.rootLogger=INFO, CONSOLE,ROLLINGFILE
log4j.appender.ROLLINGFILE.File=/opt/storm/zkserver1/logs/zookeeper.log

进入apache-zookeeper-3.7.0-bin/bin目录, ./zkServer.sh start启动一个server

(启动之前先把相关端口开放,如2181、2182、2183、22、2888、2889、2890、3888、3889、3890、6700、6701、6702、6703、8080等,开放端口方法见文末)

然后我们把剩下两个zk也启动

 

 

2.配置jstorm,安装jstorm UI。

Storm解压后,需要先创建workdir目录 , mkdir  /opt/storm/storm/workdir
storm.yaml配置文件如下,需要注意的是每个配置项需要以空格开头,否则程序读不出来

 

 

 

 

 

 

 

storm.zookeeper.servers:Storm集群使用的Zookeeper集群地址

storm.zookeeper.port:zookeeper端口不使用默认端口是配置该项

storm.local.dir:Nimbus和Supervisor进程用于存储少量状态,如jars、confs等的本地磁盘目录,需要提前创建该目录并给以足够的访问权限

nimbus.host: Storm集群Nimbus机器地址,各个Supervisor工作节点需要知道哪个机器是Nimbus,以便下载Topologies的jars、confs等文件

supervisor.slots.ports:对于每个Supervisor工作节点,需要配置该工作节点可以运行的worker数量。每个worker占用一个单独的端口用于接收消息,该配置选项即用于定义哪些端口是可被worker使用的。默认情况下,每个节点上可运行4个workers,分别在6700、6701、6702和6703端口

 

3.启动jstorm。

 由于使用虚拟机无法多开窗口,所以可以通过windows的cmd命令窗口远程连接虚拟机(多开几个cmd窗口)

最后一步,启动Storm的所有后台进程。和Zookeeper一样,Storm也是快速失败(fail-fast)的系统,这样Storm才能在任意时刻被停止,并且当进程重启后被正确地恢复执行。这也是为什么Storm不在进程内保存状态的原因,即使Nimbus或Supervisors被重启,运行中的Topologies不会受到影响。

以下是启动Storm各个后台进程的方式:(本文 没设置好在UI 前台查看相关信息,故UI没起)

启动之前先切换jdk1.8环境变量

vi /etc/profile

使变量生效

source /etc/profile

在启动supervisor时可能会启不来,所以需要检查配置文件

cd /etc/hosts      加入如下配置:
192.168.238.132 storm
其中storm为主机名(hostname)

Nimbus: 在Storm主控节点上运行"./jstorm nimbus >/dev/null 2>&1 &"启动Nimbus后台程序,并放到后台执行;

 

 

Supervisor: 在Storm各个工作节点上运行"./jstorm supervisor >/dev/null 2>&1 &"启动Supervisor后台程序,并放到后台执行;

 

 

UI: 在Storm主控节点上运行"./storm ui >/dev/null 2>&1 &"启动UI后台程序,并放到后台执行,启动后可以通过http://{nimbus host}:8080观察集群的worker资源使用情况、Topologies的运行状态等信息。

 

 

最后启动jstorm的demo

进入日志目录查看日志结果

 

 

 

 

部分内容参考博客:Centos7安装JStorm2.1.1_程序员小董的专栏-CSDN博客

开启相关端口参考博客:centos7虚拟机开启端口_清晨0001的博客-CSDN博客

原文地址:https://www.cnblogs.com/jiangfenli/p/15092109.html

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。

相关推荐


#一、什么是ZooKeeper**ZooKeeper是一个分布式服务协调框架**,提供了分布式数据一致性的解决方案,基于ZooKeeper的**数据结构,Watcher,选举机制**等特点,可以**实现数据的发布/订阅,软负载均衡,命名服务,统一配置管理,分布式锁,集群管理**等等。#二、为什么使用ZooKeeperZooKeeper能保证:*
2.ZooKeeper介绍2.1.ZooKeeper由来正式介绍ZooKeeper之前,我们先来看看ZooKeeper的由来,还挺有意思的。下面这段内容摘自《从Paxos到ZooKeeper》第四章第一节,推荐大家阅读一下:ZooKeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很
Zookeeper概述1.ZooKeeper最为主要的使⽤场景,是作为分布式系统的分布式协同服务。2.分布式系统中每台服务器的算力和资源都是有限的,但是我们通过分布式系统组成集群就可以对算力和资源进行无限扩张,但是分布式节点间的协调就成了问题。3.就像我们的开发团队之间的协作一
环境:1.VMware®Workstation12Pro 2.CentOS7 3.zookeeper-3.4.6安装步骤1.下载zookeeper本文使用的zookeeper下载地址如下(大家也可以下载其它版本)链接:https://pan.baidu.com/s/1Ab9F53jNy7upsrYHCacWrw 提取码:jqyn 
###1\.面试官:工作中使用过Zookeeper嘛?你知道它是什么,有什么用途呢?**小菜鸡的我:***有使用过的,使用ZooKeeper作为**dubbo的注册中心**,使用ZooKeeper实现**分布式锁**。*ZooKeeper,它是一个开放源码的**分布式协调服务**,它是一个集群的管理者,它将简单易用的接口提供给用户。*
##2\.ZooKeeper介绍###2.1\.ZooKeeper由来正式介绍ZooKeeper之前,我们先来看看ZooKeeper的由来,还挺有意思的。下面这段内容摘自《从Paxos到ZooKeeper》第四章第一节,推荐大家阅读一下:>ZooKeeper最早起源于雅虎研究院的一个研究小组。在当时,研究人员发现,在雅虎内部很
环境准备:windows:jdk8+nginx+ab压测centos7:redis+zookeeper3.3.6ab下载链接:https://www.apachelounge.com/download/测试思路:windows下使用springboot编写秒杀接口,商品数据存在redis,运行三个服务,利用nginx做代理,使用ab分别测试单机锁,自实现zookeeper分布式锁和Curator
由于只有一台电脑,所以搭建一个伪集群(伪集群就是在一台电脑上模拟搭建集群,走不同端口启动,真实的情况在每台机器上搭建一个zookeeper或者每台机器两个zookeeper等),道理是一样的,只不过要注意别被防火墙或者安全组规则挡住了zookeeper节点间的通信,每个节点直接的网络要是通的。集群数
常用命令总结(linux运行.sh结尾的脚本,window运行.cmd结尾的脚本,一下均为linux运行的,直接将.sh改为.cmd即可):linux环境:1.启动ZK服务:bin/zkServer.shstart2.查看ZK服务状态:bin/zkServer.shstatus3.停止ZK服务:bin/zkServer.shstop4.重启ZK服务:bin/zkServer.shrest
Kubernetes简介Kubernetes(简称K8S,K和S之间有8个字母)是用于自动部署,扩展和管理容器化应用程序的开源系统。它将组成应用程序的容器组合成逻辑单元,以便于管理和服务发现。Kubernetes源自Google15年生产环境的运维经验,同时凝聚了社区的最佳创意和实践。Kubernetes具有如下特性:
###正文ZooKeeper很流行,有个基本的疑问:*ZooKeeper是用来做什么的?*之前没有ZK,为什么会诞生ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)*ZooKeeper是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节*ZooKeeper对外暴露简单的API,用于支持分
#一、什么是ZooKeeper**ZooKeeper是一个分布式服务协调框架**,提供了分布式数据一致性的解决方案,基于ZooKeeper的**数据结构,Watcher,选举机制**等特点,可以**实现数据的发布/订阅,软负载均衡,命名服务,统一配置管理,分布式锁,集群管理**等等。#二、为什么使用ZooKeeperZooKeeper能保证:*
点赞再看,养成习惯,微信搜索「小大白日志」关注这个搬砖人。文章不定期同步公众号,还有各种一线大厂面试原题、我的学习系列笔记。zoo.cfg即/usr/local/java/zookeeper/conf下的zoo_sample.cfgzoo.cfg内含参数:tickTime、initLimit、syncLimit、dataDir、dataLogDir、clientPort
正文ZooKeeper很流行,有个基本的疑问:ZooKeeper是用来做什么的?之前没有ZK,为什么会诞生ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)ZooKeeper是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节ZooKeeper对外暴露简单的API,用于支持分布式应用开
#**NO1:说说zookeeper是什么?**ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供
正文ZooKeeper很流行,有个基本的疑问:ZooKeeper是用来做什么的?之前没有ZK,为什么会诞生ZK?OK,解答一下上面的疑问:(下面是凭直觉说的)ZooKeeper是用于简化分布式应用开发的,对开发者屏蔽一些分布式应用开发过程中的底层细节ZooKeeper对外暴露简单的API,用于支持分布式应用开
NO1:说说zookeeper是什么?ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供
#**NO1:说说zookeeper是什么?**ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供
一、什么是ZooKeeperZooKeeper是一个分布式服务协调框架,提供了分布式数据一致性的解决方案,基于ZooKeeper的数据结构,Watcher,选举机制等特点,可以实现数据的发布/订阅,软负载均衡,命名服务,统一配置管理,分布式锁,集群管理等等。二、为什么使用ZooKeeperZooKeeper能保证:更新请求
#**NO1:说说zookeeper是什么?**ZooKeeper是一个分布式的,开放源码的分布式应用程序协调服务,是Google的Chubby一个开源的实现(Chubby是不开源的),它是集群的管理者,监视着集群中各个节点的状态根据节点提交的反馈进行下一步合理操作。最终,将简单易用的接口和性能高效、功能稳定的系统提供