每天30分钟大数据2:HDFS基本概念
📅 2019-01-20
HDFS即Hadoop Distributed File System的简称,是一个被设计为运行在廉价机器上的分布式文件系统,是Google分布式文件系统GFS的开源实现。
数据块(Data Blocks)是HDFS存储文件的最基本单元,HDFS通过分块存储的方式提高文件的读写性能以突破单机存储瓶颈,通过数据块的多副本冗余存储保证数据的可靠性。
...HDFS即Hadoop Distributed File System的简称,是一个被设计为运行在廉价机器上的分布式文件系统,是Google分布式文件系统GFS的开源实现。
数据块(Data Blocks)是HDFS存储文件的最基本单元,HDFS通过分块存储的方式提高文件的读写性能以突破单机存储瓶颈,通过数据块的多副本冗余存储保证数据的可靠性。
...本文将实践使用Heml在Kubernetes 1.13上安装Istio 1.0.5,具体的环境信息如下:
1helm version
2Client: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"}
3Server: &version.Version{SemVer:"v2.12.2", GitCommit:"7d2b0c73d734f6586ed222a567c5d103fed435be", GitTreeState:"clean"}
4
5kubectl version
6Client Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"ddf47ac13c1a9483ea035a79cd7c10005ff21a6d", GitTreeState:"clean", BuildDate:"2018-12-03T21:04:45Z", GoVersion:"go1.11.2", Compiler:"gc", Platform:"linux/amd64"}
7Server Version: version.Info{Major:"1", Minor:"13", GitVersion:"v1.13.2", GitCommit:"cff46ab41ff0bb44d8584413b598ad8360ec1def", GitTreeState:"clean", BuildDate:"2019-01-10T23:28:14Z", GoVersion:"go1.11.4", Compiler:"gc", Platform:"linux/amd64"}
下载并解压缩istio的发布包:
...Apache Ambari是Apache Software Foundation的一个软件项目。 Ambari使系统管理员能够配置,管理和监控Hadoop集群,还可以将Hadoop与现有企业基础架构集成。 Ambari是Hadoop的一个子项目,但现在它本身就是一个顶级项目。
...前面在Kubernetes Ingress实战(四):Bare metal环境下Kubernetes Ingress边缘节点的高可用
和Kubernetes Ingress实战(五):Bare metal环境下Kubernetes Ingress边缘节点的高可用(基于IPVS)中Bare metal环境下Kubernetes Ingress边缘节点的高可用的两种方法,都是基于externalIps来暴露nginx-ingress-controller
的Service到集群外部的,前者的kube-proxy
没有开启IPVS,后者的kube-proxy
开启了IPVS。
前段时间测试将一套Kubernetes环境的kube-proxy
切换成了ipvs模式,参见Kubernetes kube-proxy开启IPVS模式。
这套Kubernetes集群上主要运行http restful和gRPC两类服务,切换后这段时间还算稳定,只是最近某些客户端服务在调用gRPC服务时小概率出现Connection reset by peer
的错误。
kubeadm是Kubernetes官方提供的用于快速安装Kubernetes集群的工具,伴随Kubernetes每个版本的发布都会同步更新,kubeadm会对集群配置方面的一些实践做调整,通过实验kubeadm可以学习到Kubernetes官方在集群配置上一些新的最佳实践。
...Hubot是Github开发并开源的chatbot,将其部署到运维环境中后,可通过编写自定义的脚本,将之前的web端、shell命令等人工进行的运维工作,通过聊天工具交给机器人来代替。
安装Node.js:
下载Node.js LTS的Binary版本:https://nodejs.org/en/download/current/。将binary压缩包解压缩到安装目录NODE_INSTALL_PATH
中。 设置环境变量NODE_HOME
指向到解压缩后的目录,并设置PATH环境变量包含NODE_HOME
。
Go语言interface的运行时实现的源码位于$GOROOT/src/runtime/runtime2.go
中。
在Go的不同版本中,interface的实现可能会有不同,但整体结构变化不大,本文基于Go 1.17。
可以在runtime/runtime2.go
中找到Go的接口类型变量在运行时的表示,如下是iface
和eface
两个结构体:
先做一个测试,首先将default namespace开启sidecar代理的自动注入:
1kubectl label namespace default istio-injection=enabled
部署sleep示例应用:
1kubectl apply -f samples/sleep/sleep.yaml
sleep应用启动后,进入到容器内部,使用curl访问http://httpbin.org/uuid,出现404:
...ECMAScript Modules(ES Modules)是ECMAScript 6(ES6)规范中引入的一项重要特性,于2015年发布。ES6是ECMAScript标准的第六个版本,也被称为ECMAScript 2015。
ES Modules提供了一种新的模块系统,以改进JavaScript中模块化的方式。它引入了import
和export
关键字,允许开发者更方便地组织和管理JavaScript代码。