• Centos下启动redis官方容器报错处理办法
    问题现象:在TaiShan服务器Centos7.6上启动redis官方容器:docker run -it --rm redis出现报错:<jemalloc>: Unsupported system page size<jemalloc>: Unsupported system page size————————————————————————————————————————————————原因分析:redis在新版本中默认使用了jemalloc进行内存管理。由于jemalloc 在编译时就决定了page size的大小,而这个page size 会由于kernel的配置而改变,因此jemalloc在某个机器上编译,然后运行在其它机器上时可能会出现问题。推测可能是由于官方arm镜像的编译环境的page size与当前运行环境的page size不一致导致报错。————————————————————————————————————————————————解决办法:在运行环境下,重新编译构建redis镜像,即可解决报错   1. 取得redis官方镜像的dockerfile       git clone https://github.com/docker-library/redis.git   2. 进入对应版本的dockerfile目录       cd redis       cd 5.0 #准备构建5.0版本的redis镜像       docker build -t redis:5.0 .  #构建镜像                      docker run -it --rm redis:5.0   #运行redis:5.0镜像,查看控制台输出,确认redis成功启动。         ————————————————————————————————————————————————其它:如果是内网编译,会出现Temporary failure resolving 'deb.debian.org'等错误,需要配置代理。代理配置方法,vi redis/5.0/Dockerfile,在如下位置增加代理配置(IP和端口根据实际情况修改),并在有wget的地方增加--no-check-certificate。        echo "Acquire::http::Proxy \"http://192.168.102.225:8090\";" >/etc/apt/apt.conf; \        echo "Acquire::https::Proxy \"http://192.168.102.225:8090\";" >>/etc/apt/apt.conf; \        export http_proxy=http://192.168.102.225:8090; \        export https_proxy=http://192.168.102.225:8090; \在arm64环境下,centos的pagesize是64k,ubuntu的pagesize是4k,一般来说64k下编译的镜像是可以在小于或者等于64k的环境下运行的,但如果是在4k下编译的镜像,那么是不能在pagesize大于4k的环境下运行的。这个是jemalloc造成的。如果在编译构建镜像时使用libc就不会有这种问题。在构建的Dockerfile的RUN make xxxx指令前加上ENV USE_JEMALLOC no即可使得编译redis时不使用jemalloc。当然,jemalloc在某些场景下性能要优于libc,这个在选择用何种方式编译redis时,需要考虑清楚。————————————————————————————————————————————————部分内容引自:https://blog.csdn.net/toyangdon/article/details/104941161
  • Redis-5.0.6软件移植指导书(CentOS 7.6)
    版本信息:服务器型号:TAISHAN 2280 V2操作系统版本:CentOS 7.6软件版本:组件名版本Redis5.0.6GCC7.3.0操作系统CentOS 7.6解决问题概述:Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。在CentOS 7.6系统上进行Redis 5.0.6 编译移植。 
  • Kunpeng平台redis-4.0.9安装指南
    1 redis简介Redis是一个使用ANSI C语言编写的开源key-value内存数据库系统,Redis支持字符串(String), 哈希(Hash), 列表(list), 集合(sets) 和 有序集合(sorted sets)等数据结构类型,并提供多种语言的API。2 环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64https://www.centos.org/download/服务器配置16U16GB40GB软件redis4.0.9redis-4.0.9-1.el7.aarch64.rpm3 安装准备3.1 配置yum源1、本地yum源配置(也可用local_yum_install.sh脚本配置):      详见参考信息—本地yum源配置。2、网络yum源配置       详见参考信息—网络yum源配置。    3.1.1 相关软件上传1、  上传 redis-4.0.9-1.el7.aarch64.rpm包至服务器任意目录下,如/opt/4 软件安装4.1 安装验证1、安装rpm包:  2、配置1) 执行如下命令,建立redis配置文件。cp redis.conf /usr/local/etc/2)执行如下命令,配置redis为后台启动。vi /usr/local/etc/redis.conf将daemonize no 改成daemonize yes。3)设置Redis开机启动。a.执行如下命令,将Redis启动脚本放置/etc/init.d/目录下,并命名为redis。cp redis-4.0.9/utils/redis_init_script /etc/init.d/redisb. 拷贝redis-4.0.9/src/目录下redis-server、redis-cli至/usr/local/bin目录下   c.执行如下命令,修改脚本内容。vi /etc/init.d/redisd.设置服务开启启动。chkconfig redis on3、验证1)执行如下命令,查看Redis版本。系统会显示如下类似信息,表示Redis的版本是4.0.9。2)执行如下命令,查看Redis的CLI版本。redis-cli -v系统会显示如下类似信息,表示Redis的CLI版本是4.0.9。3)执行如下命令,启动redis-server。4)执行如下命令,使用redis-cli连接server,并执行k-v请求。至此,验证完成,安装成功。5 参考信息本地yum源配置:https://www.cnblogs.com/diantong/p/10105805.html网络yum源配置:https://www.cnblogs.com/AganRun/p/12079080.htmlRPM打包流程、示例及问题集:https://bbs.huaweicloud.com/forum/thread-38327-1-1.html中间件-redis:https://www.huaweicloud.com/kunpeng/software/redis.htmlredis.spec文件内容:%define __debug_install_post \%{_rpmconfigdir}/find-debuginfo.sh %{?_find_debuginfo_opts} "%{_builddir}/%{?buildsubdir}"\%{nil}%define _prefix /usr/localName:           redisVersion:        4.0.9 Release:        1%{?dist}Summary:       Redis is an open source (BSD licensed), in-memory data structure store License:       BSD Source0:       %{name}-%{version}.tar.gz #Prefix:        /usr/local %descriptionRedis is an open source (BSD licensed), in-memory data structure store, used as a database, cache and message broker.  %prep%setup -q  %buildcd %{_builddir}/%{name}-%{version}/depsmake %{?_smp_mflags} hiredis lua jemalloc linenoisecd ..make %{?_smp_mflags}  %install#rm -rf $RPM_BUILD_ROOT%makeinstallmkdir -p $RPM_BUILD_ROOT%{_prefix}cp -r $RPM_BUILD_DIR/%{name}-%{version} $RPM_BUILD_ROOT%{_prefix}/  %files%dir %{_prefix}/%{name}-%{version}%{_prefix}/%{name}-%{version}/*%{_prefix}/%{name}-%{version}/.gitignore %changelog* Thu Jan 16 2020 guweibo <youremail@xxx.xxx> - 4.0.9-1- Update to 4.0.9
  • KUNPENG平台Redis4.0.9移植自动安装脚本
    1 Redis简介Redis是一个key-value存储系统。和Memcached类似,它支持存储的value类型相对更多,包括string(字符串)、list(链表)、set(集合)、zset(sorted set --有序集合)和hash(哈希类型)。这些数据类型都支持push/pop、add/remove及取交集并集和差集及更丰富的操作,而且这些操作都是原子性的。在此基础上,redis支持各种不同方式的排序。与memcached一样,为了保证效率,数据都是缓存在内存中。区别的是redis会周期性的把更新的数据写入磁盘或者把修改操作写入追加的记录文件,并且在此基础上实现了master-slave(主从)同步。2 环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64href="https://www.centos.org/download/" https://www.centos.org/download/服务器配置16U16GB50GB软件Redis4.0.9 https://download.redis.io/releases/redis-4.0.9.tar.gz3 软件移植3.1 环境准备:OS安装类型:CentOS-7.5-aarch64-1804。 注:操作系统安装使用最小简化版安装(如上图),其余步骤安装一般安装操作系统步骤即可。 3.1.1 相关软件下载上传:1、 上传CentOS 7.5系统ISO镜像文件至服务器2、 上传redis-4.0.9.tar.gz源码包至服务器目录下下载地址: https://download.redis.io/releases/redis-4.0.9.tar.gz  3.2 安装Redis 1、 如果当前服务器不能访问外网,请先配置本地yum源。    a. 上传以下脚本至要安装ActiveMQ的服务器上的任意目录,如/opt。    (local_yum_install.sh)    b. 执行如下命令添加执行权限:    chmod +x /opt/local_yum_install.sh    c. 执行如下命令安装配置本地yum源    sh /opt/local_yum_install.sh2、 安装Redis软件    a. 上传自动安装脚本至服务器,如/opt目录下    (redis_install.sh)    b. 执行如下命令添加执行权限:    chmod +x /opt/redis_install.sh    c. 执行如下命令安装redis4.0.9    sh /opt/redis_install.sh    d. 提示gcc install seccess!表示安装成功4 软件运行4.1 验证执行安装成功后连接redis,显示如下则表示安装成功  5 参考信息https://developer.arm.com/tools-and-software/server-and-hpc/arm-architecture-tools/resources/porting-and-tuning/building-blast-with-arm-compiler/single-page 
  • 【中间件最佳实践挑战】第3关任务:使用Redis实现排行榜功能
    欢迎参加华为云“中间件最佳实践挑战营”!这是本次挑战营的第3关,坚持闯关成功有机会获第五期好礼:码豆/荣耀手环/华为背包等,全通关还有大奖!本期活动截止5月24日。注意:参与闯关前,请确保已报名加入活动群并领取实践资源,如未入群请添加小助手(微信号:zhongjianjianxiaoge),回复“中间件”报名入群!点击这里了解活动详情>>  | 点击这里查看活动FAQ>>一、  场景介绍在网页和APP中常常需要用到榜单的功能,对某个key-value的列表进行降序显示。当操作和查询并发大的时候,使用传统数据库就会遇到性能瓶颈,造成较大的时延。使用分布式缓存服务(DCS)的Redis版本,可以实现一个商品热销排行榜的功能。它的优势在于:l  数据保存在缓存中,读写速度非常快。l  提供字符串(String)、链表(List)、集合(Set)、哈希(Hash)等多种数据结构类型的存储。 二、  实践指南(1)领取实践资源:(本期资源已发放完)填写报名问卷即可领取1元10天ECS+Redis资源(填写完后会自动跳转购买页面):https://www.wjx.top/jq/53030933.aspx   (2)最佳实践指南:https://support.huaweicloud.com/bestpractice-dcs/dcs-bp-0312001.html            注:登录ECS可以有多种方式,Windows推荐使用MSTSC方式远程链接桌面:https://support.huaweicloud.com/usermanual-ecs/zh-cn_topic_0017955381.html(3)视频操作演示:https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP021+Self-paced/courseware/226a64fb02e64396bc866a9ec44febca/b2012f9197c04587b9989be025120e79/(4)新手入门教学:《Redis 7天超速入门》《Redis全景实践课》三、  闯关任务任务一:创建DCS Redis实例,查看实例详情并截图,截图需包含右上角华为云账号名,并按回帖格式要求在本帖中回帖;奖励:100码豆(可用于兑换DevCloud会员中心实物好礼); 任务二:根据实践指南完成实践操作,将代码截图,将运行结果截图,并按回帖格式要求在本帖中回帖;奖励:本期闯1关可参与抽取“荣耀手环4 Running版”;闯2关可参与抽取“华为背包”;详见FAQ评奖规则四、  回帖格式请务必按照以下格式要求进行回帖,否则无法计算奖励:华为云账号名:XXX(即右上角的字母数字组合ID)微信昵称:XXX实践感想:XXX实践截图:至少包含(a)实例详情截图需包含右上角华为云账号、(b)代码截图、(c)运行结果截图三张截图。示例如下:附各关卡快速入口:第1关任务:基于API网关的电话号码归属地查询第2关任务:使用函数工作流服务为图片打水印第3关任务:使用Redis实现排行榜功能第4关任务:使用DMS Kafka优化消费者poll第5关任务:使用CPTS进行电商网站性能测试
  • KUNPENG平台 Codis3.2.2移植安装指导文档
     1CODIS简介Codis是一个分布式Redis解决方案,对于上层的应用来说,连接到Codis Proxy和连接原生的RedisServer没有明显的区别,有部分命令不支持。Codis底层会处理请求的转发,不停机的数据迁移等工作,所有后边的一切事情,对于前面的客户端来说是透明的,可以简单的认为后边连接的是一个内存无限大的Redis服务。Codis由四部分组成:· Codis-proxy:实现redis协议,由于本身是无状态的,因此可以部署很多个节点· Codis-config :是codis的管理工具,包括添加/删除redis节点添加删除proxy节点,发起数据迁移等操作,自带httpserver,支持管理后台方式管理配置· Codis-server :是codis维护的redis分支,基于2.8.21分支,加入了slot的支持和原子的数据迁移指令; codis-proxy和codis-config只能和这个版本的redis交互才能正常运行· Zookeeper,用于codis集群元数据的存储,维护codis集群节点2环境信息2.1 环境信息类别子项版本获取地址OSCentOS7.5 Aarch64https://www.centos.org/download/服务器配置16U16GB50GB软件CODIS3.2.2https://codeload.github.com/CodisLabs/codis/tar.gz/3.2.2软件GO1.9.2https://dl.google.com/go/go1.9.2.linux-arm64.tar.gz软件Zookeeper3.4.14http://apache.fayea.com/zookeeper/zookeeper-3.4.14/zookeeper-3.4.14.tar.gz3 软件移植3.1 环境准备:OS安装类型:CentOS-7.5-aarch64-1804。 注:操作系统安装使用最小简化版安装(如上图),其余步骤安装一般安装操作系统步骤即可。3.1.1 相关软件下载上传:1. 上传codis、go、zookeeper源码包至服务器目录下2. 上传CentOS-7.5-aarch64-Everything-1804.iso文件至服务器3.2 部署zookeeper3.2.1 安装java(三台机器)1. 配置本地yum源2. 安装java:yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel –y,修改/etc/profile,添加javahome和path,如:· vi /etc/profileexport JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.aarch64export PATH=$JAVA_HOME/bin:$PATH修改后执行:source /etc/profile3.2.2 配置hosts(三台机器)vi /etc/hosts#########zookeeper#########172.31.96.86 192.168.0.159 zk01172.31.96.204 192.168.0.211 zk02172.31.96.226 192.168.0.117 zk033.2.3 关闭防火墙(三台机器)· systemctl stop firewalld· sed -i "s#SELINUX=enforcing#SELINUX=disabled#g" /etc/selinux/config3.2.4 获取安装软件(zk01)· cd /opt (zookeeper安装包所在目录)· tar -xf zookeeper-3.4.14.tar.gz· mv zookeeper-3.4.14 zookeeper3.2.5 创建dataDir和dataLogDir(zk01)· cd /opt/zookeeper· mkdir {data,logs}3.2.6 集群环境配置文件(zk01)· cd /opt/zookeeper/conf· cp -rp zoo_sample.cfg zoo.cfg· vi zoo.cfgtickTime=2000# tickTime : 服务器与客户端之间交互的基本时间单元(ms)initLimit=10# initLimit : 此配置表示允许follower连接并同步到leader的初始化时间,它以tickTime的倍数来表示。当超过设置倍数的tickTime时间,则连接失败。syncLimit=5# syncLimit : Leader服务器与follower服务器之间信息同步允许的最大时间间隔,如果超过次间隔,默认follower服务器与leader服务器之间断开链接。dataDir=/usr/local/zookeeper/data# dataDir : 保存zookeeper数据路径dataLogDir=/usr/local/zookeeper/logs# dataLogDir : 保存zookeeper日志路径,当此配置不存在时默认路径与dataDir一致,事务日志,会产生version2目录clientPort=2181# clientPort : 客户端访问zookeeper时经过服务器端时的端口号maxClientCnxns=60# maxClientCnxns : 限制连接到zookeeper服务器客户端的数量。server.1=zk01:2888:3888server.2=zk02:2888:3888server.3=zk03:2888:3888# server.id=host:port:port : 表示了不同的zookeeper服务器的自身标识,作为集群的一部分,每一台服务器应该知道其他服务器的信息。用户可以从“server.id=host:port:port” 中读取到相关信息。在服务器的data(dataDir参数所指定的目录)下创建一个文件名为myid的文件,这个文件的内容只有一行,指定的是自身的id值。比如,服务器“1”应该在myid文件中写入“1”。这个id必须在集群环境中服务器标识中是唯一的,且大小在1~255之间。这一样配置中,zoo1代表第一台服务器的IP地址。第一个端口号(port)是从follower连接到leader机器的端口,第二个端口是用来进行leader选举时所用的端口。所以,在集群配置过程中有三个非常重要的端口:clientPort:2181、port:2888、port:3888。3.2.7 分发zookeeper到其他节点· scp –r /opt/zookeeper root@zk02:/opt· scp –r /opt/zookeeper root@zk03:/opt3.2.8 配置id到文件· ssh zk01 "echo '1' > /opt/zookeeper/data/myid"· ssh zk02 "echo '2' > /opt/zookeeper/data/myid"· ssh zk03 "echo '3' > /opt/zookeeper/data/myid"注意:此步骤极为重要,请务必保证myid中配置的值与zoo.cfg中server.id中的id对应。3.2.9 启动zookeeper(三台机器)启动zookeeper/opt/zookeeper/bin/zkServer.sh start检查是否正常启动Jps 出现QuorumPeerMain则证明java进程成功启动。/opt/zookeeper/bin/zkServer.sh status 出现此问题是由于我们部署的zookeeper为3个节点,只有当半数以上启动的时候,zookeeper才能正常运行,继续启动另外两台上的zookeeper,启动后,稍等片刻,再次查看:Zookeeper节点全部启动后,仍提示Error contacting,则需要查看zookeeper.out文件,针对具体问题进行具体解决。 3.3 安装go(三台机器)3.3.1 上传文件并解压· cd /usr/local/· tar -xf /opt/go1.9.2.linux-arm64.tar.gz3.3.2 配置环境变量vi /etc/profile,添加:export GOROOT=/usr/local/goexport GOPATH=/usr/local/go/goworkexport PATH=$PATH:$GOROOT/bin:$GOPATH/bin执行:source /etc/profile3.3.3 查看版本go version 3.4 安装codis3.4.1 编译codis(三台机器)创建$GOPATH/src/github.com/CodisLabs目录:· mkdir -p $GOPATH/src/github.com/CodisLabs· cd $GOPATH/src/github.com/CodisLabs解压codis文件:· tar -xf /opt/codis-3.2.2.tar.gz编译codis:· mv codis-3.2.2/ codis· cd codis/· make3.4.2 提取有用程序(三台机器)· cd $GOPATH/src/github.com/CodisLabs/codis· mkdir /usr/local/codis· cp -rp bin admin config /usr/local/codis/3.4.3 部署codis-dashboard(zk01)1.修改配置文件· vi /usr/local/codis/config/dashboard.toml#coordinator_name = "filesystem"#coordinator_addr = "/tmp/codis"coordinator_name = "zookeeper"coordinator_addr = "zk01:2181,zk02:2181,zk03:2181"2.启动dashboard· cd /usr/local/codis· ./admin/codis-dashboard-admin.sh start· ss -tpnl |grep  18080# 可以查看log确认状态 /usr/local/codis/log/codis-dashboard.log.3.dashboard地址admin_addr = "0.0.0.0:18080"3.4.4 部署codis-fe管理后台(zk01)1.修改启动文件· vi /usr/local/codis/admin/codis-fe-admin.sh#COORDINATOR_NAME="filesystem"#COORDINATOR_ADDR="/tmp/codis"COORDINATOR_NAME="zookeeper"COORDINATOR_ADDR=" zk01:2181,zk02:2181,zk03:2181"2.启动fe· cd /usr/local/codis· ./admin/codis-fe-admin.sh start· ss -tpnl|grep 9090# 可以查看log确认状态 /usr/local/codis/log/codis-fe.log.3.后台管理地址CODIS_FE_ADDR="0.0.0.0:9090"3.4.5 部署codis-server加入集群(三台机器)部署3个节点的server zk01/zk02/zk031.配置bindvi /usr/local/codis/config/redis.conf将 bind 127.0.0.1 改为 bind 本地ip注意:此步骤必须使用本地ip,若使用127.0.0.1将导致codis-server无法添加   到集群,若使用浮动ip则无法正常启动codis-server2.所有server机器启动codis-server/usr/local/codis/admin/codis-server-admin.sh start3.fe管理后台添加1个group,group分配3个机器输入:group_id为1,点击new group: 输入:Codis Server Address 为zk01:6379 Gourp 为 1,点击Add Server。 重复上述添加步骤,完成后结果如下: 3.4.6 部署codis-proxy代理服务(三台机器)部署3个节点的server zk01/02/031.修改配置文件proxy.toml,zookeeper地址vi /usr/local/codis/config/proxy.toml#jodis_name = ""#jodis_addr = ""jodis_name = "zookeeper"jodis_addr = " zk01:2181,zk02:2181,zk03:2181"2.修改启动文件并启动,指向dashboard IP:PORTvi /usr/local/codis/admin/codis-proxy-admin.sh#CODIS_DASHBOARD_ADDR="127.0.0.1:18080"CODIS_DASHBOARD_ADDR="zk01:18080"/usr/local/codis/admin/codis-proxy-admin.sh  startss -tpnl |grep 190003.proxy启动默认会自动注册到dashboard中,也可以在fe中手动添加   4 参考信息 5 FAQ5.1 java.net.BindException: 无法指定被请求的地址 (Bind failed) 原因:出现此问题是由于进程无法指定被请求的地址。解决:修改每个zoo.cfg文件中对应的server.x=0.0.0.0:2888:3888,如: 修改后重启zookeeper,则报错消失。5.2 java.net.ConnectException: 拒绝连接 (Connection refused) 原因:对应节点的zookeeper未启动解决:启动对应节点的zookeeper,zookeeper的启动需要时间,稍等片刻,此报错消失。5.3 "Cause": "dial tcp 172.31.96.86:6379: getsockopt: connection refused" 现象:在fe管理界面添加codis-server节点时出现如上报错。在zk01服务器上查看codis-server进程,结果如下 解决:修改redis.conf文件,将 bind 127.0.0.1 改为 bind 本地ip。此步骤必须使用本地ip,若使用127.0.0.1将导致codis-server无法添加到集群,若使用浮动ip则无法正常启动codis-server。
  • [技术干货] 【大咖直播】华为云分布式缓存服务 Redis 系列直播,持续更新中
    DCS技术交流直播华为云分布式缓存服务Redis(DCS)的产品专家会经常以直播的形式与大家交流技术和分享心得,欢迎观看!序号直播日期直播主题直播/回放链接12018/5/24Redis缓存服务的关键技术和实践https://huaweicloud.bizconf.cn/watch/1965629 22018/9/19华为云新一代缓存Redis技术解读https://huaweicloud.bizconf.cn/watch/2385495 32018/12/17Redis5.0抢先发布!https://huaweicloud.bizconf.cn/watch/2656118 42018/12/27华为云Redis5.0解读-Stream尝鲜https://huaweicloud.bizconf.cn/watch/2703208 52019/1/11Redis 5.0之Stream案例应用解读https://huaweicloud.bizconf.cn/watch/2741475 62019/6/27华为云鲲鹏Redis技术解读交流会https://huaweicloud.bugu.mudu.tv/watch/5lm69lm2 敬请期待DCS产品技术交流群扫码添加华为云智能应用平台小助手微信(微信号zhongjianjianxiaoge,“中间件小哥”全拼),加入产品技术沟通交流群。扫码关注“中间件小哥”微信公众号,了解更多行业前沿资讯、技术分享等。
  • 【温馨提示】删除不用的Redis缓存实例,避免持续扣费
    删除缓存实例如果你在实践活动中自行购买了Redis实例,后续不再继续使用,请注意删除资源,避免产生后续费用:(1)        登录DCS控制台,如您购买的资源在上海二,则将区域切换至上海二,其他区域同理;(2)        进入缓存管理,找到当前已创建的Redis缓存实例→更多→删除,即可删除资源。继续使用实例如果需要继续使用可以做如下操作:(1)        按需计费的实例,如果你想继续使用,可以选择“转包周期”,以便您长期使用;(2)        包周期的实例(例如本次活动的1元包7天实例),如果你想继续使用,可以在资源到期前选择“续费”,避免到期自动释放,数据被清空。 
  • [技术干货] 邀测!华为云数据库GeminiDB新增Redis和InfluxDB两大接口
    随着云端数据库的蓬勃发展,市面上涌现出越来越多的数据库,如何满足日益增长的客户需求,是每个云厂商必须考虑的问题。华为云数据库聚焦企业,致力于打造企业级数据库,为企业客户提供稳定可靠、安全可信、可持续创新的云服务,华为云数据库GeminiDB在此情境下应运而生。华为云数据库GeminiDB华为云数据库GeminiDB是一款基于华为新一代DFV计算存储分离架构打造的Active-Active全分布式架构多模NoSQL数据库服务,相比社区版具有分钟级计算扩容、秒级存储扩容、数据强一致、超低时延、高速备份恢复性能的优势。目前已兼容Cassandra、MongoDB两款NoSQL接口,日前新增Redis和InfluxDB两个兼容接口,正在火热邀测中。GeminiDB for RedisRedis是一个键值型内存数据库,提供了丰富的数据模型,广受业界欢迎。但是,社区版Redis也存在一些饱受开发者诟病的问题,如数据全内存存储成本过高,无法满足海量存储需求; 进程重启时服务恢复慢,耗时长,影响可用性;热备可靠性不足,业界现有集群方案弹性不够,扩容操作复杂、耗时长等。针对这些痛点,华为云数据库打造了GeminiDB for Redis,这是一款基于华为黑科技DFV Pool打造的数据库产品,是业界首款基于共享存储架构的Redis产品,面向海量数据实时持久化存储场景,与业界现有Redis方案相比,具有五大核心优势。极具竞争力的五大优势高兼容度 兼容社区版所有数据结构的全部命令,优于社区版Redis Cluster对单机版Redis的兼容度。高性价比 GeminiDB for Redis存储容量不受内存限制,海量数据存储无压力,同时拥有优异的性能。根据不同使用场景,使用同等内存规格的资源,可提供数倍于社区版的性价比。高可靠性 底层存储使用多副本强一致高可用协议,上层数据实时下沉到存储池,数据安全可靠。高可用性 计算节点无状态,故障节点数据被自动接管,无需主备倒换,无需数据迁移,数据强一致。高伸缩性 秒级弹性扩容,增删节点、分裂节点均无需搬迁数据。应用场景GeminiDB for Redis可广泛适用于游戏、电商、社交等场景,绝大多数场景下可替换Redis使用,例如:游戏场景中的角色信息、经验道具信息、好友排名电商场景中的海量商品展示信息、购物评论信息社交场景中的好友信息、关系链信息、评论列表等等对于数据存储量巨大,有极大的成本压力,并且对性能、可靠性、伸缩性均有高要求的场景,GeminiDB for Redis是极佳选择。GeminiDB for InfluxDBInfluxDB是一个时间序列数据库,用于处理海量写入与查询,具有完善的功能和优异的性能,在业界被誉为时序数据库一哥。华为云数据库团队在InfluxDB基础上精心自研出GeminiDB for InfluxDB,用于存储大规模的时序数据并进行实时分析,具有以下明显优势:与开源相比,GeminiDB for InfluxDB基于计算存储分离架构,可完全解绑存储与计算资源,用户可按需申请。在内存资源消耗方面,华为云数据库利用动态GC解决内存消耗问题。GeminiDB for InfluxDB采用分布式集群设计,在开源单机基础上拓展分布式能力,副本卸载到存储,计算层无需关注复杂的一致性协议,可专注于计算。应用场景云边一体的端到端时序解决方案,助力工业物联网时序数据轻松上云在工业物联网领域,需要采集时序数据的设备(传感器)一般分布在各个工厂。客户机房稳定性不受控制,可能会出现掉电、网络异常、磁盘损坏等问题,导致数据丢失。GeminiDB for InfluxDB在分布式云端服务的基础上,拓展边缘时序数据库应用,通过云边协同方式同步数据,在客户机房部署边缘时序数据库应用,客户数据写入边缘,边缘上传数据到云端,边缘节点异常情况可从云端恢复数据,确保数据无遗漏。运维监控GeminiDB for InfluxDB亿级时间线支持,完美解决大量运维监控数据采集、分析问题。加速行业落地,华为云数据库不止步。GeminiDB for Redis和GeminiDB for InfluxDB的推出,极大程度上满足了客户对新型数据库的多样化管理需求,帮助企业聚焦自身业务场景,实现新一轮发展。未来,华为云数据库还会持续构筑领先的技术资源,持续为客户提供更优的服务。
  • 【FAQ】Redis全景实践课程FAQ文档--群内提问前请查询此文档
    Hello!欢迎参加Redis全景实践课!这是一篇帮助帖,我们会将每节课的常见问题和难点疑点记录在帖子中。为减少群内打扰,节省大家的时间,请遇到问题后先查阅本帖内容,如没有对应解答,再在用户群中提问哦! 【常用链接】(1)1元资源购买链接(限500份,截止11月17日提交问卷者):https://account.huaweicloud.com/usercenter/#/buyservice/grainCloud?promotionId=P1909100219484431NX6YRS1SI1ERK&promotionPlanId=PPP19103007165709105PVT8M1BW6TS4&solutionCode=promotion.activity.cn-east-2.20190618-94622-896(2)每日课程更新链接: https://education.huaweicloud.com:8443/courses/course-v1:HuaweiX+CBUCNXP018+Self-paced/about 备注:11月18日-22日每日上午10点发布当天课程内容,课程视频请在上方链接中观看,课程PDF文档可在本帖附件中下载 (3)打卡链接:https://w.url.cn/s/AWda6xl备注:打卡时间为每日10:00-24:00,打卡内容需包含【华为云账号名】+【微信昵称】+【截图或其他作业要求】(4)如何删除不用的Redis缓存实例:https://bbs.huaweicloud.com/forum/thread-29587-1-1.html备注:如果你在活动中自行购买了Redis缓存实例,请注意在实践结束后,将资源删除,避免持续扣费。(5)打卡积分已公布,请查看附件
  • 【限时免费】华为云专家团带你5节课玩转Redis!赢全景相机、书籍好礼!
     《华为云Redis全景实践课》开始招募啦!怎样才能玩转当下热门的Redis?华为云专家组团为你讲解!5位华为云专家倾囊相授,搭配每日实践操作5节课带你从入门到实战轻松玩转Redis!扫码添加小助手微信,回复“Redis”即可免费报名!本期课程结合华为云分布式缓存服务Redis,从入门到实战,全场景学习Redis。5节实战精品课,囊括分布式缓存Redis基础入门及特性、proxy集群、大key热key在线分析、读写分离、在线迁移等,让你系统性掌握Redis。 参与打卡任务,还有机会获得华为生态智能插座、Redis书籍、华为全景相机等超值奖品,知识+好礼双丰收! 活动过程如遇大量用户参与,会导致暂时无法添加助手微信号,大家可以稍等一段时间后再试。活动中有任何疑问,请添加智能应用平台小助手(微信:zhongjianjianxiaoge)咨询另外,对本次活动有任何想法和建议,欢迎在评论区回帖哦~ 
  • [交流分享] CentOS7下安装Redis3
    #化鲲为鹏,我有话说#下载安装包wget http://download.redis.io/releases/redis-3.2.8.tar.gztar zxvf redis-3.2.8.tar.gzcd redis-3.2.8安装makemake install设置开机自启动./utils/install_server.sh###Port           : 6379Config file    : /etc/redis/redis.confLog file       : /var/log/redis.logData dir       : /var/lib/redis/6379Executable     : /usr/local/bin/redis-serverCli Executable : /usr/local/bin/redis-cli###chkconfig --list启动redis-server &redis-server /etc/redis/redis.conf #指定配置文件启动停止redis-cli shutdown
  • [热门活动] 华为云精编实战课程——7天Redis超速入门课程进度回复帖
    (请严格按照回复示例进行回复,如回复格式不对,将不予奖励,谢谢)回复示例:华为云账户名:XXXX课程完成截图:(必须 包含课程名称、华为云账户名和完成进度条)请按照以上要求,在本课程下回帖。
  • [技术干货] 中间件(BCS/DMS/RDS/redis等服务)FAQ汇总
    服务问题回答BCS华为云区块链服务都支持哪些加密算法?目前支持:ECDSA、国密、同态三种加密算法。BCSPBFT共识策略是什么策略?PBFT是基于业界拜占庭算法的共识策略,能够有效的防止恶意节点,提供较高的安全机制,是华为云自研的策略。BCS对性能有较高要求账本数据使用哪种存储方式较好?三种存储方式的性能:goleveldb>couchdb>mysqlBCSSDK方式使用不方便,业务开发有较大的工作量,是否提供其他的调用方式?区块链提供了RESTFULAPI调用方式,该方式直接调用接口即可完成数据上链及查询。BCS为什么按照官网提供的demo方式开发的app在交易性能较差?官网demo仅仅提供了一个调用的示例,性能方面需要根据业务诉求适当的使用并发及连接池的方式来增强性能。BCS为什么在使用国密SDK编译app时总是报库文件不匹配?国密加密方式使用了定制的库文件,编译时请从华为官网获取相关的库文件。BCS为什么使用当前golang版本无法编译go的sdk?golang的版本需要与go   sdk的版本对应,如go sdk的版本是1.8.5则golang也需要1.8.5版本。BCS为什么部署区块链服务的每一个节点都需要绑定弹性ip?因为客户app需要与每一个order共识节点,baa-agent节点及账本peer节点交互,通常app与区块链的服务不在一个子网里,所以只能通过弹性公网ip的方式访问。BCS为什么首次交易的时候响应总是很慢?首次交易时底层需要去拉起链码的容器,这个过程会消耗一些时间,拉起后交易速度变快。BCS联盟各方分布在华为云的各region中,能否构建联盟链?区块链支持夸region及跨网络组建联盟链。BCS对数据较敏感,是否支持在私有机房内部署区块链服务?华为云的边缘计算模式支持纳管线下的节点,并且将区块链服务部署的客户机房内,完美的保障客户数据的安全性。BCS华为云区块链底层现在对应社区的哪个版本?目前是社区的1.1版本,后续我们也会同步支持社区的新版本比如1.4。DMSRabbitMQ是基于开源的RabbitMQ的吗,有哪些改变?基于开源实现,版本3.7.0,原生应用。华为产品进行了性能、可靠性、安全、监控等方面进行了优化,支持原生接口。DMSRabbitMQ单节点非集群部署时是否是单副本?Rabbitmq通过镜像队列实现副本,需要在集群模式下使用。DMSRabbitMQ   如何连接和生产指定的MQ?集群模式。通过前端LVS转发,无法生产消费指定某个节点,有别于Kafka。DMSCES对RabbitMQ进行监控是怎么实现的?通过辅助脚本,调用manage   API获取监控数据。DMSRabbitMQ实例是怎么实现的,是通过容器技术创建的吗?RabbitMQ所在的虚拟机用户端是不可见的吗?不是容器实现,资源租户创建虚拟机部署。DMSRabbitMQ如何生产自定义的消息?Rabbitmq对消息格式不要求,完全用户自定义。DMSRabbitMQ可不可以结合OBS等产品使用,使OBS具有消息通知机制?rabbitmq   还不具备OBS周围服务的对接。DMS如果OBS桶里或文件夹里有数据变化,怎么把消息发到消息队列里,ECS或Bladed软件如何获取到这个消息并且把这些数据取过来,华为云平台本身是否提供配置方式,是不是必须要代码来实现?消息的生产以及消费,需要外部代码实现,rabbitmq只作为消息的管道。DMSRabbitMQ如果队列里有消息可不可以触发Function   Graph执行特定任务?function   Graph 任务需要消费消息,客户端触发。RDSmysql高可用是指什么?高可用指的是主备实例,并且分布在不同的可用区。RDSRDS如何设置外部访问,可以做访问限制吗?在RDS实例里面支持弹性公网IP功能;可以做访问限制,设置白名单。RDSRDS实例可以更换VPC吗?可以更换,在RDS实例基本信息中存在连接信息,虚拟私有云和子网都可以更换。RDS数据迁移前后的数据大小为何不一致?DRS全量迁移阶段,为了加快导入速度会执行并行导入,并行导入过程中会产生数据碎片(间隙),也就说数据排列较为松散。所以导入完成后,目标端表size比源端大。这是个空间换时间的过程。可通过执行碎片整理解决(操作命令:OPTIMIZE   TABLE TABLE_NAME;)注意这个操作是重新组织表的过程,比较耗时,并且会锁表,对cpu和io的消耗也较大,如果客户对磁盘空间比较在意,可以在DRS迁移任务结束后执行命令。Redisredis3.0和4.0的集群模式有什么区别?redis3.0的集群是codis集群,4.0的是社区原生的cluster集群;3.0集群最小规格64G起步。Redis分布式内存的方案,redis集群版本在本地节点上是否可以实现? 可以本地使用的,但是使用容器可以获得更容易的一键部署能力。Redis如何从自建的redis迁移到华为云DCS?目前华为云提供四种迁移方式:      1)DRS,将自建的redis数据备份上传到OBS中,然后在DRS服务中创建备份迁移管理任务,选择数据和要迁移的redis实例,进行迁移。注意点:DRS只支持redis3.0版本迁移。https://support.huaweicloud.com/migration-dcs/dcs-zh-migration-190314001.html    2)CDM,可实现整库或分表分库迁移,需要两端redis能提供对外访问能力。    3)Redis-port,参考华为云dcs帮助中心指导操作   https://support.huaweicloud.com/migration-dcs/dcs-zh-migration-180522010.htmlRedisredis如何修改白名单?华为的redis不支持配置白名单,通常是在安全组中配置,但目前redis4.0还不支持安全组(预计8月初上线安全组功能),只有redis3.0支持。Redis单机redis实例下面只能有16个DB么?能否通过修改配置增加DB的数量?支持提工单修改,暂时没有开通客户界面修改,在生效需要重启服务,业务会在重启时中断
  • [中间件] 【华为云鲲鹏云服务最佳实践】【数据库篇】第004期 Redis 4.0.9 安装配置指南
    1、简介     Redis是用C语言开发的一个开源的高性能键值对(key-value)数据库。它通过提供多种键值数据类型来适应不同场景下的存储需求,目前为止redis支持的键值数据类型如下:字符串、列表(lists)、集合(sets)、有序集合(sorts sets)、哈希表(hashs)。     官方链接:https://redis.io/     类别:数据库2、基础环境类别子项版本获取地址(方法)华为云虚拟机RC3(916)--OSCentOS7.5 Kernel4.14 软件包Redis4.0.9 3、依赖安装无4、组件编译安装下载Redis源码并解压$ mkdir /xxxx/rediscd /xxxx/rediswget http://download.redis.io/releases/redis-4.0.9.tar.gztar -zxvf redis-4.0.9.tar.gz安装到指定目录cd redis-4.0.9make PREFIX=/xxxx/redis install5、系统配置拷贝配置文件到/xxxx/redis/bin下cp redis.conf /xxxx/redis/bin修改配置文件,如下图所示cp redis.conf /xxxx/redis/binvim redis.conf1)配置监听ip2)配置保护模式3)配置后台运行4)配置密码6、测试测试内容:Redis服务是否正常启动测试步骤:后端模式启动:修改redis.conf配置文件,daemonize yes 以后端模式启动测试结果:测试内容:连接Redisbin/redis-cli测试结果:测试内容:关闭Redisbin/redis-cli shutdown测试结果:测试内容:强行终止Redispkill redis-server测试结果:7、参考信息官方文档:https://redis.io/documentation8、FAQ无