linux 的环境搭建(二)--redis单机环境、生产环境、集群环境的搭建

Python010

linux 的环境搭建(二)--redis单机环境、生产环境、集群环境的搭建,第1张

一、目录

1、工具

2、安装tcl

3、安装单机版redis

4、把redis设置为daemon进程,每次系统启动,redis进程一起启动

5、安装redis cluster

二、工具

2.1、tcl8.6.1-src.tar.gz

2.2、ruby-2.3.1.tar.gz

2.3、redis-4.1.1.gem

2.4、redis-3.2.8.tar.gz

2.5、openssl-1.0.2r.tar.gz

三、安装tcl(安装redis必须先要安装tcl)

3.1、把tcl8.6.1-src.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下

四、安装单机版redis

4.1、把redis-3.2.8.tar.gz通过WinSCP上传到虚拟机中的/usr/local目录下

4.2、依次运行如下命令

tar -zxvf redis-3.2.8.tar.gz 解压文件

cd redis-3.2.8

make &&make test &&make install

五、把redis设置为daemon进程,每次系统启动,redis进程一起启动

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

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

protected-mode no 取消保护模式,保护模式只能127.0.0.1访问

daemonize yes 让redis以daemon进程运行

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

bind192.168.3.110

port6379设置redis的监听端口号

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

logfile /var/log/redis/6379.log设置日志文件位置

5.6、启动redis,依次执行:

cd /etc/init.d,

chmod 777 redis_6379,赋读写执行的权限(chmod -R 777 * 是递归把该目录下的所有文件和其子文件全部赋权限)

./redis_6379 start 启动

5.7、确认redis进程是否启动,ps -ef | grep redis

5.8、让redis跟随系统启动自动启动

5.9、重启系统,不手动启动redis,直接连接redis,可以连接上,表示配置成功

此时一个单机版的redis的生产环境已经搭建好了,每次服务器重启,redis都会自动的启动

六、安装redis cluster

(redis cluster集群,要求至少3个master,去组成一个高可用,健壮的分布式的集群,每个master都建议至少给一个slave,3个master,3个slave)

6.1、前提,我在其它机器上启动了六个redis(安装步骤都如下)

2.2、创建三个目录:

mkdir -p /etc/redis-cluster 存放集群配置信息,自动生成配置

mkdir -p /var/log/redis redis日志

mkdir -p /var/redis/7001 存放redis的rdb文件和aof文件

6.3、将redis的utils目录下的redis_init_script脚本拷贝到linux的/etc/init.d目录中,将redis_init_script重命名为redis_7001,7001是我们希望这个redis实例监听的端口号,并修改redis_7001配置文件中的REDISPORT=7001

6.4、修改/etc/redis/7001.conf中的部分配置为生产环境

6.5、完成了一个redis环境的配置,依次再配置其余五个,分别为7002、7003、7004、7005、7006,每个启动脚本内,都修改对应的端口号

6.6、启动6个redis实例

6.7、创建集群(需要安装ruby、rubygems)

上述命令在部分机器上是可以直接运行完成,成功安装的,但在部分机器上运行第三条命令时会提示ruby版本太低、openssl找不到的问题,下面依次解决这两个问题:

6.8、再次运行gem install redis命令,报出两个错误

6.9、再次运行gem install redis命令,报出一个错误

6.10、再次运行gem install redis命令,报出一个错误

6.11、再次运行gem install redis命令

[root@ceshi01 local]# gem install redis

Successfully installed redis-4.1.1

Parsing documentation for redis-4.1.1

Done installing documentation for redis after 1 seconds

WARNING: Unable to pull data from ' https://rubygems.org/' : SSL_connect returned=1 errno=0 state=error: certificate verify failed ( https://api.rubygems.org/specs.4.8.gz )

1 gem installed

运行成功

此时Redis安装好,此三个工具也安装好了,这时我们来做一个Redis集群测试,在一台服务器中创建了6个Redis实例,开启6个Redis服务

redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006

[root@eshop-cache02 init.d]# redis-trib.rb create --replicas 1 192.168.3.104:7001 192.168.3.104:7002 192.168.3.105:7003 192.168.3.105:7004 192.168.3.106:7005 192.168.3.106:7006

此时一个redis集群环境就已经搭建好了,可以通过redis-trib.rb check 192.168.3.105:7003命令查看集群几点的信息

[root@eshop-cache02 init.d]# redis-trib.rb check 192.168.3.105:7004

redis cluster的优点:读写分离+高可用+多master

读写分离:每个master都有一个slave

高可用:master宕机,slave自动被切换过去

多master:横向扩容支持更大数据量

不同的操作系统安装方法是不一样的,建议学Ruby用Linux,有条件的话也可以用MAC,用windows。会遇到很多问题:

windows:到https://www.ruby-lang.org/下载安装包,安装好,不要忘记改环境变更量。

https://rubygems.org/pages/download 下载rubygems安装包,解压cd 到子文件夹下setup.rb

http://www.runoob.com/ruby/ruby-tutorial.html

上面的链接里讲的很详细,你可以按照这个SOP来安装,Linux和windows的都有。

不懂的可以问我,我都安装过。

现在一般是使用 RPM ,YUM和 APT 来管理软件

软件包常用的也就是,查找软件包,安装,卸载,升级。这几个功能。

RPM 比较经典,但是也比较麻烦,尤其是在软件依赖关系上面,有的时候你会纠结死的。

你是新手的话就先使用图形化的管理器来安装,卸载看看。

现在不少Linux都具有图形化的软件管理器界面 比如新立得软件包管理器。

首先是RPM 

RPM安装软件包:

-a 查询所有已安装的信息

-f 查询文件所属软件包

-p 查询软件包

-i 显示软件包信息

-l 显示软件包中的文件列表

-d 显示被标注为文档的文件列表

-c 显示被标注为配置文件的文件列表

-q 查询软件是否安装

rpm -ql、rpm-qlp 软件包安装了哪些文件

-qi -qip 查询软件包的信息

rpm -qf 查询文件隶属的软件包

rpm -qd 查询软件包帮助文档

rpm -qc 查询软件包配置文件

rpm -i sudo

挂载光盘:

习惯把移动设备放在/mnt目录下

mkdir /mnt/cdrommkdir 创建目录

mount /dev/cdrom/ mnt/cdrom 挂载光盘

按Tab键自动补全命令

cd 进入目录 CentOS

ls | grep sudo

查看关于sudo的软件包

rpm -q sudo 查看软件是否安装完成

rpm -qa | grep samba 查看跟samba相关的软件包

rpm -ivh sudo-1.7.2p1-5.e15.i386.rpm

安装软件

rpm -ivh --excludedocs +软件包名 不安装软件包中的文档文件 一般不适用

rpm -ivh --prefix PATH +软件包名 将软件包安装到PATH指定目录下一般不是用

rpm -ivh --test +软件包名 只对安装进行测试,并不是件安装(一般用于测试软件包的依赖性)

rpm -ivh --replacepkgs +软件包名 覆盖安装

rpm -ivh --replacefiles +软件名 覆盖安装且无视错误信息

软件包之间的依赖关系:

安装中出现错误提示:

例如:

# rpm -ivh sudo-1.7.2p1-5.el5.i386.rpm

failed dependencies:

sudo is needed by bark-3.2-l1

强制安装使用 --nodeps选项。

升级

# rpm -Uvh +软件包名

Debian系列的linux安装软件包就方便得多

 呃 我主要熟悉的是Ubuntu

1.apt系统使用一个数据库列表来记录系统已经安装了哪些软件,哪些没有安装,哪些软件可以通过apt系统自动安装

apt-get通过分析这个数据库来决定如何安装软件

应该经常运行#apt-get update来更新此数据库

2.安装软件包

# apt-get install packagename

apt-get的参数

-h 帮助信息

-d 仅仅下载该软件包,并不安装

-f 强制安装

-s 无行为。执行命令仿真

-y 对安装过程中询问yes和no都保持yes

-u 显示一个列表,以及升级包

软件包会被下载到/var/cache/apt/archives 稍后进行安装

如果一个软件包坏了,或者你只是想重新安装一个软件的最新版本 ,可以使用--reinstall参数,如

# apt-get --reinstall install tomcat6

在安装软件时,可以用apt-get install package/distribution或apt-get install

package=version来指定软件的安装版本,如

# apt-get install nautilus/tomcat6

3.移除软件包

apt-get remove package

# apt-get remove ruby

这样就会移除rubyl以及对ruby有依赖性的软件包,无法使用apt系统仅仅移除此软件,而保留对它有依赖性的软件包。

apt-get remove package并不能移除这些软件的配置文件

# apt-get purge ruby(这个很常用)

就可以一块把他的配置文件移除

4.升级软件包

apt-get update更新软件包的数据库列表

apt-get upgrade执行升级

5.升级到一个新的版本

# apt-get -u dist-upgrade

6.移除无用的软件包

当安装软件时,软件包会被先下载到/var/cache/apt/archives/目录下,然后安装

。这样这个目录所占空间会越来越大,幸运的是apt提供了相应的管理工具

apt-get clean删除/var/cache/apt/archives/ 和

/var/cache/apt/archives/partial/目录下所有包(锁定的除外)。

apt-get autoclean仅删除不再能被下载的包

1.使用YUM查找软件包

命令:yum search

2.列出所有可安装的软件包

命令:yum list

3.列出所有可更新的软件包

命令:yum list updates

4.列出所有已安装的软件包

命令:yum list installed

5.列出所有已安装但不在 Yum Repository 内的软件包

命令:yum list extras

6.列出所指定的软件包

命令:yum list

7.使用YUM获取软件包信息

命令:yum info

8.列出所有软件包的信息

命令:yum info

9.列出所有可更新的软件包信息

命令:yum info updates

10.列出所有已安装的软件包信息

命令:yum info installed

11.列出所有已安装但不在 Yum Repository 内的软件包信息

命令:yum info extras

12.列出软件包提供哪些文件

命令:yum provides

5.清除YUM缓存

yum 会把下载的软件包和header存储在cache中,而不会自动删除。如果我们觉得它们占用了磁盘空间,可以使用yum

clean指令进行清除,更精确的用法是yum clean headers清除header,yum clean

packages清除下载的rpm包,yum clean all 清除所有

1.清除缓存目录(/var/cache/yum)下的软件包

命令:yum clean packages

2.清除缓存目录(/var/cache/yum)下的 headers

命令:yum clean headers

3.清除缓存目录(/var/cache/yum)下旧的 headers

命令:yum clean oldheaders

4.清除缓存目录(/var/cache/yum)下的软件包及旧的headers

命令:yum clean, yum clean all (= yum clean packagesyum clean oldheaders)

如果有问题,请继续追问我吧!希望能解决你的问题!