前置条件
-
安装jdk1.8
-
安装Python3.6.7
- 安装构建过程中可能需要用到的依赖库
sudo yum -y install zlib-devel bzip2-devel openssl-devel ncurses-devel sqlite-devel readline-devel tk-devel gdbm-devel db4-devel libpcap-devel xz-devel
- 进入python源代码目录,执行配置并生成Makefile
./configure --prefix=/app/kfuser/python367 --enable-optimizations
- 构建安装
make && make install
- 创建软连接
sudo ln -s /app/kfuser/python367/bin/python3.6 /usr/bin/python3 sudo ln -s /app/kfuser/python367/bin/pip3 /usr/bin/pip3 sudo ln -s /app/kfuser/python367/bin/2to3-3.6 /usr/bin/2to3
- 安装构建过程中可能需要用到的依赖库
-
安装unzip
安装zookeeper
- 版本: 3.5.x, 3.6.x or 3.7.x
- 注意
- 由于Zookeeper是快速失败(fail-fast)的,且遇到任何错误情况,进程均会退出,因此,最好能通过监控程序将Zookeeper管理起来,保证Zookeeper退出后能被自动重启。
- Zookeeper运行过程中会在dataDir目录下生成很多日志和快照文件,而Zookeeper运行进程并不负责定期清理合并这些文件,导致占用大量磁盘空间,因此,需要通过cron等方式定期清除没用的日志和快照文件
解压storm,修改配置文件
-
修改配置文件
########### These MUST be filled in for a storm configuration # 注意这里的最高项配置都需要空1格 # zookeeper的ip port storm.zookeeper.servers: - "10.128.190.184" storm.zookeeper.port: 5577 # - "server2" # # nimbus的地址或者hostname,这里最好配置成hostname,配置ip可能找不到 # 配置成host需要配置域名解析 nimbus.seeds: ["kf-test-01"] # ##### These may optionally be filled in: # 设置storm的数据存储路径 storm.local.dir: "/app/storm/data" # supervisor工作进程端口 supervisor.slots.ports: - 6700 - 6701 - 6702 - 6703 torm.health.check.dir: "healthchecks" storm.health.check.timeout.ms: 5000 # 设置ui的端口 ui.port: 9091
-
启动nimbus和supervisor
java中和kafka联用
- 引入依赖
注意 storm升级到2.x,storm-kafka需要升级到1.2.x,并且相关包的依赖的包名路径会更改,需要修改代码,删除老的依赖引用,重新import<dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-core</artifactId> <version>2.4.0</version> <!—这里需要用provide域打包,否则执行会出现配置文件冲突 > <scope>provided</scope> </dependency> <dependency> <groupId>org.apache.storm</groupId> <artifactId>storm-kafka</artifactId> <version>1.2.3</version> </dependency>
- Storm添加依赖
在启动jar包的storm下的lib目录中上传storm-server-2.4.0.jar
Jar包在本地的Maven 中可以找到
(如果启动缺少哪个jar包的class就把相应的jar包上传到lib目录下) - 启动执行推送任务
打包完会生成两个jar包,使用第二个包启动推送任务
注意:
重启storm时删除data下的文件和storm-local文件夹
重启之前先删除zk下的storm storms nimbuses supervisors文件夹,如果还不行就重启zk再删除这些文件夹