taobao tt 配置

来源:互联网 发布:怎样搞垮一个淘宝店 编辑:程序博客网 时间:2024/04/30 23:16

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

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

[plain] view plaincopy
  1. root@ubuntu:/usr/local# tar zvxf apache-maven-3.0.4-bin.tar.gz  


设置环境变量:

[plain] view plaincopy
  1. 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插件,然后解压到eclipsedropins目录下,重启eclipse即可生效。

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

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

[html] view plaincopy
  1. <dependency>  
  2.     <groupId>javax.jms</groupId>  
  3.     <artifactId>jms</artifactId>  
  4.     <version>1.1</version>  
  5.     <scope>system</scope>  
  6.     <systemPath>${basedir}/lib/ jms-1.1.jar</systemPath>  
  7. </dependency> <dependency>  
  8.     <groupId>com.sun.jmx</groupId>  
  9.     <artifactId>jmxri</artifactId>  
  10.     <version>1.2</version>  
  11.     <scope>system</scope>  
  12.     <systemPath>${basedir}/lib/ jmxri-1.2.jar</systemPath>  
  13. </dependency> <dependency>  
  14.     <groupId>com.sun.jdmk</groupId>  
  15.     <artifactId>jmxtools</artifactId>  
  16.     <version>1.2</version>  
  17.     <scope>system</scope>  
  18.     <systemPath>${basedir}/lib/ jmxtools-1.2.jar</systemPath>  
  19. </dependency>  

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

注:引入jms-1.1.jar需要配置jboss镜像库。

8. 编译源码

[plain] view plaincopy
  1. mvn clean install –Dmaven.test.skip=true  
  2.   
  3. 编译成功后各模块内容:  
  4.   
  5. broker:broker/target/dist  
  6.   
  7. client:client/java/target/dist  
  8.   
  9. router:router/target/dist  

9. 安装TT

[plain] view plaincopy
  1. 将各模块拷贝到目标目录即可,假设目标目录为/usr/tt,则可以这样拷贝:  
  2.   
  3. cp -r broker/target/dist /usr/tt/broker/  
  4.   
  5. cp -r router/target/dist /usr/tt/router/  
  6.   
  7. cp -r client/java/target/dist /usr/tt/client/  

 

10. 安装zookeeper

官网下载:http://zookeeper.apache.org/

本文使用的zookeeper-3.4.3.tar.gz。解压到目标文件夹。具体操作如下:

[plain] view plaincopy
  1. root@ubuntu:/usr/hadoop# tar zvxf zookeeper-3.4.3.tar.gz  
  2.   
  3. root@ubuntu:/usr/hadoop/zookeeper-3.4.3# cp conf/zoo_sample.cfg conf/zoo.cfg  
  4.   
  5. root@ubuntu:/usr/hadoop/zookeeper-3.4.3# vim conf/zoo.cfg  

打开zoo.cfg,设置dataDir=/usr/tt/data

启动zookeeper服务:

[plain] view plaincopy
  1. 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

用户信息:

[plain] view plaincopy
  1. create /user mydata  
  2. create /user/name1 {“password”:”111111”}  

 

Topic信息:

[plain] view plaincopy
  1. create /categories mydata  
  2. --创建了一个topic t1,注意group的值要和broker中的一致  
  3. create /categories/t1 {“timetolive”:”60”,”group”:”group1”}  
  4. create /categories/t1/subscribers mydata  
  5. create /categories/t1/subscribers/name1-t1 mydata  
  6. --创建了一个topic tt2,注意group的值要和broker中的一致  
  7. create /categories/t2 {“timetolive”:”60”,”group”:”group1”}  
  8. create /categories/t2/subscribers mydata  
  9. create /categories/t2/subscribers/name1-t2 mydata  

基本配置完成。

12. 配置router

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

#zookeeper服务地址串,逗号分隔地址,斜杠分隔根目录

ZK_HOST_LIST=192.168.200.131: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=192.168.200.131

#router服务端口,配置范围[1025-65534]

SERVER_PORT=9090

#router服务客户端超时时间,默认值:0BLOCK有效

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停止服务超时单位,默认SECONDSBLOCK有效

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文件。

########################以下是启动必选配置项 #########################

# brokerhome路径,默认为当前目录, broker产生持久化数据会存在这个目录下

broker.home = /usr/tt/broker/target

# broker,分组以便分级服务.

broker.group = group1

# 设置broker对外服务(订阅发布)的端口

external.port = 9999

# 设置broker对内服务(数据可靠同步)的端口,不设置则broker依旧可以单点运行

internal.port = 9998

# zookeeperbroker集群的协调者,必须配置器连接地址和端口, eg : 192.168.1.132:33561,192.168.1.133:33561/root

zookeeper.connectString =192.168.200.131:2181

# 连接zookeeper会话超时时间,单位毫秒,它应该是zookeeper服务器配置的tickTime2~20

zookeeper.sessionTimeout = 10000

# broker的主机名,也可以是ip,系统会自动取,一般无需配置

broker.host = 192.168.200.131

########################以上是启动必选配置项 #########################

########################以下是调优可选配置项 #########################

# 一个订阅通常一组client来获取,为保证每个client获取的数量近乎平均,就需要在累计一定数量时进行同步,这个同步点默认为200

# group.syncPoint = 200

# 为避免内存溢出, broker会根据内存的消耗情况,将部分数据交换到磁盘文件中,内存中保存其数据的索引

# 当内存短缺时开始交换,直到内存充裕,下面是分别配置短缺和充裕的内存比例值,最大为99,最小为1.

# 内存短缺比例默认为45

# memory.shortageRatio = 45

# 内存充裕比例默认为75

# memory.abundantRatio = 75

# 设置brokerthrift server服务的线程数,默认是5,可以根据应用要求适当调整

# broker.workThread = 5

# 设置brokerthrift server最大读取内存数,默认为231次方,一般情况下无需修改

# broker.maxReadBufferBytes =

# 设置broker中单个消息的最大值,默认为4K,单位可以是KM

# broker.maxMessageSize = 4K

# 内存交换磁盘的文件大小,默认64M,单位可以是KM

# chunk.capacity = 64M

# 内存交换磁盘的文件缓存,默认32K,单位可以是KM

# 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

 

每个服务启动后,可以telnet一下看是否启动成功没有。

原创粉丝点击