2.环境搭建

目录
1.系统架构
2.环境搭建
2.1本地环境下kafka批量导入数据
2.2 kafka-manager的安装与配置
3.1 Spark Streaming 性能调优(一): 解决并行度
3.2 Spark Streaming 性能调优(二): 解决task倾斜

这个项目需要安装:

1.Cassandra 2.2.8

Apache Cassandra是一个高度可扩展的高性能分布式数据库,用于处理大量商用服务器上的大量数据,提供高可用性,无单点故障。这是一种NoSQL类型的数据库。以下是cassandra的特性:

  • 弹性可扩展性 - Cassandra是高度可扩展的; 它允许添加更多的硬件以适应更多的客户和更多的数据根据要求。
  • 始终基于架构 - Cassandra没有单点故障,它可以连续用于不能承担故障的关键业务应用程序。
  • 快速线性性能 - Cassandra是线性可扩展性的,即它为你增加集群中的节点数量增加你的吞吐量。因此,保持一个快速的响应时间。
  • 灵活的数据存储 - Cassandra适应所有可能的数据格式,包括:结构化,半结构化和非结构化。它可以根据您的需要动态地适应变化的数据结构。
  • 便捷的数据分发 - Cassandra通过在多个数据中心之间复制数据,可以灵活地在需要时分发数据。
  • 事务支持 - Cassandra支持属性,如原子性,一致性,隔离和持久性(ACID)。
  • 快速写入 - Cassandra被设计为在廉价的商品硬件上运行。 它执行快速写入,并可以存储数百TB的数据,而不牺牲读取效率。
2.Kairosdb 1.1.3

KairosDB是一个快速可靠的分布式时间序列数据库,主要用Cassandra来做底层存储,也可以使用HBase。KairosDB是在OpenTSDB基础上重写的。其主要功能如下:

  • 可以获取基础设施和服务的实时状态信息,展示集群的各种软硬件错误,性能变化以及性能瓶颈。
  • 可以衡量系统的SLA(服务类型、服务质量等),理解复杂系统间的相互作用,展示资源消耗情况。集群的整体作业情况,可以用以辅助预算和集群资源协调。
  • 可以展示集群的主要性能瓶颈,经常出现的错误,从而可以着力重点解决重要问题。
3.Kafka 0.8.2

Kafka其实说白了就是一个分布式的消息队列,底层依赖于Zookeeper.kafka 是一个中间件,是一个服务。任何机器都可以向它生产数据和消费数据。

4.Zookeeper 3.4.5

Kafka的核心,负责保存Kafka的topic信息和其他配置信息,也是一个中间件

5.spark 2.3.0

Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎,其启用了内存分布数据集,除了能够提供交互式查询外,它还可以优化迭代工作负载。要运行spark还需要在机器上配置scala

6.jdk 1.8

1.安装Cassandra:

①.下载:
官网上只有最新版的下载,但是官方提供了所有旧版release的仓库,点击这里就可以找到自己要下载的版本了.
②.配置Cassandra:
1.首先在你喜欢的地方,新建以下三个文件夹:

mkdir /var/lib/cassandra/data
mkdir /var/lib/cassandra/commitlog
mkdir /var/lib/cassandra/saved_caches

2.解压刚刚下载好的压缩包,之后进入/cassandra/conf目录,打开cassandra.yaml文件,将配置文件中的三个地方改成刚刚新建的那三个文件夹

data_file_directories:
- /var/lib/cassandra/data // 注意,这里-前面不能有空格!!!
commitlog_directory: /var/lib/cassandra/commitlog
saved_caches_directory: /var/lib/cassandra/saved_caches
# 开启rpc服务,如果不开启的话,Kairosdb将无法调用cassandra的api
start_rpc: true

③.运行:
进入/cassandra/bin目录,运行脚本:

./cassandra

如果没报错的话就表示cassandra正常启动了,使用:

./nodetool status

也可以查看当前数据库所有节点的状态

2.安装Kairosdb

①.下载:
kairosdb是开源的,在github上可以直接下载:https://github.com/kairosdb/kairosdb/releases
直接下载需要的版本即可
②.配置:
解压刚刚下载的压缩包,进入/conf目录,打开Kairosdb.properties文件,
要使用cassandra作为kairosdb的存储服务,就必须如下配置:

#kairosdb.service.datastore=org.kairosdb.datastore.h2.H2Module // 默认使用h2作为存储服务,所以要注释这行  
kairosdb.service.datastore=org.kairosdb.datastore.cassandra.CassandraModule  

其他配置默认即可
③.运行:
运行Kairosdb前需要先启动cassandra,启动cassandra后,进入Kairosdb/bin目录,运行命令:

./kairosdb.sh run

即可启动Kairosdb

3.安装Kafka:

①.下载:
Kafka直接去官方下就可以,官网挺好看的,一下子就找到了要安装的版本了,这里附一下连接吧
http://kafka.apache.org/downloads
②.配置:
解压刚刚下载的压缩包,先进入/conf目录,编辑zookeeper.properties文件:
配置可以跟下面安装Zookeeper的配置文件一样:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/zookeeper-datas
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

至于server.properties也是需要修改的,这个就先留到后面我摸索好所有组件如何用再回来完善吧...
③.运行:
进入/bin目录,输入以下命令:

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

即可指定配置文件,并开启kafka后台进程

Kafka-Manager

日常开发中总是敲命令行来管理kafka还是有点不方便,所以这里我用了kafka-manager来管理kafka.
这里附上我安装kafka-mananger的过程: kafka-manager的安装与配置

4.安装Zookeeper:

kafka下载好后其实自带了zookeeper, 详情可以去这篇补充文章里面看2.1 本地环境下kafka批量导入数据

①.下载:
同样地,zookeeper官网只有最新版的,要想下载以前的版本,只能通过官网提供的旧版仓库:
https://archive.apache.org/dist/zookeeper/
这样就可以找到自己想要的版本了
②.配置:
1.新建文件夹:

mkdir /opt/zookeeper-datas

解压刚刚下载好的压缩包,进行/conf目录,新建zoo.cfg文件,并输入以下内容:

# The number of milliseconds of each tick
tickTime=2000
# The number of ticks that the initial 
# synchronization phase can take
initLimit=10
# The number of ticks that can pass between 
# sending a request and getting an acknowledgement
syncLimit=5
# the directory where the snapshot is stored.
# do not use /tmp for storage, /tmp here is just 
# example sakes.
dataDir=/opt/zookeeper-datas
# the port at which the clients will connect
clientPort=2181
#
# Be sure to read the maintenance section of the 
# administrator guide before turning on autopurge.
#
# http://zookeeper.apache.org/doc/current/zookeeperAdmin.html#sc_maintenance
#
# The number of snapshots to retain in dataDir
#autopurge.snapRetainCount=3
# Purge task interval in hours
# Set to "0" to disable auto purge feature
#autopurge.purgeInterval=1

新建好配置文件后,进行/bin目录,运行命令:

./zkServer.sh start

即可开启zookeeper服务

5.安装spark:

spark就没有啥比较好的安装方法了,下载scala,配置jdk,再下载spark的程序压缩包(spark的压缩包可能需要科学上网才能正常下载)就行,开包即用

6.安装jdk:

这么简单的我就不写了,网上一搜一大堆

最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 203,456评论 5 477
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 85,370评论 2 381
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 150,337评论 0 337
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 54,583评论 1 273
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 63,596评论 5 365
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 48,572评论 1 281
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 37,936评论 3 395
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 36,595评论 0 258
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 40,850评论 1 297
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 35,601评论 2 321
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 37,685评论 1 329
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 33,371评论 4 318
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 38,951评论 3 307
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 29,934评论 0 19
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 31,167评论 1 259
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 43,636评论 2 349
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 42,411评论 2 342

推荐阅读更多精彩内容