redis 学习


课程大纲

1、在虚拟机中安装CentOS

2、在每个CentOS中都安装Java和Perl

3、在4个虚拟机中安装CentOS集群

4、配置4台CentOS为ssh免密码互相通信

从零开始,纯手工,一步一步搭建出一个4个节点的CentOS集群

为我们后面的课程做准备,后面会讲解大型的分布式的redis集群架构,一步一步纯手工搭建redis集群,集群部署,主从架构,分布式集群架构

我们后面的课程,会讲解一些实时计算技术的应用,包括storm,讲解一下storm的基础知识,对于java工程师来说,会用就可以了,用一些storm最基本的分布式实时计算的feature就ok了,搭建一个storm的集群

部署我们整套的系统,nginx,tomcat+java web应用,mysql

尽量以真实的网络拓扑的环境,去给大家演示一下整套系统的部署,不要所有东西,redis集群+storm集群+nginx+tomcat+mysql,全部放在一个节点上玩儿,也可以去试一试,但是作为课程来说,效果不是太理想

redis集群,独立的一套机器

storm集群,独立的一套机器

nginx,独立部署

tomcat + java web应用,独立部署

mysql,独立部署

十几个机器,去部署整套系统,我在自己的笔记本电脑上来讲课的,这么玩儿撑不住的

i5,12G

4台虚拟机,每台虚拟机是1G的内存,电脑基本还能撑住

电脑本身就6个G内存的话,学习这种大型的系统架构的课程,是有点吃力,给大家建议,几个G的内存条,也就几百块钱,给自己最好加个内存条,至少到8G以上

16G凑合

纯手工,从零开始

很多视频课程,里面讲师都是现成的虚拟机,自己都装好了,包括各种必要的软件

讲课的时候直接基于自己的虚拟机就开始讲解了

很多同学就会发现,想要做到跟讲师一样的环境都很难,自己可能照着样子装了个环境,但是发现,各种问题,各种报错,环境起不来

学习课程的过程很艰难

学视频课程,肯定是要跟着视频的所有的东西自己去做一做,练一练,结果你却因为环境问题,做不了,连不了,那就太惨了

从centos的镜像文件,到所有的需要使用的软件,全都给你,在自己电脑上,下载一个虚拟机管理软件,virtual box,就可以跟着玩儿了

如果你一步一步跟着视频做,搭建起整个环境,应该问题不大

环境问题,给大家弄成傻瓜式的

------------------------------------------------------------------------------------------

1、在虚拟机中安装CentOS

启动一个virtual box虚拟机管理软件(vmware,我早些年,发现不太稳定,主要是当时搭建一个hadoop大数据的集群,发现每次休眠以后再重启,集群就挂掉了)

virtual box,发现很稳定,集群从来不会随便乱挂,所以就一直用virtual box了

(1)使用课程提供的CentOS 6.5镜像即可,CentOS-6.5-i386-minimal.iso。

(2)创建虚拟机:打开Virtual Box,点击“新建”按钮,点击“下一步”,输入虚拟机名称为eshop-cache01,选择操作系统为Linux,选择版本为Red Hat,分配1024MB内存,后面的选项全部用默认,在Virtual Disk File location and size中,一定要自己选择一个目录来存放虚拟机文件,最后点击“create”按钮,开始创建虚拟机。

(3)设置虚拟机网卡:选择创建好的虚拟机,点击“设置”按钮,在网络一栏中,连接方式中,选择“Bridged Adapter”。

(4)安装虚拟机中的CentOS 6.5操作系统:选择创建好的虚拟机,点击“开始”按钮,选择安装介质(即本地的CentOS 6.5镜像文件),选择第一项开始安装-Skip-欢迎界面Next-选择默认语言-Baisc Storage Devices-Yes, discard any data-主机名:spark2upgrade01-选择时区-设置初始密码为hadoop-Replace Existing Linux System-Write changes to disk-CentOS 6.5自己开始安装。

(5)安装完以后,CentOS会提醒你要重启一下,就是reboot,你就reboot就可以了。

(6)配置网络

vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

BOOTPROTO=dhcp

service network restart

ifconfig

BOOTPROTO=static

IPADDR=192.168.0.X

NETMASK=255.255.255.0

GATEWAY=192.168.0.1

service network restart

(7)配置hosts

vi /etc/hosts

配置本机的hostname到ip地址的映射

(8)配置SecureCRT

此时就可以使用SecureCRT从本机连接到虚拟机进行操作了

一般来说,虚拟机管理软件,virtual box,可以用来创建和管理虚拟机,但是一般不会直接在virtualbox里面去操作,因为比较麻烦,没有办法复制粘贴

比如后面我们要安装很多其他的一些东西,perl,java,redis,storm,复制一些命令直接去执行

SecureCRT,在windows宿主机中,去连接virtual box中的虚拟机

收费的,我这里有完美破解版,跟着课程一起给大家,破解

(9)关闭防火墙

service iptables stop

service ip6tables stop

chkconfig iptables off

chkconfig ip6tables off

vi /etc/selinux/config

SELINUX=disabled

关闭windows的防火墙

后面要搭建集群,有的大数据技术的集群之间,在本地你给了防火墙的话,可能会没有办法互相连接,会导致搭建失败

(10)配置yum

yum clean all

yum makecache

yum install wget

------------------------------------------------------------------------------------------

2、在每个CentOS中都安装Java和Perl

WinSCP,就是在windows宿主机和linux虚拟机之间互相传递文件的一个工具

(1)安装JDK

1、将jdk-7u60-linux-i586.rpm通过WinSCP上传到虚拟机中

2、安装JDK:rpm -ivh jdk-7u65-linux-i586.rpm

3、配置jdk相关的环境变量

vi .bashrc

export JAVA_HOME=/usr/java/latest

export PATH=$PATH:$JAVA_HOME/bin

source .bashrc

4、测试jdk安装是否成功:java -version

(2)安装Perl

很多讲师,拿着自己之前花了很多时间调试好的虚拟机环境,去讲课,这个很不负责任

yum install -y gcc

wget http://www.cpan.org/src/5.0/perl-5.16.1.tar.gz

tar -xzf perl-5.16.1.tar.gz

cd perl-5.16.1

./Configure -des -Dprefix=/usr/local/perl

make && make test && make install

perl -v

为什么要装perl?我们整个大型电商网站的详情页系统,复杂。java+nginx+lua,需要perl。

perl,是一个基础的编程语言的安装,tomcat,跑java web应用

------------------------------------------------------------------------------------------

3、在4个虚拟机中安装CentOS集群

(1)按照上述步骤,再安装三台一模一样环境的linux机器

(2)另外三台机器的hostname分别设置为eshop-cache02,eshop-cache03,eshop-cache04

(3)安装好之后,在每台机器的hosts文件里面,配置好所有的机器的ip地址到hostname的映射关系

比如说,在eshop-cache01的hosts里面

192.168.31.187 eshop-cache01

192.168.31.xxx eshop-cache02

192.168.31.xxx eshop-cache03

192.168.31.xxx eshop-cache04

------------------------------------------------------------------------------------------

4、配置4台CentOS为ssh免密码互相通信

(1)首先在三台机器上配置对本机的ssh免密码登录

ssh-keygen -t rsa

生成本机的公钥,过程中不断敲回车即可,ssh-keygen命令默认会将公钥放在/root/.ssh目录下

cd /root/.ssh

cp id_rsa.pub authorized_keys

将公钥复制为authorized_keys文件,此时使用ssh连接本机就不需要输入密码了

(2)接着配置三台机器互相之间的ssh免密码登录

使用ssh-copy-id -i hostname命令将本机的公钥拷贝到指定机器的authorized_keys文件中

java,在公司里做项目,有几个人是自己去维护linux集群的啊?????

几乎没有,很少很少,类似这一讲要做的事情,其实都是SRE,运维的同学,去做的

但是对于课程来说,我们只能自己一步一步做,才有环境去学习啊!!!

------------------------------------------------------------------------------------------

基于虚拟机的linux集群环境,都准备好了,手上有4台机器,后面玩儿各种redis、kafka、storm、tomcat、nginx,都有机器了



课程大纲

1、安装单机版redis

2、redis的生产环境启动方案

3、redis cli的使用

------------------------------------------------------------------------

1、安装单机版redis

大家可以自己去官网下载,当然也可以用课程提供的压缩包

wget http://downloads.sourceforge.net/tcl/tcl8.6.1-src.tar.gz

tar -xzvf tcl8.6.1-src.tar.gz

cd  /usr/local/tcl8.6.1/unix/

./configure 

make && make install

使用redis-3.2.8.tar.gz(截止2017年4月的最新稳定版)

tar -zxvf redis-3.2.8.tar.gz

cd redis-3.2.8

make && make test && make install

------------------------------------------------------------------------

2、redis的生产环境启动方案

如果一般的学习课程,你就随便用redis-server启动一下redis,做一些实验,这样的话,没什么意义

要把redis作为一个系统的daemon进程去运行的,每次系统启动,redis进程一起启动

(1)redis utils目录下,有个redis_init_script脚本

(2)将redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_6379,6379是我们希望这个redis实例监听的端口号

(3)修改redis_6379脚本的第6行的REDISPORT,设置为相同的端口号(默认就是6379)

(4)创建两个目录:/etc/redis(存放redis的配置文件),/var/redis/6379(存放redis的持久化文件)

(5)修改redis配置文件(默认在根目录下,redis.conf),拷贝到/etc/redis目录中,修改名称为6379.conf

(6)修改redis.conf中的部分配置为生产环境

daemonize yes 让redis以daemon进程运行

pidfile /var/run/redis_6379.pid 设置redis的pid文件位置

port 6379 设置redis的监听端口号

dir /var/redis/6379 设置持久化文件的存储位置

(7)启动redis,执行cd /etc/init.d, chmod 777 redis_6379,./redis_6379 start

(8)确认redis进程是否启动,ps -ef | grep redis

(9)让redis跟随系统启动自动启动

在redis_6379脚本中,最上面,加入两行注释

# chkconfig:  2345 90 10

# description:  Redis is a persistent key-value database

chkconfig redis_6379 on

------------------------------------------------------------------------

3、redis cli的使用

redis-cli SHUTDOWN,连接本机的6379端口停止redis进程

redis-cli -h 127.0.0.1 -p 6379 SHUTDOWN,制定要连接的ip和端口号

redis-cli PING,ping redis的端口,看是否正常

redis-cli,进入交互式命令行

SET k1 v1

GET k1

redis的技术,包括4块

redis各种数据结构和命令的使用,包括java api的使用

redis一些特殊的解决方案的使用,pub/sub消息系统,分布式锁,输入的自动完成,等等

redis日常的管理相关的命令

redis企业级的集群部署和架构

我们这套课程,实际上是针对企业级的大型缓存架构,用得项目,真实的大型电商网站的详情页系统(缓存)

我们首先讲解的第一块,其实就是企业级的大型缓存架构中的,redis集群架构(海量数据、高并发、高可用),最最流行,最最常用的分布式缓存系统

后面我们做商品详情页系统的业务开发的时候,当然也会去用redis的一些命令

redis基础知识:教程,书籍,视频

redis持久化、主从架构、复制原理、集群架构、数据分布式存储原理、哨兵原理、高可用架构

网上一些redis的教程,持久化,集群,哨兵,也讲了,都是泛泛而讲,简单带你搭建一下

我会深入集群架构的底层原理,哨兵的底层原理,用一线的经验,告诉你,redis的大规模的架构师如何去支撑海量数据、高并发、高可用的


最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 218,451评论 6 506
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 93,172评论 3 394
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 164,782评论 0 354
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,709评论 1 294
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,733评论 6 392
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,578评论 1 305
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,320评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 39,241评论 0 276
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,686评论 1 314
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,878评论 3 336
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,992评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,715评论 5 346
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,336评论 3 330
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,912评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 33,040评论 1 270
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 48,173评论 3 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,947评论 2 355

推荐阅读更多精彩内容

  • 教你炒股票40:同级别分解的多重赋格 (2007-03-27 12:53:22) 转载▼ 分类:时政经济(缠中说禅...
    4ccb34d29844阅读 235评论 0 0
  • 幼稚的人总是争辩是非对错,成熟的人更多的是权衡得失利弊。
    Happy游世界阅读 242评论 0 0
  • 第一印象是在一瞬间形成的。 1) 面部神态:安详、谦和、慈眉善目更容易赢得信任 2) 想清楚你想给对方留下什么...
    李子心诚阅读 154评论 0 0
  • 《信念》 文/六悦 “不管是信神,还是自珍自重,人活在这个世界上总得有点信念才成。就我个人而言,虽是无神论...
    六悦茗阅读 168评论 0 0
  • SDK4.0引入了ARC,到现在已经一年了,开始发现有很多项目会混合使用这两个方案。比如: 1.自己的旧项目没有使...
    kindom_0129阅读 395评论 0 0