Kafka概述
1. 定义
Kafka传统定义: Kafka是一个分布式的基于发布/订阅模式的消息队列(MessageQueue),主要应用于大数据实时处理领域。
发布/订阅: 消息的发布者不会将消息直接发送给特定的订阅者,而是将发布的消息分为不同的类别,订阅者只接收感兴趣的消息。
kafka最新定义: Kafka是一个开源的分布式事件流平台(Event Streaming Platform),被数千家公司用于高性能数据管道、流分析、数据集成和关键任务应用。
2. 消息队列
目前企业中比较常见的消息队列产品主要有 Kafka、ActiveMQ、RabbitMQ、RocketMQ等。
在大数据场景主要采用Kafka作为消息队列。在JavaEE开发中主要采用ActiveMQ、RabbitMQ、RocketMQ。
2.1 传统消息队列的应用场景
传统的消息队列的主要应用场景包括:缓存/消峰、解耦和异步通信。
2.1.1 缓存/消峰
有助于控制和优化数据流经过系统的速度,解决生产消息和消费消息的处理速度不一致的情况。
2.1.2 解耦
允许你独立的扩展或修改两边的处理过程,只要确保它们遵守同样的接口约束
...
Hadoop运行环境搭建
1. 虚拟机环境准备
主机名
IP
内存
系统
hadoop101
192.168.10.11
2G
Ubuntu 20.04.3 LTS
hadoop102
192.168.10.12
2G
Ubuntu 20.04.3 LTS
hadoop103
192.168.10.13
2G
Ubuntu 20.04.3 LTS
以下步骤三台服务器均需要操作
1.1 添加主机名映射
1234ren@hadoop101:~$ cat /etc/hosts192.168.10.11 hadoop101192.168.10.12 hadoop102192.168.10.13 hadoop103
1.2 ssh三机互信
1234ren@hadoop101:~$ ssh-keygenren@hadoop101:~$ ssh-copy-id ren@192.168.10.11ren@hadoop101:~$ ssh-copy-id ren@192.168.10.12ren@hadoop101:~$ ssh-copy-id ren@192.168.10.13
1.3 创建项目目 ...
大数据生态体系
1. Hadoop是什么
Hadoop是由Apache基金会所开发的分布式系统基础架构。
主要解决,海量数据的存储和海量数据的分析计算问题。
广义上来说,Hadoop通常是指一个更广泛的概念——Hadoop生态圈。
2. Hadoop发展历史
Hadoop创始人Doug Cutting,为了实现与Googole类似的全文搜索功能,他在Lucene框架基础上进行优化升级,查询引擎和索引引擎。
2001年年底Lucene成为Apache基金会的一个子项目。
对于海量数据的场景,Lucene框架面对与Google同意的困难,存储海量数据困难,检索海量数据速度慢。
学习和模仿Google解决这些问题的办法:微型版Nutch。
可以说Google是Hadoop的思想之源(Google在大数据方面的三篇论文)
GFS --> HDFS
Map-Reduce —> MR
BigTable —> HBase
2003-2004年,Google公开了部分GFS和MapReduce思想的细节,以此为基础Doug Cutting等人用了2年业务时间实现了DFS和MapRed ...
大数据概论
1. 大数据概念
大数据(BigData):指无法在一定时间范围内用常规软件工具进行捕捉、管理和处理的数据集合,是需要新处理模式才能具有更强的决策力、洞察发现力和流程优化能力的海量、高增长、率和多样化的信息资产。
大数据主要解决,海量数据的采集、存储和分析计算问题。
按顺序给出数据存储单位:bit、Byte、KB、MB、GB、TB、PB、EB、ZB、YB、BB、NB、DB。
1Byte=8bit
1K=1024Byte
1MB=1024KB
1G=1024MB
1T=1024GB
1P=1024TB
2. 大数据特点(4V)
2.1 Volume(大量)
截至目前,人类生产的所有印刷材料的数据量是200PB,而历史上全人类总共说过的话的数据量大约是5EB。当前,典型个人计算机硬盘的容量为TB量级,而一些大企业的数据量已经接近EB量级。
2.2 Velocity(高速)
这是大数据区分与传统数据挖掘的最显著特征。根据IDC的“数字宇宙”的报告,预计到2025年,全球数据使用量将达到163ZB。在如此海量的数据面前,处理数据的效率就是企业的生命。
天猫双十一:2017年3分钟01秒,天猫 ...
kubectl命令自动补全
1234567yum install -y bash-completionsource /usr/share/bash-completion/bash_completionsource <(kubectl completion bash)echo "source <(kubectl completion bash)" >> ~/.bashrcecho "source <(helm completion bash)" >> ~/.bashrc
BiliBili视频下载工具
项目地址
github
下载完成之后,直接解压就可以使用😄
登录之后,打开设置,选择你下载视频的目录,其他保持默认就行。
回到主界面,输入你想要下载的视频地址,点击查询,解析视频之后,选中视频,点击下载选中项即可开始下载,可以看出,下载速度还是非常快的。
这款工具还是非常值得推荐👍。
5-命令补全和资源限制
1 命令补全
123curl -L -o /etc/bash_completion.d/docker-compose \ https://raw.githubusercontent.com/docker/compose/$(docker-compose version --short)/contrib/completion/bash/docker-compose # 下次登陆生效
2 资源限制
docker-compose v3版本命令,可以使用deploy来做资源限制,如:
12345image: flink:1.3.1deploy: resources: limits: memory: 1G
但是docker-compose up命令不支持资源限制参数,提示如下:
1....Compose does not support 'deploy' configuration - use `docker stack deploy` to deploy to a swarm
这个时候可以使用--compatibility参数
1--compatib ...
4-compose/stack/swarm集群
区别和联系
docker-compose V3之后,设置资源限额和容器数量的配置,只能写在deploy字段里, 但是docker-compose up 却不支持 deploy 配置
编辑同一份docker-compose.yml, 但是compose 和 swarm/stack的分工是这样的:
docker-compose 用于dev 支持build/restart 但是不支持deploy,
swarm/stack 用于 prod 支持 deply的各种设置,包括分配cpu和内存, 但是创建容器只支持从image,不支持build.
deploy扩缩容参数
deploy是用于在docker集群环境下自动进行扩容和缩容的配置项,docker-compose up and docker-compose run两个命令会忽略此配置,只有docker stack deploy命令下才有用
有以下子选项
endpoint_mode:集群对提供服务的方式
endpoint_mode: vip VIP方式
endpoint_mode: dnsrr dns轮询方式
...
3-docker-compose命令
1,Docker-compose命令格式
docker-compose [-f <arg>...] [options] [COMMAND] [ARGS...]
命令选项如下
12345-f --file FILE指定Compose模板文件,默认为docker-compose.yml-p --project-name NAME 指定项目名称,默认使用当前所在目录为项目名--verbose 输出更多调试信息-v,-version 打印版本并退出--log-level LEVEL 定义日志等级(DEBUG, INFO, WARNING, ERROR, CRITICAL)
2,docker-compose up
docker-compose up [options] [--scale SERVICE=NUM...] [SERVICE...]
选项包括:
12345678910-d 在后台运行服务容器-no-color 不是有颜色来区分不同的服务的控制输出-no-deps 不启动服务所链接的容器--force-recreate 强制重新创建容器,不能与-no-recre ...
2-compose命令和yaml模板
一 compose命令和模板说明
A. compse命令列表说明
每个命令后后还有很多参数,具体的请用--help去查看
命令名
参数说明
build
构建项目中的服务容器
images
列出所有镜像
kill
通过发送SIGKILL信号来强制停止服务容器
logs
查看服务器容器的输出
pause
暂停一个服务容器
port
打印某个容器的端口所映射的公共端口
ps
列出项目中目前的所有容器
pull
拉取服务依赖的镜像
push
推送服务依赖的镜像
restart
重启项目中的服务
rm
删除所有的服务器容器(停止状态的)
run
在指定服务上执行一个命令
scale
设置指定服务运行的容器个数
start
启动已经存在的服务容器
stop
停止已经处于运行状态的容器,但不删除它
top
展示运行的进程
unpause
恢复处于暂停状态中的服务
up
自动完成包括构建镜像、创建服务、启动服务并关联服务相关容器的一系列操作
B. Compose模板文件的说明
compose模板文件官方文档
co ...