大数据概论
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秒,天猫 ...
运算操作符
本文将介绍适用于基本类型值的各种运算操作符。
关于本文中的内容和一些解释
本文只介绍算术运算符、位运算符、比较运算符、布尔运算符和字符串衔接运算符。 这些运算符要么是二元的(需要两个操作数),要么是一元的(需要一个操作数)。 所有这些运算符运算都只返回一个结果。操作数常常也称为操作值。
本文中的解释不追求描述的完全准确性。 比如,当我们说一个二元运算符运算需要其涉及的两个操作数类型必须一样的时,这指:
如果这两个操作数都是类型确定值,则它们的类型必须相同,或者其中一个操作数可以被隐式转换到另一个操作数的类型。
如果其中只有一个操作数是类型确定的,则要么另外一个类型不确定操作数可以表示为此类型确定操作数的类型的值,要么此类型不确定操作数的默认类型的任何值可以被隐式转换到此
类型确定操作数的类型。
如果这两个操作数都是类型不确定的,则它们必须同时都为两个布尔值,同时都为两个字符串值,或者同时都为两个基本数字值。
类似的,当我们说一个运算符(一元或者二元)运算要求其涉及的某个操作数的类型必须为某个特定类型时,这指:
如果这个操作数是类型确定的,则它的类型必须为所要求的特定类型,或者此操 ...
测试HPA
1. HPA 工作原理
Pod 弹性伸缩器(HPA)是 Kubernetes 的一项功能,可以对您的应用进行自动扩容和自动缩容。
1.1 为什么要使用 HPA?
使用 HPA,您可以自动缩放在 Replication Controller,Deployment 或者 Replica Set 中的 Pod。HPA 将自动缩放正在运行的 Pod 的数量,以实现最高效率。HPA 中影响 Pod 数量的因素包括:
用户定义的允许运行的 Pod 的最小和最大数量。
资源指标中报告的观察到的 CPU 或内存使用情况。
第三方指标应用程序(例如 Prometheus,Datadog 等)提供的自定义指标。
HPA 通过以下方式改善您的服务:
释放因过多的 Pod 而浪费的硬件资源。
按照应用需要的性能,自动提高或降低 Pod 数量。
1.2 HPA 是如何工作的?
HPA 是通过循环控制来实现的,其循环周期由下面的 kube-controller-manager 启动参数控制:
参数
默认值
描述
–horizontal-pod-autoscaler-sync-period
...
k8s基础环境配置
1 主机基础配置
1.1 主机名配置
因为 K8S 或者 FQDN 的规定,主机名仅支持包含 - 或/和 .(中横线和点)两种特殊符号,并且一个集群中主机名不能重复。
1.2 Hosts
Linux 系统安装完成后,在 hosts(/etc/hosts) 中应该有 localhost 指向 127.0.0.1,如果没有则手动添加上。
配置每台主机的 hosts(/etc/hosts),添加 host_ip $hostname 到 /etc/hosts 文件中。
1.3 CentOS 关闭 selinux
1sudo sed -i 's/SELINUX=enforcing/SELINUX=disabled/g' /etc/selinux/config
1.4 关闭防火墙(可选)或者放行相应端口
CentOS
1systemctl stop firewalld.service && systemctl disable firewalld.service
Ubuntu
1ufw disable
1.5 配置主机时间、时区、系统语言
查 ...
helm2升级rancher2-2-2到rancher2-3-2
1. 集群现状
rke部署工具版本
12[root@localhost rke2.2.2]# ./rke -versionrke version v0.2.6
rke部署k8s集群版本(用于高可用部署rancher)
123[root@localhost rke2.2.2]# kubectl versionClient Version: version.Info{Major:"1", Minor:"14", GitVersion:"v1.14.3", GitCommit:"5e53fd6bc17c0dec8434817e69b04a25d8ae0ff0", GitTreeState:"clean", BuildDate:"2019-06-06T01:44:30Z", GoVersion:"go1.12.5", Compiler:"gc", Platform:"linux/amd64"}Se ...
RKE集群helm2部署rancher-v2.2.2
对于生产环境,需以高可用的配置安装 Rancher,确保用户始终可以访问 Rancher Server。当安装在Kubernetes集群中时,Rancher将与集群的 etcd 集成,并利用Kubernetes 调度实现高可用。
为确保高可用,本文所部署的 Kubernetes 集群将专用于运行 Rancher ,Rancher 运行起来后,可再创建或导入集群以运行具体的工作负载。
1. 推荐架构
Rancher的DNS 应解析到 4层(TCP) 负载均衡上。
负载均衡应将端口 TCP/80 和 TCP/443 转发到 Kubernetes 集群中的所有3个节点。
Ingress-controller 将 HTTP 重定向到HTTPS并终止端口 TCP/443 上的 SSL/TLS(SSL数字证书在这里部署)。
Ingress-controller 将流量转发到 pod 的 TCP/80 端口。
下面是一张从官网拉过来的图片,更直观一些。
2. 准备工作
2.1 服务器准备
1台 Linux服务器,配置不用很高,用于四层负载均衡
3台 Linux服务器,Rancker-serv ...
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
下载完成之后,直接解压就可以使用😄
登录之后,打开设置,选择你下载视频的目录,其他保持默认就行。
回到主界面,输入你想要下载的视频地址,点击查询,解析视频之后,选中视频,点击下载选中项即可开始下载,可以看出,下载速度还是非常快的。
这款工具还是非常值得推荐👍。
常量和变量
常量和变量
这篇文章将介绍常量和变量相关的知识。 类型不确定值、类型推断和值的显式类型转换等概念也将被介绍。
上一章中提到的基本类型的字面量表示 (除了false和true)都属于无名常量(unnamed constant),或者叫字面常量(literal constant)。 false和true是预声明的两个有名常量。本文将介绍如何声明自定义的有名常量。
类型不确定值(untyped value)和类型确定值(typed value)
在Go中,有些值的类型是不确定的。换句话说,有些值的类型有很多可能性。 这些值称为类型不确定值。对于大多数类型不确定值来说,它们各自都有一个默认类型, 除了预声明的nil。nil是没有默认类型的。 我们在后续的文章中将了解到很多关于nil的知识。
与类型不确定值相对应的概念称为类型确定值。
上一章提到的字面常量(无名常量)都属于类型不确定值。 事实上,Go中大多数的类型不确定值都属于字面常量和本文即将介绍的有名常量。 少数类型不确定值包括刚提到的nil和以后会逐步接触到的某些操作的布尔返回值。
一个字面(常)量的默认类型取决于它为何种字面量形式:
...
基本类型和它们的字面量表示
基本类型和它们的字面量表示
类型(type)可以被看作是值(value)的模板,值可以被看作是类型的实例。 这篇文章将介绍内置(或称为预声明的)基本类型和它们字面量的表示形式。 本篇文章不绍组合类型。
基本内置类型
Go支持如下内置基本类型:
一种内置布尔类型:bool。
11种内置整数类型:int8、uint8、int16、uint16、int32、uint32、int64、uint64、int、uint和uintptr。
两种内置浮点数类型:float32和float64。
两种内置复数类型:complex64和complex128。
一种内置字符串类型:string。
内置类型也称为预声明类型。
这17种内置基本类型(type)各自属于一种Go中的类型种类(kind)。 尽管所有的内置基本类型的名称都是非导出标识符, 我们可以不用引入任何代码包而直接使用这些类型。
除了bool和string类型,其它的15种内置基本类型都称为数值类型(整型、浮点数型和复数型)。
Go中有两种内置类型别名(type alias):
byte是uint8的内置别名。 我们可以将byte和uin ...