大数据学习(一):实时处理环境搭建

来源:互联网 发布:偶像活动真食玩淘宝店 编辑:程序博客网 时间:2024/05/29 03:41

概述

为了实现搭建一套初步学习大数据实时分析的平台,用了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.14Kafka集群172.16.100.12, 172.16.100.13, 172.16.100.14Storm集群172.16.100.12(nimbus), 172.16.100.13(supervisor), 172.16.100.14(supervisor)FlumeNG根据需要装在需要采集日志的应用服务器节点(172.16.100.12)

本文就主要组件的配置进行详细说明:

zookeeper集群安装:

关于zk的分布式部署网上有很多参考资料这里不赘述,只给出自己的配置文件(zoo.cfg)供参考:
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,若遇到以下问题:
zk启动失败
原因在于没有关闭防火墙,需要根据操作系统的版本使用相应的命令关闭防火墙,对于Centos 7 可使用如下命令:
systemctl stop firewalld.service #停止firewall
systemctl disable firewalld.service #禁止firewall开机启动

kafka集群安装

  1. 安装配置参考网上链接(http://www.tuicool.com/articles/BNR3Ur)
  2. 在集群的各个主机上后台启动kafka
    kafka-server-start.sh -daemon /opt/kafka/kafka_2.11-0.10.0.1/config/server.properties
  3. 创建一个Topic,5个分区,并且复制因子为3
    kafka-topics.sh –create –zookeeper zk01:2181,zk02:2181,zk03:2181 –replication-factor 3 –partitions 5 –topic test-topic
  4. 查看创建的topic详情
    kafka-topics.sh –describe –zookeeper zk01:2181,zk02:2181,zk03:2181 –topic test-topic

【可选】安装kafka监控软件:KafkaOffsetMonitor

  1. 下载KafkaOffsetMonitor-assembly-0.2.0.jar
  2. 编写启动脚本monitor_start.sh如下:
    monitor_start.sh
  3. 运行monitor_start.sh启动KafkaOffsetMonitor ,可通过所在服务器的8089端口监控kafka的运行状况
    KafkaOffsetMonitor

Storm集群安装

  1. 安装配置参考网上链接
  2. 配置storm.yaml如下,其中zk01作为Storm集群的nimbus节点,zk02和zk03为supervisor节点
    storm.yaml
  3. 在zk01上启动主节点和UI页面
    storm nimbus &
    storm ui &
    则可以通过zk01节点的9090端口查看storm集群的配置及运行情况
  4. 在zk02和zk03上分别运行从节点
    storm supervisor &

flume安装配置

  1. 在一台应用服务器(zk01)上安装flume
  2. 配置flume-conf.properties如下:
    flume-conf
    其中各个配置字段的含义将在下一篇数据采集中详细讲解
  3. 启动flume
    ./flume-ng agent –conf-file ../conf/flume-conf.properties –name agent -Dflume.monitoring.type=http -Dflume.monitoring.port=34545

至此整个实时处理的测试环境已搭建完毕,下一篇将重点介绍数据采集的相关内容

原创粉丝点击