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 创建项目目 ...
服务网格-Istio
1. 前言
如果你比较关注新兴技术的话,那么很可能在不同的地方听说过 istio,并且知道它和 service mesh 有着牵扯。这篇文章可以作为了解 istio 的入门介绍,了解什么是 istio,istio 为什么最近这么火,以及 istio 能够我们带来什么好处。
2. 什么是 istio?
官方对 istio 的介绍浓缩成了一句话:
An open platform to connect, secure, control and observe services.
翻译过来,就是”连接、安全加固、控制和观察服务的开放平台“。开放平台就是指它本身是开源的,服务对应的是微服务,也可以粗略地理解为单个应用。
中间的四个动词就是 istio 的主要功能,官方也各有一句话的说明。这里再阐释一下:
连接(Connect):智能控制服务之间的调用流量,能够实现灰度升级、AB 测试和红黑部署等功能
安全加固(Secure):自动为服务之间的调用提供认证、授权和加密
控制(Control):应用用户定义的 policy,保证资源在消费者中公平分配
观察(Observe):查看服务运行期间 ...
大数据生态体系
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秒,天猫 ...
运算操作符
本文将介绍适用于基本类型值的各种运算操作符。
关于本文中的内容和一些解释
本文只介绍算术运算符、位运算符、比较运算符、布尔运算符和字符串衔接运算符。 这些运算符要么是二元的(需要两个操作数),要么是一元的(需要一个操作数)。 所有这些运算符运算都只返回一个结果。操作数常常也称为操作值。
本文中的解释不追求描述的完全准确性。 比如,当我们说一个二元运算符运算需要其涉及的两个操作数类型必须一样的时,这指:
如果这两个操作数都是类型确定值,则它们的类型必须相同,或者其中一个操作数可以被隐式转换到另一个操作数的类型。
如果其中只有一个操作数是类型确定的,则要么另外一个类型不确定操作数可以表示为此类型确定操作数的类型的值,要么此类型不确定操作数的默认类型的任何值可以被隐式转换到此
类型确定操作数的类型。
如果这两个操作数都是类型不确定的,则它们必须同时都为两个布尔值,同时都为两个字符串值,或者同时都为两个基本数字值。
类似的,当我们说一个运算符(一元或者二元)运算要求其涉及的某个操作数的类型必须为某个特定类型时,这指:
如果这个操作数是类型确定的,则它的类型必须为所要求的特定类型,或者此操 ...
测试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