zxcvb12 发表于 2019-1-31 09:07:05

kafka + jstorm版本升级安装(三)

  版本升级 (使用stable最新版)
  zookeeper-3.4.5 --->>> zookeeper-3.4.6
  发行日志:http://zookeeper.apache.org/doc/r3.4.6/releasenotes.html
  kafka_2.9.2-0.8.1   --->>> kafka_2.9.2-0.8.2.2
  发行日志:https://archive.apache.org/dist/kafka/0.8.2.2/RELEASE_NOTES.html
  升级说明:http://kafka.apache.org/documentation.html#upgrade_82
  jstorm-0.9.2 --->>> jstorm-2.1.0
  机器规划(使用hadoop用户,采用解压缩的方式安装)
host
ipserver
vm13
10.1.2.208Kafka,QuorumPeerMain(zookeeper),Supervisor(Jstorm),NimbusServer(Jstorm)vm710.1.2.197Kafka,QuorumPeerMain(zookeeper),Supervisor(Jstorm)vm810.1.2.198Kafka,QuorumPeerMain(zookeeper),Supervisor(Jstorm)  机器配置
  CPU:24核,内存:64G,磁盘2T*4
  zookeeper安装
  1.进入主目录,cd /home/hadoop
  2.下载zookeeper安装包,http://mirrors.hust.edu.cn/apache/zookeeper/stable/zookeeper-3.4.6.tar.gz
  3.解压安装包,tar -zxf zookeeper-3.4.6.tar.gz
  4.进入目录,cd zookeeper-3.4.6
  5.将conf/zoo_sample.cfg拷贝一份命名为zoo.cfg也放在conf目录下,修改其中的配置
  vi conf/zoo.cfg
  tickTime=2000

  initLimit=10

  syncLimit=5

  dataDir=/data0/zookeeper/data

  clientPort=2181

  server.1=10.1.2.208:12888:13888
  server.2=10.1.2.197:12888:13888
  server.3=10.1.2.198:12888:13888
  vi conf/log4j.properties
  zookeeper.root.logger=INFO,ROLLINGFILE
  zookeeper.console.threshold=INFO
  zookeeper.log.dir=/data0/zookeeper/logs
  zookeeper.log.file=zookeeper.log
  zookeeper.log.threshold=INFO
  zookeeper.tracelog.dir=/data0/zookeeper/logs
  zookeeper.tracelog.file=zookeeper_trace.log
  vi bin/zkEnv.sh

  if [ "x${ZOO_LOG_DIR}" = "x" ]
  then
      ZOO_LOG_DIR="/data0/zookeeper/logs"
  fi
  
  if [ "x${ZOO_LOG4J_PROP}" = "x" ]
  then
      ZOO_LOG4J_PROP="INFO,ROLLINGFILE"
  fi
  分别在每个节点的${zookeeper.log.dir}目录下创建myid,内容为serverId
  比如在10.1.2.208上,echo ''1 > /data0/zookeeper/data/myid

  
  6.启动服务
  依次在三个节点上启动 ./bin/zkServer.sh start
  7.验证测试
  使用客户端进入zookeeper控制套台 ./bin/zkCli.sh -server dckafka1:12181
  查看当前服务是leader还是flower, ./bin/zkServer.sh status
  8.参考文档
  log4j配置:http://www.cnblogs.com/zhwbqd/p/3957018.html
  http://stackoverflow.com/questions/26612908/why-does-zookeeper-not-use-my-log4j-properties-file-log-directory
  kafka安装
  1.进入主目录,cd /home/hadoop
  2.下载kafka安装包,wget "http://mirrors.hust.edu.cn/apache/kafka/0.8.2.2/kafka_2.9.2-0.8.2.2.tgz"
  3.解压安装包,tar -zxf kafka_2.9.2-0.8.2.2.tgz
  4.进入目录,cd kafka_2.9.2-0.8.2.2
  5.配置修改(更多配置请参考http://kafka.apache.org/documentation.html#topic-config)
  vi conf/server.properties
  # 每个broker都可以用一个唯一的非负整数id进行标识
  broker.id=0

  # 服务监听端口
  port=9092
  # broker处理网络请求的最大线程数,一般情况下数量为CPU核数
  num.network.threads=12
  # broker处理磁盘IO的最大线程数,数值为CPU核数两倍
  num.io.threads=12
  # kafka存放数据的路径。这个路径并不是唯一的,可以是多个,路径之间只需要使用逗号分隔即可;每当创建新partition时,都会选择在包含最少partitions的路径下进行
  log.dirs=/data2/kafka/data,/data3/kafka/data
  # 默认topic分区数,也可以在创建topic时指定
  num.partitions=6
  # 关闭自动创建topics
  auto.create.topics.enable=false
  # 允许删除topics
  delete.topic.enable=true

  # log保留的最大时间,小时单位
  log.retention.hours=72
  # zookeeper连接字符串的格式为:hostname1:port1, hostname2:port2, hostname3:port3,
  # zooKeeper增加一个“chroot”路径,将集群中所有kafka数据存放在特定的路径下,格式为:hostname1:port1,hostname2:port2,hostname3:port3/chroot/path
  # 这样设置就将所有kafka集群数据存放在/chroot/path路径下。注意,在你启动broker之前,你必须创建这个路径,并且consumers必须使用相同的连接格式。
  zookeeper.connect=vm13:2181,vm7:2181,vm8:2181
  vi conf/consumer.properties
  # 消费端链接的zookeeper配置,要与server.properties中的zookeeper.connect保存一致
  zookeeper.connect=vm13:2181,vm7:2181,vm8:2181

  # 一般会在consumer客户端自定义group
  group.id=test.consumer-group
  vi conf/producer.properties
  # kafka broker列表
  metadata.broker.list=vm13:9092,vm7:9092,vm8:9092

  # 消息异步发送到broker
  producer.type=async
  # 异步批量发送的消息数
  batch.num.messages=200
  vi conf/log4j.properties
  # 指定服务日志目录
  kafka.logs.dir=/data2/kafka/logs
  log4j.rootLogger=INFO, kafkaAppender

  
  创建启动脚本 cat > startKafkaServer.sh

  

  nohup ./bin/kafka-server-start.sh config/server.properties &
  if [ $? -eq 0 ]; then
  echo "Kafka server start success..."
  else
  echo "Kafka server start success..."
  fi
  

  
  6.启动服务
  ./startKafkaServer.sh
  7.验证测试
  a.创建topic
  ./bin/kafka-topics.sh --zookeeper dckafka1:12181,dckafka2:12181 --create--topic mytest --replication-factor 1 --partitions 9
  b.查看topic列表
  ./bin/kafka-topics.sh --zookeeper dckafka1:12181,dckafka2:12181 --list
  c.创建生产者
  ./bin/kafka-console-producer.sh --broker-list dckafka1:9092,dckafka2:9092,dckafka3:9092 --topic mytest
  d.创建消费者

  ./bin/kafka-console-consumer.sh --zookeeper dckafka1:12181,dckafka2:12181,dckafka3:12181 --topic mytest --from-beginning
  jstorm安装
  1.进入主目录,cd /home/hadoop
  
  2.下载storm包,wget "http://42.121.19.155/jstorm/jstorm-2.1.0.tar.bz2"
  (This version is for Alibaba Global Shopping Festival, November 11th 2015)
  3.解压安装包,tar -jxf jstorm-2.1.0.tar.bz2
  4.变更目录,mv deploy/jstorm jstorm-2.1.0; cd jstorm-2.1.0
     jstorm-2.1.0新增了一些部署和管理脚本脚本,这里先不用理会
  5.配置修改(参考https://github.com/alibaba/jstorm/wiki/如何安装)
  vi ~/.bashrc
  修改或添加如下内容
  export JSTORM_HOME=/home/hadoop/jstorm-2.1.0
  export PATH=$PATH:$JSTORM_HOME/bin
  vi conf/storm.yaml
  修改或添加如下内容
  storm.zookeeper.servers:
  - "dckafka1"
  - "dckafka2"
  - "dckafka3"
  storm.zookeeper.port: 2181
  storm.zookeeper.root: "/jstorm2"
  storm.local.dir: "/data1/jstorm/data"

  jstorm.log.dir: "/data1/jstorm/logs"

  supervisor.slots.ports.base: 6800
  supervisor.slots.port.cpu.weight: 1.0
  supervisor.slots.port.mem.weight: 0.6
  6.启动服务
  nohup ./bin/jstorm supervisor & (所有机器都执行)
  nohup ./bin/jstorm nimbus &(选择一台机器作为nimbus节点)
   7.安装jstorm Web UI
  mkdir ~/.jstorm
  cp $JSTORM_HOME/conf/storm.yaml ~/.jstorm
  将jstorm-ui-2.1.0.war放入tomcat容器,启动
  访问UI页面:http://127.0.0.1:9091
  8.提交topology任务(对于提交客户端,需要在home目录下创建 ln -s .jstorm/storm.yaml $JSTORM_HOME/conf/storm.yaml)
  




页: [1]
查看完整版本: kafka + jstorm版本升级安装(三)