您好,欢迎访问三七文档
当前位置:首页 > IT计算机/网络 > 数据挖掘与识别 > Storm实时流处理框架PPT演讲-李乾文(DHU)
实时流处理框架——Storm演讲:李乾文2013年11月5日目录Storm介绍Storm环境配置Storm程序流程Storm总结及问题目录Storm介绍Storm环境配置Storm程序流程Storm总结及问题实时流计算背景参考:1.入门教程-第一章-前言?spm=0.0.0.0.BuyqS9《storm入门教程第一章前言》2.=pcqq.c2c《流处理框架Storm简介》RPC(RemoteProcedureCallProtocol)远程过程调用协议随着互联网的更进一步发展,信息浏览、搜索、关系交互传递型,以及电子商务、互联网旅游生活产品等将生活中的流通环节在线化。对于实时性的要求进一步提升,而信息的交互和沟通正在从点对点往信息链甚至信息网的方向发展,这样必然带来数据在各个维度的交叉关联,数据爆炸已不可避免。因此流式处理和NoSQL产品应运而生,分别解决实时框架和数据大规模存储计算的问题。流式处理可以用于3种不同场景:事件流、持续计算以及分布式RPC。数据分析系统组成参考:1.《流式计算系统》数据分析系统整体组成示意图如HDFS流处理与批处理参考:1.《实时处理方案架构(作者-落枫).pdf》Storm关注的是数据多次处理一次写入,而hadoop关注的是数据一次写入,多次查询使用。Storm系统运行起来后是持续不断的,而hadoop往往只是在业务需要时调用数据。Storm和Hadoop角色对比参考:1.《流式计算系统》Storm组件参考:1.《storm简介》Topology:storm中运行的一个实时应用程序.Nimbus:负责资源分配和任务调度.Supervisor:负责接受nimbus分配的任务,启动和停止属于自己管理的worker进程.Worker:运行具体处理组件逻辑的进程.Task:worker中每一个spout/bolt的线程称为一个task.Spout:在一个topology中产生源数据流的组件.Bolt:在一个topology中接受数据然后执行处理的组件.Tuple:一次消息传递的基本单元.Streamgrouping:消息的分组方法Storm组件参考:1.百度图片搜索Storm组件参考:1.《Storm入门教程第二章构建Topology》Storm特点参考:1.百度百科2.入门教程-第一章-前言?spm=0.0.0.0.BuyqS9《storm入门教程第一章前言》3.《Storm安装部署步骤》可扩展计算任务可在多个线程、进程和服务器之间并行进行,支持灵活的水平扩展高可靠保证每条消息都能被完全处理高容错性nimbus、supervisor都是无状态的,可以用kill-9来杀死Nimbus和Supervisor进程,然后再重启它们,任务照常进行.当worker失败后,supervisor会尝试在本机重启它支持多种编程语言除了用java实现spout和bolt,还可用其他语言支持本地模式可在本地模拟一个Storm集群功能、进行本地测试高效用ZeroMQ作为底层消息队列,保证消息能快速被处理目录Storm介绍Storm环境配置Storm程序实例Storm总结及问题依赖软件Storm的依赖软件有Python、Zeromq、Jzmq、Zookeeper。此外,系统应安装有Java、GCC、G++编译环境。参考:1.《TwitterStorm安装实战》2.《centos怎么安装g++》安装Python#wget追加/usr/local/lib/#sudoldconfig这样的话,Python2.7.2就安装完毕了。参考:1.《TwitterStorm安装实战》2.《linuxld.so.conf和pkgconf》3.《linux下python安装》安装Zeromqjzmq的安装是依赖zeromq的,所以应该先装zeromq,再装jzmq。#wget)安装jzmq#yuminstallgit(CentOS)&apt-getinstallgit(Ubuntu)#gitclonegit://github.com/nathanmarz/jzmq.git#cdjzmq#./autogen.sh#./configure#make#makeinstall在过程中很可能会遇到依赖库相关问题,详见参考1参考:1.《TwitterStorm安装实战》2.《Storm集群安装部署步骤【详细版】》可到直接下载压缩包SSH免密码配置参考:1.《Hadoop集群(第5期副刊)_JDK和SSH无密码配置》·为使各台计算机间Zookeeper同步数据、应配置SSH免密码登录1确认本机sshd的配置文件(root)$vi/etc/ssh/sshd_config找到以下内容,并去掉注释符#RSAAuthenticationyesPubkeyAuthenticationyesAuthorizedKeysFile.ssh/authorized_keys2如果修改了配置文件需要重启sshd服务(root)$vi/sbin/servicesshdrestart3ssh登陆系统后执行测试命令$sshlocalhost回车会提示你输入密码,因为此时我们还没有生成证书。4生成证书公私钥$ssh-keygen-tdsa-P''-f~/.ssh/id_dsa$cat~/.ssh/id_dsa.pub~/.ssh/authorized_keysSSH免密码配置参考:1.《Hadoop集群(第5期副刊)_JDK和SSH无密码配置》5拷贝本地生产的key到远程服务器端$cat~/.ssh/id_rsa.pub|ssh远程用户名@远程服务器ip'cat-~/.ssh/authorized_keys'6测试登陆sshuser@远程ip7如果登陆不成功,需要修改远程服务器上的authorized_keys文件权限$chmod600~/.ssh/authorized_keys安装Zookeeper及单机配置#wget~./bashrc(设置ZOOKEEPER_HOME和ZOOKEEPER_HOME/bin环境变量,vim/etc/profile&source/etc/profile)追加:exportZOOKEEPER_HOME=/path/to/zookeeperexportPATH=$PATH:$ZOOKEEPER_HOME/bin#cd/usr/local/zookeeper/conf/#cpzoo_sample.cfgzoo.cfg(用zoo_sample.cfg制作$ZOOKEEPER_HOME/conf/zoo.cfg)zookeeper的单机安装完成。启动服务bin/zkServer.shstart用bin/zkServer.shstatus查看会显示standalone启动客户端测试bin/zkCli.sh-server127.0.0.1:2181参考:1.《TwitterStorm安装实战》2.《linux下zookeeper安装与测试》安装Zookeeper及单机配置zoo_sample.cfg内容:Zookeeper集群配置参考:1.《TwitterStorm安装实战》2.《linux下zookeeper安装与测试》3.《ZooKeeper系列之十:ZooKeeper的一致性保证及Leader选举》在单机配置文件zoo.cfg末尾加上server.1=192.168.61.130:2888:3888server.2=192.168.61.134:2888:3888server.3=192.168.61.135:2888:3888格式为:server.id=host:port:portid是为每个Zookeeper节点的编号同时需要在dataDir目录下面新建文件myid,内容为$id数值.echo$i
本文标题:Storm实时流处理框架PPT演讲-李乾文(DHU)
链接地址:https://www.777doc.com/doc-6023131 .html