集群技术

redis集群搭建

我的未来我决定 提交于 2020-01-12 12:40:42
redis集群搭建 Redis 是一个开源的 key-value 存储系统,由于出众的性能,大部分互联网企业都用来做服务器端缓存。Redis 在3.0版本前只支持单实例模式,虽然支持主从模式、哨兵模式部署来解决单点故障,但是现在互联网企业动辄大几百G的数据,可完全是没法满足业务的需求,所以,Redis 在 3.0 版本以后就推出了集群模式。 Redis 集群采用了P2P的模式,完全去中心化。Redis 把所有的 Key 分成了 16384 个 slot,每个 Redis 实例负责其中一部分 slot 。集群中的所有信息(节点、端口、slot等),都通过节点之间定期的数据交换而更新。 Redis 客户端可以在任意一个 Redis 实例发出请求,如果所需数据不在该实例中,通过重定向命令引导客户端访问所需的实例。 安装环境 OS: centos 7.2.1511 redis : 最新版 v4.0.1 单台redis安装 下载 wget http://download.redis.io/releases/redis-4.0.10.tar.gz tar zxvf redis-4.0.10.tar.gz mv redis-4.0.10 /usr/local/redis/ 如果是离线安装,则需要从官网下载指定版本,然后上传到生产环境。这里安装的是最新版redis,指定安装路径 /usr

我们为什么会删除不了集群的 Namespace?

偶尔善良 提交于 2020-01-11 00:37:27
作者 | 声东 阿里云售后技术专家 导读 :阿里云售后技术团队的同学,每天都在处理各式各样千奇百怪的线上问题。常见的有网络连接失败、服务器宕机、性能不达标及请求响应慢等。但如果要评选的话,什么问题看起来微不足道事实上却让人绞尽脑汁,我相信肯定是“删不掉”的问题,比如文件删不掉、进程结束不掉、驱动卸载不了等。这样的问题就像冰山,隐藏在它们背后的复杂逻辑,往往超过我们的预想。 背景 今天我们讨论的这个问题,跟 K8s 集群的 Namespace 有关。Namespace 是 K8s 集群资源的“收纳”机制。我们可以把相关的资源“收纳”到同一个 Namespace 里,以避免不相关资源之间不必要的影响。 Namespace 本身也是一种资源。通过集群 API Server 入口,我们可以新建 Namespace,而对于不再使用的 Namespace,我们需要清理掉。Namespace 的 Controller 会通过 API Server,监视集群中 Namespace 的变化,然后根据变化来执行预先定义的动作。 有时候,我们会遇到下图中的问题,即 Namespace 的状态被标记成了 "Terminating",但却没有办法被完全删除。 从集群入口开始 因为删除操作是通过集群 API Server 来执行的,所以我们要分析 API Server 的行为。跟大多数集群组件类似,API

电商平台架构2

强颜欢笑 提交于 2020-01-10 20:51:43
1.电商案例原因 分布式大型网站,目前看主要有几类: 1.大型门户,比如网易,新浪等; 2.SNS网站,比如校内,开心网等; 3.电商网站:比如阿里巴巴,京东商城,国美在线,汽车之家等。大型门户一般是新闻类信息,可以使用CDN,静态化等方式优化,开心网等交互性比较多,可能会引入更多的NOSQL,分布式缓存,使用高性能的通信框架等。 电商网站具备以上两类的特点,比如产品详情可以采用CDN,静态化,交互性高的需要采用NOSQL等技术。 因此,我们采用电商网站作为案例,进行分析。 2 电商网站需求 客户需求: 建立一个全品类的电子商务网站(B2C),用户可以在线购买商品,可以在线支付,也可以货到付款; (1)用户购买时可以在线与客服沟通; (2)用户收到商品后,可以给商品打分,评价; (3)目前有成熟的进销存系统;需要与网站对接; (4)希望能够支持3~5年,业务的发展; (5)预计3~5年用户数达到1000万; (6)定期举办双11,双12,三八男人节等活动; (7)其他的功能参考京东或国美在线等网站。 客户就是客户,不会告诉你具体要什么,只会告诉你他想要什么,我们很多时候要引导,挖掘客户的需求。好在提供了明确的参考网站。因此,下一步要进行大量的分析,结合行业,以及参考网站,给客户提供方案。 需求管理传统的做法,会使用用例图或模块图(需求列表)进行需求的描述

分布式大数据系统概览(HDFS/MapReduce/Spark/Yarn/Zookeeper/Storm/SparkStreaming/Lambda/DataFlow/Flink/Giraph)

痴心易碎 提交于 2020-01-10 17:39:19
分布式大数据处理系统概览(一)   本博文主要对现如今分布式大数据处理系统进行概括整理,相关课程为华东师范大学数据科学与工程学院《大数据处理系统》,参考 大夏学堂 ,下面主要整理 HDFS/MapReduce/Spark/Yarn/Zookeeper/Storm/SparkStreaming/Lambda/DataFlow/Flink/Giraph 有关的内容。 分布式大数据处理系统大纲 分布式大数据处理系统概览(一): HDFS/MapReduce/Spark 分布式大数据处理系统概览(二): Yarn/Zookeeper 分布式大数据处理系统概览(三): Storm/SparkStreaming 分布式大数据处理系统概览(四): Lambda/DataFlow/Flink/Giraph   第一节部分主要总结分布式系统的目标、性质;简要介绍几种分布式计算的编程模型;介绍计算机进程与线程关系及远程调用方式;介绍文件系统DFS、介绍Hadoop的文件系统HDFS;介绍分布式计算批处理系统MapReduce和Spark。 0.绪论 0.1分布式系统的目标 0.2 大数据的五个特性(5V) (1)数量Volume (2)种类Variety (3)价值Value (4)真实性Veracity (5)速度Velocity 0.3 分布式计算生态圈 0.4分布式计算底层系统 (1

redis测试题

[亡魂溺海] 提交于 2020-01-10 10:06:36
1、什么是Redis? Redis本质上是一个Key-Value类型的内存数据库,很像memcached,整个数据库统统加载在内存当中进行操作,定期通过异步操作把数据库数据flush到硬盘上进行保存。因为是纯内存操作,Redis的性能非常出色,每秒可以处理超过 10万次读写操作,是已知性能最快的Key-Value DB。 Redis的出色之处不仅仅是性能,Redis最大的魅力是支持保存多种数据结构,此外单个value的最大限制是1GB,不像 memcached只能保存1MB的数据,因此Redis可以用来实现很多有用的功能,比方说用他的List来做FIFO双向链表,实现一个轻量级的高性 能消息队列服务,用他的Set可以做高性能的tag系统等等。另外Redis也可以对存入的Key-Value设置expire时间,因此也可以被当作一 个功能加强版的memcached来用。 Redis的主要缺点是数据库容量受到物理内存的限制,不能用作海量数据的高性能读写,因此Redis适合的场景主要局限在较小数据量的高性能操作和运算上。 2、Redis相比memcached有哪些优势? (1) memcached所有的值均是简单的字符串,redis作为其替代者, 支持更为丰富的数据类型 (2) redis的速度比memcached快很多 (3) redis可以持久化其数据 3、Redis支持哪几种数据类型

HBase 数据迁移方案介绍

无人久伴 提交于 2020-01-10 02:13:54
一、前言 HBase数据迁移是很常见的操作,目前业界主要的迁移方式主要分为以下几类: 图1.HBase数据迁移方案 从上面图中可看出,目前的方案主要有四类,Hadoop层有一类,HBase层有三类。下面分别介绍一下。 二、Hadoop层数据迁移 2.1 方案介绍 Hadoop层的数据迁移主要用到DistCp(Distributed Copy), 官方描述是: DistCp(分布式拷贝)是用于大规模集群内部和集群之间拷贝的工具。 它使用Map/Reduce实现文件分发,错误处理和恢复,以及报告生成。 它把文件和目录的列表作为map任务的输入,每个任务会完成源列表中部分文件的拷贝。 我们知道MR程序适合用来处理大批量数据, 其拷贝本质过程是启动一个MR作业,不过DisctCp只有map,没有reducer。在拷贝时,由于要保证文件块的有序性,转换的最小粒度是一个文件,而不像其它MR作业一样可以把文件拆分成多个块启动多个map并行处理。如果同时要拷贝多个文件,DisctCp会将文件分配给多个map,每个文件单独一个map任务。我们可以在执行同步时指定 -m 参数来设定要跑的map数量,默认设置是20。如果是集群间的数据同步,还需要考虑带宽问题,所以在跑任务时还需要设定 bandwitdh 参数,以防止一次同步过多的文件造成带宽过高影响其它业务。同时

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

在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

docker使用pxc搭建mysql集群

孤者浪人 提交于 2020-01-08 21:02:41
准备2个linux,分别安装pxc 1、安装pxc镜像 docker pull percona/percona-xtradb-cluster 修改名字(太长了) docker tag percona/percona-xtradb-cluster pxc docker rmi percona/percona-xtradb-cluster 2、创建数据卷 docker volume create v1 docker volume create backup 3、创建共享网络 开通端口 在docker上创建swarm集群 docker swarm init docker swarm join \ --token SWMTKN-1-1860zm5hgjjlxxdbqt8dmg07xcnelqw2gljmthf5iq1y7oj7f5-3a36zsq7w3s5m6dennet31dbm \ 192.168.148.130:2377 基于overlay创建共享网络 3、创建msyql容器 docker中 docker run -d -p 3306:3306 -e MYSQL_ROOT_PASSWORD=abc123456 -e CLUSTER_NAME=PXC -e XTRABACKUP_PASSWORD=abc123456 -v v1:/var/lib/mysql -v backup:

kubernetes基础——一文读懂k8s

蹲街弑〆低调 提交于 2020-01-08 17:09:14
容器 容器与虚拟机对比图(左边为容器、右边为虚拟机)   容器技术是虚拟化技术的一种,以Docker为例,Docker利用Linux的LXC(LinuX Containers)技术、CGroup(Controll Group)技术和AUFS(Advance UnionFileSystem)技术等,通过对进程和资源加以限制,进行调控,隔离出来一套供程序运行的环境。 我们把这一环境称为“容器”,把构建该“容器”的“只读模板”,称之为“镜像”。   容器是独立的、隔离的,不同容器间不能直接通信,容器与宿主机也是隔离开来的,容器不能直接感知到宿主机的存在,同时宿主机也无法直接窥探容器内部。   虽然容器与宿主机在环境上,逻辑上是隔离的,但容器与宿主机共享内核,容器直接依赖于宿主机Linux系统的内核,这与虚拟机不同,后者是在宿主机的操作系统上,虚拟化一套硬件环境,然后在此环境上运行需要的操作系统。容器技术常用来在宿主机上隔离出环境来部署应用(用容器化技术部署的应用称为 ***“容器化应用”*** ),而虚拟机常用来运行一个与宿主机不同的操作系统,从而运行特定的软件。   容器非常轻量级,无论是启动速度,资源占用情况,灵活性等均优于虚拟机。容器的特性给开发生产提供了非常大的便利: * DevOps理念,开发者可以使用同一个镜像,在开发环境、测试环境和生产环境构建相同的容器