本实验为南京邮电大学开设的大数据课程之一,专注于教授学生大数据存储和管理技术,旨在培养学生的实际操作能力和解决复杂问题的能力。通过理论学习与实践相结合的方式,使学生掌握先进的数据库管理和优化策略,为未来从事相关领域的工作打下坚实的基础。
### 南邮大数据存储与管理实验一:Redis的安装与应用
#### 实验背景与目的
随着大数据时代的到来,高效的数据存储与管理技术变得尤为重要。Redis作为一种开源的内存数据结构存储系统,在处理高速缓存、消息队列以及复杂的键值存储方面表现出色,成为众多应用场景下的首选解决方案之一。本次实验旨在通过实际操作,加深学生对Redis的理解,并掌握其基本安装与应用方法。
#### 实验目标
1. **安装与配置**:学会在Ubuntu环境下安装与配置Redis的单机和集群环境。
2. **实战应用**:利用Redis构建一个简单的文章投票网站后端服务,提高实践能力。
#### 实验环境配置
- **硬件**:微型计算机
- **操作系统**:Ubuntu 16.04
- **开发工具**:PyCharm、Another Redis Desktop Manager
- **数据库**:Redis
#### 实验步骤详解
##### 一、Redis单机环境安装
1. **准备工作**:确保已安装`lsb-release`, `curl`和`gpg`等依赖库。
```bash
sudo apt install lsb-release curl gpg
```
2. **添加Redis官方公钥**:
```bash
curl -fsSL https://packages.redis.io/gpg | sudo gpg --dearmor -o /usr/share/keyrings/redis-archive-keyring.gpg
```
3. **配置APT源**:
```bash
echo deb [signed-by=/usr/share/keyrings/redis-archive-keyring.gpg] http://packages.redis.io/deb $(lsb_release -cs) main | sudo tee /etc/apt/sources.list.d/redis.list
```
4. **更新APT索引并安装Redis**:
```bash
sudo apt-get update
sudo apt-get install redis
```
5. **启动Redis服务**:
```bash
/etc/init.d/redis-server start
```
6. **使用超级用户权限进行后续操作**:
```bash
sudo -i
```
7. **修改Redis配置文件**:
```bash
vim /etc/redis/redis.conf
```
8. **重启Redis服务**:
```bash
/etc/init.d/redis-server restart
```
9. **获取虚拟机IP地址**:
```bash
ifconfig
```
10. **连接Redis**:通过Another Redis Desktop Manager等客户端软件连接Redis服务器。
##### 二、Redis集群搭建
1. **创建集群目录**:
```bash
mkdir /opt/rediscluster/
mkdir /opt/rediscluster/log/
```
2. **复制Redis配置文件**:
```bash
cp /etc/redis/redis.conf /opt/rediscluster/
```
3. **创建Master节点配置文件**(以`redis-6379.conf`为例):
```bash
touch redis-6379.conf
vi redis-6379.conf
```
4. **配置Master节点**:填写必要的配置项,如监听端口、数据存储路径等。
- **监听端口**:6379
- **数据存储路径**:/var/lib/redis/6379/
- **日志文件路径**:/opt/rediscluster/log/redis_6379.log
- **集群配置**:
```
cluster-enabled yes
```
5. 重复步骤三和四,创建其他Master和Slave节点的配置文件。
6. **启动各节点**:
```bash
/usr/bin/redis-server /opt/rediscluster/redis-6379.conf
/usr/bin/redis-server /opt/rediscluster/redis-6380.conf
...
```
7. **查看节点状态**:
```bash
ps -ef | grep redis
```
8. **创建集群**:
```bash
/usr/bin/redis-cli --cluster create --cluster-replicas 1 127.0.0.1:6379 127.0.0.1:6380 127.0.0.1:6381 127.0.0.1:6389 127.0.0.1:6390 127.0.0.1:6391
```
9. **检查集群信息**:
```bash
redis-cli
cluster nodes
```
10. **查看集群状态**:
```bash
cluster info
```
##### 三、基于Redis构建简单文章投票网站后端
1. **安装`rediscluster`库**:
```bash
pip install rediscluster
```
2. **设计数据模型**:使用Redis的`String`类型存储文章ID及其对应的投票数量,使用