• 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 
  • 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,“中间件小哥”全拼),加入产品技术沟通交流群。扫码关注“中间件小哥”微信公众号,了解更多行业前沿资讯、技术分享等。
  • [技术干货] 邀测!华为云数据库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的推出,极大程度上满足了客户对新型数据库的多样化管理需求,帮助企业聚焦自身业务场景,实现新一轮发展。未来,华为云数据库还会持续构筑领先的技术资源,持续为客户提供更优的服务。
  • [交流分享] 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课程完成截图:(必须 包含课程名称、华为云账户名和完成进度条)请按照以上要求,在本课程下回帖。
  • [中间件] 【华为云鲲鹏云服务最佳实践】【数据库篇】第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无
  • [交流分享] 【鲲鹏翱翔】数据库02-Redis移植安装指南
    1.   简介 Redis 是一个开源(BSD许可)的,内存中的数据结构存储系统,它可以用作数据库、缓存和消息中间件。 本指南描述了在ARM64,CentOS7.5环境下编译安装Redis4.0.3的过程,可供相关人士参考。2.   部署环境Packet NameVersionDetailCentOSCentos 7.5 with ARMarm通用计算增强型 | rc3.xlarge.4 | 4vCPUs | 14GBRedis4.0.3none组件依赖:Packet NameVersionjemalloc4.1.0GCC7.2.03.   安装部署     yum源安装jemallocyum install   jemalloc jemalloc-devel -y    源码安装jemallocwget https://github.com/jemalloc/jemalloc/releases/tag/4.1.0/jemalloc-4.1.0.tar.bz2tar -xvjf  jemalloc-4.1.0.tar.bz2cd jemalloc-4.1.0./configure   –prefix=/usr/local/jemallocmake -j8 &&   make install    编译安装Rediswget http://download.redis.io/releases/redis-4.0.3.tar.gztar -zxvf redis-4.0.3.tar.gzcd redis-4.0.3make && make install4 示例测试    启动服务cd /usr/local/binredis-server redis-cli -h 127.0.0.1 -p 6379 
  • [中间件] ARM上源码编译Redis
    ARM上能否编译和运行Redis呢?答案是肯定的,接下来就给大家介绍下如下在ARM上通过源码编译安装Redis一、基础环境信息:OS: Euler OS 2.8CPU: ARM二、编译和安装Redis步骤如下:执行如下命令,获取Redis源码。      wget http://download.redis.io/releases/redis-4.0.9.tar.gz执行如下命令,解压包。      tar -zxvf redis-4.0.9.tar.gz执行如下命令,进入deps目录。      cd redis-4.0.9/deps执行如下命令,编译Redis依赖库。       make -j4 hiredis lua jemalloc linenoise依次执行如下命令,编译Redis。      cd ..      make -j4      make install三、配置和运行Redis执行如下命令,建立redis配置文件。       cp redis.conf /usr/local/etc/执行如下命令,配置redis为后台启动,将daemonize no 改成daemonize yes。      vim /usr/local/etc/redis.conf 设置Redis开机启动。    a.         执行如下命令,将Redis启动脚本放置/etc/init.d/目录下,并命名为redis。    cp redis-4.0.9/utils/redis_init_script /etc/init.d/redis    b.         执行如下命令,修改脚本内容。    vim /etc/init.d/redis    修改内容如下图:设置服务开启启动。       chkconfig redis on执行如下命令,启动redis-server。      service redis start      系统会显示如下类似信息,表示Redis启动完成。     Starting Redis server...     20525:C 19 Jun 20:43:25.941 # oO0OoO0OoO0Oo Redis is starting oO0OoO0OoO0Oo     20525:C 19 Jun 20:43:25.941 # Redis version=4.0.9, bits=64, commit=00000000, modified=0, pid=20525, just started     20525:C 19 Jun 20:43:25.941 # Configuration loaded四、测试Redis执行如下命令,使用redis-cli连接server,并执行k-v请求。      [root@ecs-1-0002 redis-4.0.9]# redis-cli       127.0.0.1:6379> set test arm       OK      127.0.0.1:6379> get test     "arm"      127.0.0.1:6379> del test     (integer) 1      127.0.0.1:6379> get test     (nil)五、总结可以看出,在ARM上编译和运行过程Redis并无太大差异,只需要简单几步就可以安装好。
  • [基础服务] 为什么ARM架构适合Redis
    2019年5月,华为云发布了基于ARM的鲲鹏Redis        众所周知,Redis是一种高性能、高灵活性、数据结构类型丰富的key-value内存数据库,拥有毫秒级的响应时延。因此Redis对服务器内存、网络带宽时延要求极高,即:Redis的高性能能否发挥出来取决于服务器内存、网络性能。        由于Redis在设计上就采用单线程架构,所有IO和数据处理都是在同一个线程中完成的,所以单节点的Redis最多只能使用一颗CPU核心,单节点Redis的性能基本达到10万QPS的量级后就没法再向上扩展了。        在商业生产的业务系统中,对Redis性能往往都要求达到100万QPS以上,甚至1000万以上,这种场景下需要通过Redis集群的方式来扩展Redis性能,而集群性能的瓶颈成为了Redis架构性能优化关键的的因素。1 Redis Proxy集群架构性能关键点Proxy集群架构:在这个架构中,Redis集群由负载均衡器、Redis Proxy和Redis Server这三类节点组成。在此Redis集群架构中,Proxy节点和Redis Server都可以水平扩展,通过增加节点数量就可不断提升Redis集群的整体性能。根据不同的业务诉求,集群性能可弹性扩展到100万至1000万QPS。也正是由于可通过增加节点数来提升集群整体性能,所以Redis单节点虽只用一颗CPU核心,CPU最高主频限制Redis单节点性能,但在集群水平扩展模式下cpu主频限制已经不太重要了。        在整个集群架构中,业务系统发出的Redis请求需要经过负载均衡器和Redis Proxy的两次转发后,才能到达Redis Server被真正处理,端到端的链路性能才是整个集群的最大性能瓶颈。实测结果也表明,Redis集群的端到端链路时延每减少1毫秒,集群整体性能可提升10%+。2 Redis Cluster集群架构性能关键点Cluster集群架构:    Cluster集群相比Proxy集群减少了网络跳数,性能更高、灵活性很强。该架构和Proxy集群一样,突破了Redis集群对于CPU单核性能的依赖性,而端到端的链路性能才是整个集群的最大性能瓶颈。    Redis单核操作的时间基本在20ns级别,E2E时延的小于5%,影响TPS极小,但Redis链路性能才是Redis集群的关键所在,因此Redis性能提升要不断优化链路性能(网络时延)鲲鹏Redis:https://www.huaweicloud.com/product/dcs.html
  • [技术干货] 【一句话学习笔记】RDS和Redis版有什么区别?
    RDS 是SQL 数据库包含主流的MySQL mssql 多为php/asp/.net程序所用 Redis是KV数据库,为NoSQL数据库,多用于缓存、NodeJS等程序的数据存储
  • [热门活动] 华为云分布式缓存服务Redis标准版4.0及5.0版本于2019年4月1日00:00(北京时间)转商通知
    尊敬的华为云客户:华为云计划于2019/04/01 00:00(北京时间)将分布式缓存服务Redis标准版4.0及5.0版本正式转商用。商用后,服务会按功能类型、性能规格和使用时长计费,具体价格请届时参考该服务的计费详情页。如果需要继续使用分布式缓存服务Redis标准版4.0及5.0版本,请提前确保账户余额充足,华为云在此提醒您,相关资源如果不再使用,请于2019/04/01 00:00(北京时间)前登陆控制台,删除对应资源,避免产生费用。更多关于分布式缓存服务Redis的产品介绍,请您点击了解。如您在使用过程中有宝贵意见,欢迎您拨打华为云服务热线:4000-955-988与我们联系。感谢您对华为云的支持!https://www.huaweicloud.com/notice/2018/20190326170621750.html
总条数:550 到第 页
上滑加载中