1. 下载安装JDK。本文使用的是jdk-7u4-linux-i586.tar.gz。

2. 下载apache-maven-3.0.4-bin.tar.gz,解压到目标文件夹:

 
root@ubuntu:/usr/local# tar zvxf apache-maven-3.0.4-bin.tar.gz

设置环境变量:

 
root@ubuntu:~# vim /etc/profile

在文件最后加入:export PATH=/usr/local/apache-maven-3.0.4/bin:$PATH。运行mvn –version,出现版本信息,既安装成功。

3. 下载安装eclipse。本文使用的eclipse-jee-indigo-SR2-linux-gtk.tar。

4. 下载安装eclipse maven插件,URL在线安装:http://m2eclipse.sonatype.org/sites/m2e,安装插件成功后,修改插件映射到上面安装的apache-maven-3.0.4。

5. 下载安装svn。可以直接下载eclipse svn插件,然后解压到eclipse的dropins目录下,重启eclipse即可生效。

6. 下载TT源码,svn co http://code.taobao.org/svn/TimeTunnel/trunk。

7. 编译问题:在timetunnel-broker中有jms-1.1.jar、jmxri-1.2.jar 和jmxtools-1.2.jar三个jar包在maven的远程仓库中无法下载,可以手动下载后,在pom.xml里引入。例如:

 
<dependency><groupId>javax.jms</groupId><artifactId>jms</artifactId><version>1.1</version><scope>system</scope><systemPath>${basedir}/lib/ jms-1.1.jar</systemPath>
</dependency>
<dependency><groupId>com.sun.jmx</groupId><artifactId>jmxri</artifactId><version>1.2</version><scope>system</scope><systemPath>${basedir}/lib/ jmxri-1.2.jar</systemPath>
</dependency>
<dependency><groupId>com.sun.jdmk</groupId><artifactId>jmxtools</artifactId><version>1.2</version><scope>system</scope><systemPath>${basedir}/lib/ jmxtools-1.2.jar</systemPath>
</dependency>

另外一种方法,消除对这三个包的依赖,然后在pom.xml中引入jms-1.1.jar配置。注:引入jms-1.1.jar需要配置jboss镜像库。

8. 编译源码

 
mvn clean install –Dmaven.test.skip=true

编译成功后各模块内容:

 
broker:broker/target/dist
client:client/java/target/dist
router:router/target/dist

9. 安装TT

将各模块拷贝到目标目录即可,假设目标目录为/usr/tt,则可以这样拷贝:

 
cp -r broker/target/dist /usr/tt/broker/
cp -r router/target/dist /usr/tt/router/
cp -r client/java/target/dist /usr/tt/client/

10. 安装zookeeper

官网下载:http://zookeeper.apache.org/本文使用的zookeeper-3.4.3.tar.gz。解压到目标文件夹。具体操作如下:

 
root@ubuntu:/usr/hadoop# tar zvxf zookeeper-3.4.3.tar.gz
root@ubuntu:/usr/hadoop/zookeeper-3.4.3# cp conf/zoo_sample.cfg conf/zoo.cfg
root@ubuntu:/usr/hadoop/zookeeper-3.4.3# vim conf/zoo.cfg

打开zoo.cfg,设置dataDir=/usr/tt/data。启动zookeeper服务:

 
root@ubuntu:/usr/hadoop/zookeeper-3.4.3/bin# ./zkServer.sh start

11. 配置zookeeper

执行下面命令:

 
root@ubuntu:/usr/hadoop/zookeeper-3.4.3/bin# ./zkCli.sh

用户信息:

 
create /user mydata
create /user/name1 {“password”:”111111”}

Topic信息:

 
create /categories mydata
--创建了一个topic t1,注意group的值要和broker中的一致
create /categories/t1 {“timetolive”:”60”,”group”:”group1”}
create /categories/t1/subscribers mydata
create /categories/t1/subscribers/name1-t1 mydata--创建了一个topic tt2,注意group的值要和broker中的一致
create /categories/t2 {“timetolive”:”60”,”group”:”group1”}
create /categories/t2/subscribers mydata
create /categories/t2/subscribers/name1-t2 mydata

基本配置完成。

12. 配置router

打开/usr/tt/router/conf/router.properties文件。

 #zookeeper服务地址串,逗号分隔地址,斜杠分隔根目录ZK_HOST_LIST=X.X.X.X:2181#zookeeper连接超时时间,单位:毫秒,默认为3000,配置范围[3000-500000]ZK_TIMEOUT=50000#zookeeper客户端个数,默认为1,配置范围[1-500]ZK_CLIENT_SIZE=3#zookeeper客户端尝试重连次数,默认值:3,配置范围[0-10000]#ZK_RETRY_COUNT=3#zookeeper客户端尝试重连间隙时间,单位:毫秒,默认值:100,配置范围[10-10000]#ZK_RETRY_INTERVAL=1000#router服务类型,默认值:BLOCK,配置范围[NONBLOCK|BLOCK]SERVER_TYPE=BLOCK#router服务地址,默认值:本机地址SERVER_HOST=X.X.X.X#router服务端口,配置范围[1025-65534]SERVER_PORT=9090#router服务客户端超时时间,默认值:0,BLOCK有效CLIENT_TIMEOUT=0#router最大工作线程,默认值1000,配置范围[1-10000],BLOCK有效MAX_THREADS=1000#router最小工作线程数,默认值5,配置范围[1-10000],BLOCK有效MIN_THREADS=5#router停止服务超时时间,默认值60,配置范围[0,10000],BLOCK有效STOP_TIMEOUT_VAL=60#router停止服务超时单位,默认SECONDS,BLOCK有效STOP_TIMEOUT_UNIT=SECONDS#最大读取缓存,NONBLOCK有效#MAX_READ_BUFFERBYTES#是否持久化标记,默认true,配置范围[true|false]#IS_PERSISTED=true#非顺序的负载均衡策略,类名LB_POLICY=RoundRobinStatelessLoadBalancer#顺序负载均衡策略,类名SEQ_LB_POLICY=ConstantLoadBalancer

修改红字部分,然后启动router:root@ubuntu:/usr/tt/router/bin# ./router-start.sh

13. 配置broker

打开/usr/tt/broker/conf/conf.properties文件。

######################## 以下是启动必选配置项 ########################## broker的home路径, 默认为当前目录, broker产生持久化数据会存在这个目录下
broker.home = /usr/tt/broker/target
# broker组, 分组以便分级服务.
broker.group = group1
# 设置broker对外服务(订阅发布)的端口
external.port = 9999
# 设置broker对内服务(数据可靠同步)的端口, 不设置则broker依旧可以单点运行
internal.port = 9998
# zookeeper是broker集群的协调者, 必须配置器连接地址和端口, eg : X.X.X.X:33561,X.X.X.X:33561/root
zookeeper.connectString =X.X.X.X:2181
# 连接zookeeper会话超时时间, 单位毫秒, 它应该是zookeeper服务器配置的tickTime的2~20倍
zookeeper.sessionTimeout = 10000
# broker的主机名, 也可以是ip, 系统会自动取, 一般无需配置
broker.host = X.X.X.X
######################## 以上是启动必选配置项 #########################
######################## 以下是调优可选配置项 #########################
# 一个订阅通常一组client来获取, 为保证每个client获取的数量近乎平均, 就需要在累计一定数量时进行同步, 这个同步点默认为200
# group.syncPoint = 200
# 为避免内存溢出, broker会根据内存的消耗情况, 将部分数据交换到磁盘文件中, 内存中保存其数据的索引
# 当内存短缺时开始交换, 直到内存充裕, 下面是分别配置短缺和充裕的内存比例值, 最大为99, 最小为1.
# 内存短缺比例默认为45
# memory.shortageRatio = 45
# 内存充裕比例默认为75
# memory.abundantRatio = 75
# 设置broker中thrift server服务的线程数, 默认是5, 可以根据应用要求适当调整
# broker.workThread = 5
# 设置broker中thrift server最大读取内存数, 默认为2的31次方, 一般情况下无需修改
# broker.maxReadBufferBytes =
# 设置broker中单个消息的最大值, 默认为4K, 单位可以是K或M
# broker.maxMessageSize = 4K
# 内存交换磁盘的文件大小, 默认64M, 单位可以是K或M
# chunk.capacity = 64M
# 内存交换磁盘的文件缓存, 默认32K, 单位可以是K或M
# chunk.buffer = 32K
########################## 以上是调优可选配置项 ###########################

修改红字部分,然后启动broker:root@ubuntu:/usr/tt/broker/bin# ./broker-start.sh

14. 测试

配置和启动完成后,就可以用client代码测试了。或使用TimeTunnel相关应用程序来测试。

15. 整个系统架构需要启动三个服务:

标题文字 启动 停止 对外端口
zookeeper zkServer.sh start zkServer.sh stop 2181
route router-start.sh router-stop.sh 9090
broke broker-stop.sh broker-stop.sh 9999

淘宝大数据解析之timetunnel相关推荐

  1. 淘宝大数据之路【转】

    原文地址:https://yq.aliyun.com/articles/62528 2003年至今淘宝网从零开始飞速发展,走过了13个年头,支撑淘宝业务野蛮式生长背后是一套不断完善的技术平台,淘宝大数 ...

  2. java spark淘宝大数据分析可视化系统(源码+数据+报告)

    下载地址:https://download.csdn.net/download/a13689028602/18298100 项目介绍 java spark淘宝大数据分析可视化系统(源码+数据+报告) ...

  3. 归因分析:淘宝直播数据助理及其价值研究

    导读:近年来,直播带货成为一种新的流行业态.主播在直播间与线上消费者实时互动,这极大的提高了信息交流的效率.在这种实时性极强的场景,主播对直播间实时信息的使用有可显著影响直播间的带货情况. 为了让主播 ...

  4. python爬淘宝app数据_一篇文章教会你用Python爬取淘宝评论数据(写在记事本)

    [一.项目简介] 本文主要目标是采集淘宝的评价,找出客户所需要的功能.统计客户评价上面夸哪个功能多,比如防水,容量大,好看等等. [二.项目准备工作] 准备Pycharm,下载安装等,可以参考这篇文章 ...

  5. 淘宝评论数据抓取简记

    刚才趴在床上搞清楚了淘宝评论数据的抓取方法,在此记录,以备后用. 淘宝商品详情页面下方有如下script: <script>window.App = (window.App || {}); ...

  6. python行业中性_Python抓取分析淘宝连衣裙数据,128元真的是低价人群分界线吗?...

    1.我是一个低价人群用户 上周发表文章<一个匿名用户的淘宝"连衣裙"大观>后,交流群里面很热闹地讨论了起来,小伙伴们都在秀自己的淘宝连衣裙搜索价格,相较于小伙伴们搜索出 ...

  7. 极客日报:阿里再度调整组织架构:天猫淘宝大融合,新设三大中心;苹果M1首席芯片设计师跳槽至英特尔

    一分钟速览新闻点! 腾讯接入数字人民币,微信支持数字人民币支付 阿里再度调整组织架构:天猫淘宝大融合,新设三大中心 七成清华毕业生进入体制内就业 北京最受欢迎:华为腾讯等科技企业也受青睐 钉钉近期将推 ...

  8. Python爬虫之获取淘宝商品数据

    爬取淘宝信息数据 首先需要先导入webdriver from selenium import webdriver webdriver支持主流的浏览器,比如说:谷歌浏览器.火狐浏览器.IE浏览器等等 然 ...

  9. 弘辽科技:淘宝销量数据从哪查?销量怎么提升?

    商家在淘宝开店,最主要的目的就是将商品出售出去.为了实现这个目标,商家需要采用很多方法提高店铺的销量,并且要不断的进行优化才行.在提升销量的过程中,商家首先得了解店铺的销量数据,那么淘宝销量数据从哪查 ...

最新文章

  1. 32 vs 开发wince_十年经验的大神谈如何学STM32嵌入式开发
  2. 前端面试题(html篇)
  3. Java异常处理及异常机制介绍
  4. 用户 'IIS APPPOOL\DefaultAppPool'登录失败
  5. Python零碎知识(11):assert用法
  6. QT判断多级目录是否存在,不存在就创建
  7. 处理字符串_5_字符串里过滤不需要的字符
  8. Apache连接和访问控制
  9. 如何写出安全的API接口
  10. python oj 输入_Python写OJ题时输入问题
  11. 您是否应该信任JVM中的默认设置?
  12. Mysql5.6.x版本半同步主从复制的开启方法
  13. 信号与系统sa函数求积分_胡昉祖《导数的概念》和《定积分》
  14. 【转】Servlet与web.xml的配置
  15. nuxtjs+express+vue2+vuex搭建的服务端渲染(SSR)个人网站项目
  16. 小D课堂-SpringBoot 2.x微信支付在线教育网站项目实战_汇总
  17. 一个想法照进现实-《IT连》创业项目:三天的风投对接活动内幕分享
  18. 关于 c++ opencv [ INFO:0] global c:\build\master_winpack-build-win64-vc15\***
  19. canvas+js画时钟
  20. 组策略禁止自动锁定计算机,让Win10自动锁屏的设置技巧

热门文章

  1. Java社招面经分享!mysql索引失效的场景
  2. Android Studio 简易通讯录制作 (Java)
  3. Servlet中的监听器与过滤器的详细介绍
  4. My97 DatePicker普通调用
  5. Python把mp4视频转化成gif动图
  6. 网络基础配置部署思路
  7. 巧用美女照做微信吸粉,你会做吗?
  8. ripro9.0修正升级版,无加密无后门,无需扩展,最新资源
  9. c语言万年历算天干地支,万年历计算 之 干支
  10. 小傻蛋的妹妹跟随小甲鱼学习Python的第十六节016