集群服务器

Redis

ε祈祈猫儿з 提交于 2020-01-09 22:31:56
11、redis(Master-Replicaset) ***** 11.1 原理: 副本库通过slaveof 10.0.0.51 6379命令,连接主库,并发送SYNC给主库 主库收到SYNC,会立即触发BGSAVE,后台保存RDB,发送给副本库 副本库接收后会应用RDB快照 主库会陆续将中间产生的新的操作,保存并发送给副本库 到此,我们主复制集就正常工作了 再此以后,主库只要发生新的操作,都会以命令传播的形式自动发送给副本库. 所有复制相关信息,从info信息中都可以查到.即使重启任何节点,他的主从关系依然都在. 如果发生主从关系断开时,从库数据没有任何损坏,在下次重连之后,从库发送PSYNC给主库 主库只会将从库缺失部分的数据同步给从库应用,达到快速恢复主从的目的 11.2 主从数据一致性保证 min-slaves-to-write 1 min-slaves-max-lag 3 11.3 主库是否要开启持久化? 如果不开有可能,主库重启操作,造成所有主从数据丢失! 主从复制实现 1、环境: 准备两个或两个以上redis实例 mkdir /data/638{0..2} 配置文件示例: cat >> /data/6380/redis.conf <<EOF port 6380 daemonize yes pidfile /data/6380/redis.pid loglevel

管理OralceASM实例

佐手、 提交于 2020-01-09 17:41:35
Administration of Oracle ASM Instances   Oracle ASM is typically installed in an Oracle Grid Infrastructure home separate from the Oracle Database home. Only one Oracle ASM instance is supported on a server in a standard configuration; however, Oracle Flex ASM provides additional configuration options.   When managing an Oracle ASM instance, the administration activity should be performed in the Oracle Grid Infrastructure home. Using Oracle Grid Infrastructure for a Standalone Server 在独立服务器上使用Oracle Grid基础结构 独立服务器的Oracle网格基础结构(Oracle Restart)提高了Oracle数据库的可用性。 在为独立服务器安装Oracle Grid基础结构时

redis面试

故事扮演 提交于 2020-01-09 15:24:44
面试还搞不懂redis,快看看这40道面试题(含答案和思维导图) 原创程序员追风 发布于2019-11-25 18:09:31 阅读数 51710 收藏 展开 Redis 面试题 1、什么是 Redis?. 2、Redis 的数据类型? 3、使用 Redis 有哪些好处? 4、Redis 相比 Memcached 有哪些优势? 5、Memcache 与 Redis 的区别都有哪些? 6、Redis 是单进程单线程的? 7、一个字符串类型的值能存储最大容量是多少? 8、Redis 的持久化机制是什么?各自的优缺点? 9、Redis 常见性能问题和解决方案: 10、redis 过期键的删除策略? 11、Redis 的回收策略(淘汰策略)? 12、为什么 edis 需要把所有数据放到内存中? 13、Redis 的同步机制了解么? 14、Pipeline 有什么好处,为什么要用 pipeline? 15、是否使用过 Redis 集群,集群的原理是什么? 16、Redis 集群方案什么情况下会导致整个集群不可用? 17、Redis 支持的 Java 客户端都有哪些?官方推荐用哪个? 18、Jedis 与 Redisson 对比有什么优缺点? 19、Redis 如何设置密码及验证密码? 20、说说 Redis 哈希槽的概念? 21、Redis 集群的主从复制模型是怎样的? 22、Redis

Elasticsearch集群的脑裂问题

↘锁芯ラ 提交于 2020-01-09 13:50:55
【推荐】2019 Java 开发者跳槽指南.pdf(吐血整理) >>> #Elasticsearch集群的脑裂问题 正常情况下,集群中的所有的节点,应该对集群中master的选择是一致的,这样获得的状态信息也应该是一致的,不一致的状态信息,说明不同的节点对master节点的选择出现了异常——也就是所谓的脑裂问题。这样的脑裂状态直接让节点失去了集群的正确状态,导致集群不能正常工作。 可能导致的原因: 网络:由于是内网通信,网络通信问题造成某些节点认为master死掉,而另选master的可能性较小;进而检查Ganglia集群监控,也没有发现异常的内网流量,故此原因可以排除。 节点负载:由于master节点与data节点都是混合在一起的,所以当工作节点的负载较大(确实也较大)时,导致对应的ES实例停止响应,而这台服务器如果正充当着master节点的身份,那么一部分节点就会认为这个master节点失效了,故重新选举新的节点,这时就出现了脑裂;同时由于data节点上ES进程占用的内存较大,较大规模的内存回收操作也能造成ES进程失去响应。所以,这个原因的可能性应该是最大的。 应对问题的办法: 对应于上面的分析,推测出原因应该是由于节点负载导致了master进程停止响应,继而导致了部分节点对于master的选择出现了分歧。为此,一个直观的解决方案便是将master节点与data节点分离。为此

大数据框架开发基础之Zookeeper入门

夙愿已清 提交于 2020-01-09 11:22:08
Zookeeper是Hadoop分布式调度服务,用来构建分布式应用系统。构建一个分布式应用是一个很复杂的事情,主要的原因是我们需要合理有效的处理分布式集群中的部分失败的问题。例如,集群中的节点在相互通信时,A节点向B节点发送消息。A节点如果想知道消息是否发送成功,只能由B节点告诉A节点。那么如果B节点关机或者由于其他的原因脱离集群网络,问题就出现了。A节点不断的向B发送消息,并且无法获得B的响应。B也没有办法通知A节点已经离线或者关机。集群中其他的节点完全不知道B发生了什么情况,还在不断的向B发送消息。这时,你的整个集群就发生了部分失败的故障。 Zookeeper不能让部分失败的问题彻底消失,但是它提供了一些工具能够让你的分布式应用安全合理的处理部分失败的问题。 Zookeeper基本 是什么 是一个基于观察者模式设计的分布式服务管理框架,他负责存储和管理大家都关心的数据,然后接受管擦者的注册,一旦这些数据的状态发生了变化,Zookeeper就将负责通知已经在Zookeeper上注册的观察者做出相应的反应。 特点是什么 集群中半数以上的机器存活,Zookeeper集群就可以正常服务。 集群数据保持一致,每一个Server保存一分相同的数据副本,Client无论连接那个Server,数据都是一致的。 Zookeeper的工作机制 Zookeeper 特点 Zookeeper:

在Oracle中,RAC中的Public IP、Private IP、Virtual IP、SCAN IP、GNS VIP及HAIP的作用分别是什么?

六眼飞鱼酱① 提交于 2020-01-09 11:13:56
从Oracle 11g开始,安装RAC至少需要7个IP地址,两块网卡(一块公网网卡,一块私网网卡),其中public、vip和scan都在同一个网段,使用的是公网网卡,private在另一个网段,使用的是私网网卡。主机名不能包含下横线,如:RAC_01是不允许的。通过执行ifconfig -a检查两个节点的网络设备名称是否一致。另外,在配置了/etc/hosts文件后,在安装RAC之前,公网、私网共4个IP可以ping通,其它3个IP不能ping通才是正常的。在安装RAC时,其IP地址的规划类似于下表所示: 节点/主机名 接口名 地址类型 IP 地址 注册位置 raclhr-12cR1-N1 raclhr-12cR1-N1 Public 192.168.59.160 /etc/hosts raclhr-12cR1-N1-vip Virtual 192.168.59.162 /etc/hosts raclhr-12cR1-N1-priv Private 192.168.2.100 /etc/hosts raclhr-12cR1-N2 raclhr-12cR1-N2 Public 192.168.59.161 /etc/hosts raclhr-12cR1-N2-vip Virtual 192.168.59.163 /etc/hosts raclhr-12cR1-N2-priv

Kubernetes(k8s)完整安装教程

≡放荡痞女 提交于 2020-01-09 04:14:38
Kubernetes(k8s)完整安装教程 2019-08-27 2.3k 记录 发表评论 目录 1 安装 1.1 安装 Docker 1.2 安装 VirtualBox 1.3 安装 kubectl 1.4 安装 Minikube 2 测试 3 它们都是什么? (阿里云双11优惠价,最低 86元 /年) 本文是一篇手把手指导的Kubernetes安装和运行教程,通过本文,您可以在Windows、Linux或MacOS系统中打造一个完整的本地Kubernetes集群环境。 我们会用下面的工具来运行本地的Kubernetes集群: Docker for Mac Minikube virtualbox kubectl 1 安装 如果您的系统是Mac,请提前安装 Homebrew 包管理工具及其 Cask 扩展,Cask扩展安装方式: brew tap caskroom/cask 。 1.1 安装 Docker Docker 是容器的创建、管理和运行工具。我们会在Kubernetes的Pod中构建docker容器。 以下是各个系统安装Docker的方式: 官网安装安装 Docker for Ubuntu 官网方式安装 Docker for CentOS 官网方式安装 Docker for Debian 官网方式安装 Docker for Fedora 官网下载和安装 Docker

etcd集群部署与遇到的坑(转)

删除回忆录丶 提交于 2020-01-09 03:20:00
在k8s集群中使用了etcd作为数据中心,在实际操作中遇到了一些坑。今天记录一下,为了以后更好操作。 ETCD参数说明 —data-dir 指定节点的数据存储目录,这些数据包括节点ID,集群ID,集群初始化配置,Snapshot文件,若未指定—wal-dir,还会存储WAL文件; —wal-dir 指定节点的was文件的存储目录,若指定了该参数,wal文件会和其他数据文件分开存储。 —name 节点名称 —initial-advertise-peer-urls 告知集群其他节点url. — listen-peer-urls 监听URL,用于与其他节点通讯 — advertise-client-urls 告知客户端url, 也就是服务的url — initial-cluster-token 集群的ID — initial-cluster 集群中所有节点 节点迁移 在生产环境中,不可避免遇到机器硬件故障。当遇到硬件故障发生的时候,我们需要快速恢复节点。ETCD集群可以做到在不丢失数据的,并且不改变节点ID的情况下,迁移节点。 具体办法是: 1)停止待迁移节点上的etc进程; 2)将数据目录打包复制到新的节点; 3)更新该节点对应集群中peer url,让其指向新的节点; 4)使用相同的配置,在新的节点上启动etcd进程 etcd配置 node1 编辑etcd启动脚本 /usr

Hadoop集群动态扩容、缩容

送分小仙女□ 提交于 2020-01-09 01:11:28
一、 Hadoop 集群动态扩容、缩容 随着公司业务的增长,数据量越来越大,原有的 datanode 节点的容量已经不能满足存储数据的需求,需要在 原有集群基础上动态添加新的数据节点 。也就是俗称的 动态扩容 。 有时候旧的服务器需要进行退役更换,暂停服务,可能就需要在 当下的集群中停止某些机器上 hadoop 的服务 ,俗称 动态缩容 。 1. 动态扩容 1.1. 基础准备 在基础准备部分,主要是设置 hadoop 运行的系统环境 修改新机器系统 hostname (通过 /etc/sysconfig/network 进行修改) 修改 hosts 文件,将集群所有节点 hosts 配置进去(集群所有节点保持 hosts 文件统一) 设置 NameNode 到 DataNode 的免密码登录( ssh-copy-id 命令实现) 修改主节点 slaves 文件,添加新增节点的 ip 信息( 集群重启时配合一键启动脚本使用 ) 在新的机器上上传解压一个新的 hadoop 安装包,从主节点机器上将 hadoop 的所有配置文件, scp 到新的节点上。 1.2. 添加 datanode 在 namenode 所在的机器的 /export/servers/hadoop-2.6.0-cdh5.14.0/etc/hadoop 目录下创建 dfs.hosts 文件 cd /export

如何深入理解 EKS IAM Authenticator 的实现机制

僤鯓⒐⒋嵵緔 提交于 2020-01-09 00:02:50
一、k8s Authentication 我们知道 apiserver 有以下几种认证方式: X509 Client Certs Static Token File Bootstrap Tokens Static Password File Service Account Tokens OpenID Connect Tokens Webhook Token Authentication Authenticating Proxy 一般我们使用二进制自建 k8s 集群,或者使用 kubeadm 创建的集群,集群的管理者,也就是 k8s 中 user 这个对象,都是使用的 X509 证书进行验证,如果属于同一个 CA 签发的,就认可这个用户; 企业为了减少用户管理的复杂程度,需要想办法如何把 IAM 的用户集成到 EKS 集群中,这样我们就不需要耽误为 EKS 创建用户,减少一套用户的维护工作,那这是如何集成的呢,是通过了 k8s 的 Webhook Token Authentication ,其认证过程架构图如下: 我们可以从图中看到多了 Authentication 这一部分,通过 aws-iam-authenticator ,我们可以知道,这是运行在 EKS Control Plane 中的一组 DaemonSet Pod,用来接收 apiserver 的认证请求。 二、解剖