新闻网大数据实时分析可视化系统项目——7、Kafka分布式集群部署

Kafka是由LinkedIn开发的一个分布式的消息系统,使用Scala编写,它以可水平扩展和高吞吐率而被广泛使用。目前越来越多的开源分布式处理系统如Cloudera、Apache Storm、Spark都支持与Kafka集成。

1.下载Kafka并安装

1)下载Apache版本的Kafka。

2)下载Cloudera版本的Kafka。

3)这里选择下载Apache版本的kafka_2.11-0.8.2.1.tgz ,然后上传至bigdata-pro01.kfk.com节点/opt/softwares/目录下

4)解压Kafka

tar -zxf kafka_2.11-0.8.2.1.tgz  -C /opt/modules/

2.Kafka集群配置

1)配置server.properties文件

vi kafka_2.11-0.8.2.1

#节点唯一标识

broker.id=0

#默认端口号

port=9092

#主机名绑定

host.name=bigdata-pro01.kfk.com

#Kafka数据目录

log.dirs=/opt/modules/kafka_2.11-0.8.2.1/tmp/kafka-logs

#配置Zookeeper

zookeeper.connect=bigdata-pro01.kfk.com:2181,bigdata-pro02.kfk.com:2181,bigdata-pro03.kfk.com:2181

2)配置zookeeper.properties文件

vi zookeeper.properties

#Zookeeper的数据存储路径与Zookeeper集群配置保持一致

dataDir=/opt/modules/zookeeper-3.4.5-cdh5.10.0/zkData

3)配置consumer.properties文件

#配置Zookeeper地址

zookeeper.connect=bigdata-pro01.kfk.com:2181,bigdata-pro02.kfk.com:2181,bigdata-pro03.kfk.com:2181

4)配置producer.properties文件

#配置Kafka集群地址

metadata.broker.list=bigdata-pro01.kfk.com:9092,bigdata-pro02.kfk.com:9092,bigdata-pro03.kfk.com:9092

5)Kafka分发到其他节点

scp -r kafka_2.11-0.8.2.1 bigdata-pro02.kfk.com:/opt/modules/

scp -r kafka_2.11-0.8.2.1 bigdata-pro03.kfk.com:/opt/modules/

6)修改另外两个节点的server.properties

#bigdata-pro02.kfk.com节点

broker.id=1

host.name=bigdata-pro02.kfk.com

#bigdata-pro03.kfk.com节点

broker.id=2

host.name=bigdata-pro03.kfk.com

3.启动Kafka集群并进行测试

1)各个节点启动Zookeeper集群

bin/zkServer.sh start

2)各个节点启动Kafka集群

bin/kafka-server-start.sh config/server.properties &

3)创建topic

bin/kafka-topics.sh --zookeeper localhost:2181 --create --topic test --replication-factor 1 --partitions 1

4)查看topic列表

bin/kafka-topics.sh --zookeeper localhost:2181 --list

5)生产者生成数据

bin/kafka-console-producer.sh --broker-list localhost:9092 --topic test

6)消费者消费数据

bin/kafka-console-consumer.sh --zookeeper localhost:2181 --topic test --from-beginning

转载于:https://www.cnblogs.com/ratels/p/10844719.html

每天都有着大量的用户关注各类新闻,特别是随着各种网络通信技术的发展,网络应用的普及使得每时每刻都有着大量的人们通过网络进行各类新闻的搜索,产生海量的日志数据。过去使用单机的方式通过 MySQL数据库对这些数据进行存储,但是积累下来的用户日志数据量达到了一定的级别,当一台电脑无法存储这么庞大的数据时,就产生了海量数据的存储问题。如果使用网络文件系统对数据进行分开存储,那么就无法对大量的实时和离线数据进行分析处理,处理结果也无法以一种更加直观的方式进行展示。 为了解决海量新闻日志数据的存储问题,在新闻业务中得到实时的用户搜索内容的排行并进行可视化显示,得到公众关注的重点,从而达到针对用户关注的重点进行推送、广告的投放、及时消除不良的用户等目的。本文在对以上需求进行调研后,通过Flume日志收集系统对各个服务器中的日志文件进行读取合并,并将数据划分成离线流数据和实时流数据两条路线。离线数据通过Hadoop集群处理、存储,通过Hive完成离线数据处理和分析,并最终通过Hue实现对用户的可视化展示。实时流数据通过Kafka消息队列临时存储,并通过Spark流处理,最终将结果存放在 MySQL数据库中,通过Java程序获取,最终通过Echarts插件在前端对实时数据进行展示。 本文讲述了系统研究的背景、目的和意义。对系统所使用到的相关技术的原理进行了介绍;对系统进行了总体的需求分析并且按照系统实现的功能划分了相关模块;在进行了需求分析后,对系统进行了具体的硬件平台构建以及各个功能模块设计实现,最终完成对用户搜索日志数据的结构化处理和可视化展示。 最后对课题工作进行了总结,并分析了未来系统中可改进的地方。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值