大数据学习(一):实时处理环境搭建
概述
为了实现搭建一套初步学习大数据实时分析的平台,用了5台linux虚拟机(Centos 7),安装 的组件包括:
- FlumeNG:数据采集
- kafka集群:数据统一接入
- Storm集群:数据实时处理
- hadoop集群:这里只是用了其中HDFS组件来做数据存储
整个实时处理框架如下:
本人自己搭建环境的节点分布如下:
服务 | 节点 |
Hadoop集群 | 172.16.100.78(NameNode),172.16.100.79(DataNode),172.16.100.12(DataNode) |
Zookeeper集群 | 172.16.100.12 172.16.100.13, 172.16.100.14 |
Kafka集群 | 172.16.100.12, 172.16.100.13, 172.16.100.14 |
Storm集群 | 172.16.100.12(nimbus), 172.16.100.13(supervisor), 172.16.100.14(supervisor) |
FlumeNG | 根据需要装在需要采集日志的应用服务器节点(172.16.100.12) |
本文就主要组件的配置进行详细说明:
zookeeper集群安装:
关于zk的分布式部署网上有很多参考资料这里不赘述,只给出自己的配置文件(zoo.cfg)供参考:
其中zk01,zk02,zk03分别对应172.16.100.12, 172.16.100.13, 172.16.100.14(在/etc/hosts中配置)
之后在zk01, zk02, zk03上分别使用zkServer.sh start启动zookeeper,若遇到以下问题:
原因在于没有关闭防火墙,需要根据操作系统的版本使用相应的命令关闭防火墙,对于Centos 7 可使用如下命令:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动
kafka集群安装
- 安装配置参考网上链接(http://www.tuicool.com/articles/BNR3Ur)
- 在集群的各个主机上后台启动kafka
kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-0.10.0.1/config/server.properties - 创建一个Topic,5个分区,并且复制因子为3
kafka-topics.sh –create –zookeeper zk01:2181,zk02:2181,zk03:2181 –replication-factor 3 –partitions 5 –topic test-topic - 查看创建的topic详情
kafka-topics.sh –describe –zookeeper zk01:2181,zk02:2181,zk03:2181 –topic test-topic
【可选】安装kafka监控软件:KafkaOffsetMonitor
- 下载KafkaOffsetMonitor-assembly-0.2.0.jar
- 编写启动脚本monitor_start.sh如下:
- 运行monitor_start.sh启动KafkaOffsetMonitor ,可通过所在服务器的8089端口监控kafka的运行状况
Storm集群安装
- 安装配置参考网上链接
- 配置storm.yaml如下,其中zk01作为Storm集群的nimbus节点,zk02和zk03为supervisor节点
- 在zk01上启动主节点和UI页面
storm nimbus &
storm ui &
则可以通过zk01节点的9090端口查看storm集群的配置及运行情况 - 在zk02和zk03上分别运行从节点
storm supervisor &
flume安装配置
- 在一台应用服务器(zk01)上安装flume
- 配置flume-conf.properties如下:
其中各个配置字段的含义将在下一篇数据采集中详细讲解 - 启动flume
./flume-ng agent –conf-file ../conf/flume-conf.properties –name agent -Dflume.monitoring.type=http -Dflume.monitoring.port=34545
至此整个实时处理的测试环境已搭建完毕,下一篇将重点介绍数据采集的相关内容