第一章 【Spring + Storm + Kafka】之运行环境和简单测试

自己有点想法,想用Spring + Storm + Kafka做点实时数据处理的内容,因此将会写下一系列的博客来记载自己的开发过程。

【~~~~~~~~~~~~~~~~~~版权所有 欢迎转载 但请保留出处~~~~~~~~~~~~~~~~~~~~~】

【https://blog.csdn.net/LWJ285149763/article/details/81053473】

1.基本配置

(1)修改主机名称信息

本项目部署Ubuntu18.04LTS上,首先需要修改的是程序读取的主机名称,修改方式如下:

    修改内容在/etc/hosts和/etc/hostname中进行修改,之后,使用命令行:

    sudo service network-manager restart (自动获取的ip,在这种重启下会改变,因此,建议设置固定IP)

(2)部署ZooKeeper

这里使用的版本是zookeeper-3.4.12,解压之后,复制conf下的zoo_sample.cfg,并修改如下内容:

    数据的存储地址:

    dataDir=/home/lzs2851/Storm/zookeeper-data

其他的默认即可

(3)部署Storm(单机部署)

使用版本为apache-storm-1.2.1,需要修改的内容为conf下的storm.yaml文件,具体修改如下:

     storm.zookeeper.servers: 
      - "host01"   // 在上面修改的主机名
     storm.zookeeper.port: 2181
     nimbus.seeds: ["host01"]   // 在上面修改的主机名
     storm.local.dir: "/home/lzs2851/Storm/apache-storm-1.2.1"  //storm主程序放置的目录

(4)部署Kafka

这里使用版本为kafka_2.11-1.1.0,修改内容主要在config文件夹中,具体内容如下:

    consumer.properties中,修改bootstrap.servers=host01:9092

    producer.properties中,修改bootstrap.servers=host01:9092,

    server.properties中,修改listeners=PLAINTEXT://host01:9092,advertised.listeners=PLAINTEXT://host01:9092

2.在系统中设置环境变量

执行命令sudo gedit ~/.bashrc,增加环境变量

  • #java
        export JAVA_HOME=/home/lzs2851/Programs/jdk1.8.0_65
        export JRE_HOME=$JAVA_HOME/jre
        export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
        export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
  • #zookeeper
        export ZOOKEEPER_HOME=/home/lzs2851/Storm/zookeeper-3.4.12
        export PATH=$PATH:$ZOOKEEPER_HOME/bin:$ZOOKEEPER_HOME/conf

  • #storm
        export STORM_HOME=/home/lzs2851/Storm/apache-storm-1.2.1
        export PATH=$PATH:$STORM_HOME/bin

  • #kafka
        export KAFKA_HOME=/home/lzs2851/Storm/kafka_2.11-1.1.0

        export PATH=$PATH:$KAFKA_HOME/bin

之后,执行source ~/.bashrc命令即可使环境生效

3.运行测试

  • Zookeeper启动
        zkServer.sh restart 
  • Storm启动
storm nimbus &
storm ui &
storm supervisor &
storm logviewer &
  • Kafka启动
cd /home/lzs2851/MyProject/Storm/kafka_2.11-1.1.0/bin
kafka-server-start.sh ../config/server.properties
  • Kafka创建主题
        kafka-topics.sh --zookeeper host01:2181 --create --topic msgTopic1 --partitions 5 --replication-factor 1
        kafka-topics.sh --zookeeper host01:2181 --create --topic msgTopic2 --partitions 5 --replication-factor 1
  • 查看主题列表
kafka-topics.sh --zookeeper host01:2181 --list
  • Kafka发送和接收消息:
//发送消息
kafka-console-producer.sh --broker-list host01:9092 --topic msgTopic1
//接受消息
kafka-console-consumer.sh --zookeeper host01:2181 --topic msgTopic2 --from-beginning
  • 提交jar包
        storm jar TAStormKafka.jar TATopology TATopology
  • 测试消息的提交

        {"timeSpan":"864000","timeStep":"86400"}

4.运行中可能存在的问题

1.如果在启动Storm时遇到如下情况,则按照下面进行设置(在ubuntu16中一般不会出现,我是在ubuntu18中遇到的):
    /home/lzs2851/MyProject/Storm/apache-storm-1.2.1/bin/storm: 行 48: 10 * 行 + 行: 语法错误: 需要操作数 (错误符号是 "行 + 行")
    /home/lzs2851/MyProject/Storm/apache-storm-1.2.1/bin/storm: 行 49: ((: < 26 : 语法错误: 需要操作数 (错误符号是 "< 26 ")
    /home/lzs2851/MyProject/Storm/apache-storm-1.2.1/bin/storm: 行 77: /usr/bin/python: 没有那个文件或目录

默认情况下,系统中是安装有python的,一般在/usr/bin中,在ubuntu18.04 LTS中是python2.7和python3.6,但是在storm的程序中,找的版本是python2.6,如果不想重新安装python,则可以将storm中的storm文件中的第42行左右的【PYTHON=/usr/bin/python】改为【PYTHON=/usr/bin/python2.7】
2.若出现“kill xxxx: 没有那个进程”,删除storm.local.dir中的supervisor缓存文件,重新启动即可。出现该问题是由于上一次Supervisor的异常终止,例如断电等

作者介绍

测绘科学与技术在读博士,主要研究空间信息处理与数据服务,使用框架主要有Spring Cloud、Storm、Hadoop等!擅长空间信息后台数据服务,尤其是外层空间卫星等目标的数据服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值