大数据与 Hadoop 的起源、特点和关系

章节一:大数据的起源

在 2003 年, Google 陆续发表了 3 篇论文,首创了大数据这一概念,它们分别是:GFS、MapReduce、BigTable。

这三篇论文,分别介绍了 GFS、MapReduce、BigTable 三款软件,而将这三款软件组合在一起,就是世界上第一种大数据平台。

如今 GFS、MapReduce 和 BigTable 三大技术已被称为 Google 的三驾马车,虽然没有公布源码,但发布了这三个产品的详细设计。

章节二:大数据的特点

大数据,是指从各种各样类型的海量数据中,快速获得和分析出有价值的信息,并以此支撑决策的一种手段,这种手段无法使用过去的常规方法或软件工具实现。

在目前,大数据的特性是指 5V 特性:
1) (V) Volume(大体量)
2) (V) Variety(多样性)
3) (V) Velocity(时效性)
4) (V) Veracity(准确性)
5) (V) Value(大价值)

章节三:开源大数据平台 Hadoop 的起源

虽然谷歌在 GFS、MapReduce、BigTable 三篇论文中详细介绍了 GFS、MapReduce 和 BigTable 三款软件的设计,但是可能出于公司发展的考虑,谷歌并没有公布这三款软件的源代码,这个大数据平台只有谷歌才能使用。

此时另一个受到雅虎资助的团队就利用谷歌这三篇论文的技术架构,使用 Java 开发了另外三个实现大数据平台的的软件,它们分别是:HDFS、MapReduce、Hbase。

它们和谷歌的软件一一对应:
HDFS 对应 Google 的 GFS
MapReduce 对应 Google 的 MapReduce
Hbase 对应 Google 的 BigTable

这三款软件组合在一起,就是一个新的开源的大数据平台 Hadoop。

章节四:开源大数据平台 Hadoop 的特点

1) Hadoop 可以实现分析和处理海量数据
2) Hadoop 是一款开源软件,全地球所有非营利性组织、个人、公司和政府都可以免费使用
3) 具有高可靠性、高扩展性、高效性、高容错性、低成本的优点
4) 性能上 Hadoop 要比 Google 的差很多

章节五:开源大数据平台 Hadoop 对大数据行业的影响

在 2003 年,很多非营利性组织、个人、公司和政府都没有人力、物力直接研发大数据技术,所以只好直接使用 Hadhoop 实现自己的大数据分析。

由于使用 Hadoop 的非营利性组织、个人、公司和政府越来越多,Hadoop 逐渐变成了大数据行业的行业标准。

就连大数据首创者谷歌,为了和 Hadoop 平台进行数据交互,也被迫对自己性能更好的 BigTable、GFS、MapReduce 三款软件进行修改。

现在 Hadoop 基本已经成为了大数据的代名词。大数据行业里所指的大数据开发工程师就是指开发 Hadoop 模块的 JAVA 工程师,大数据算法工程师就是指为 Hadoop 模块创造计算模型的数学家,而大数据运维工程师就是指 Hadoop 运维工程师。

[实验] Redis 的设置 (端口号、IP 地址、登录密码)

纪念:站主于 2019 年 9 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程

注意:

在设置 Redis 端口号、IP 地址、登录密码之前需要先安装 Redis

正文:

步骤一:在设置 Redis 端口号、IP 地址和登录密码之前的准备工作

1.1 备份 Redis的 原配置文件

# cp /etc/redis/6379.conf /root/6379.conf.bak

1.2 停止正在运行的 Redis 配置服务

# /etc/init.d/redis_6379 stop

步骤二:设置 Redis 端口号、 IP 地址和登录密码

2.1 修改 Redis 的配置文件

# vim /etc/redis/6379.conf

将部分内容修改如下:

......
#bind 127.0.0.1
bind 192.168.1.51
......
port 6370
......
requirepass 123456
......

(
补充:
1) 这里的本地的 IP 地址是 192.168.1.51
2) 这里自定义的端口号是 6370
3) 这里设置的密码是 123456
)

2.2 启动修改配置文件之后的 Redis 服务

# /etc/init.d/redis_6379 start
Starting Redis server...

2.3 显示新启动的 Redis 所使用的端口号

# ss -antul | grep 6370
tcp    LISTEN     0      128    192.168.4.51:6370       *:*

(补充:这里显示到的端口号是 6370)

步骤三:登录自定义了端口号、IP 地址和密码的 Redis 数据库的方法

3.1 登录方法一:在连接 Redis 数据库时加上端口号、IP 地址之后再输入密码

# redis-cli -h 192.168.1.51 -p 6370
192.168.1.51:6370> ping
(error) NOAUTH Authentication required.
192.168.1.51:6370> auth 123456
OK
192.168.1.51:6370> ping
PONG

(
补充:
1) 这里的本地的 IP 地址是 192.168.1.51
2) 这里的端口号是 6370
3) 这里使用的密码是 123456
)

3.2 登录方法二:在连接 Redis 数据库时同时加上端口号、IP 地址和密码

# redis-cli -h 192.168.1.51 -p 6370 -a 123456
192.168.4.51:6370> ping
PONG

(
补充:
1) 这里的本地的 IP 地址是 192.168.1.51
2) 这里的端口号是 6370
3) 这里使用的密码是 123456
)

步骤四:停止自定义了端口号、IP 地址和密码的 Redis 数据库的方法

4.1 使用默认的方法停止自定义了端口号、IP 地址和密码的 Redis 数据库会报错

# /etc/init.d/redis_6379 stop
Stopping ...
Could not connect to Redis at 127.0.0.1:6370: Connection refused
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
Waiting for Redis to shutdown ...
...

4.2 停止自定义了端口号、IP 地址和密码的 Redis 数据库的方法

# redis-cli -h 192.168.1.51 -p 6370 -a 123456 shutdown
# ss -antul | grep 6370

(
补充:
1) 这里的本地的 IP 地址是 192.168.1.51
2) 这里的端口号是 6370
3) 这里使用的密码是 123456
)

[步骤] Redis 的使用

注意:

在使用 Redis 之前需要先安装 Redis

正文:

内容一:启动 Redis 服务

# /etc/init.d/redis_6379 start
Starting Redis server...

内容二:显示 Redis 正在使用的端口

# netstat -antupl |grep :6379
tcp        0      0 127.0.0.1:6379          0.0.0.0:*               LISTEN      15203/redis-server
# ps  -C redis-server
  PID TTY          TIME CMD
15203 ?        00:00:00 redis-server

内容三:显示 Redis 状态

# /etc/init.d/redis_6379 status
Redis is running (15203)

(注意:只有在 Redis 启动时才会有此命令才会有效,否则的话会提示:cat: /var/run/redis_6379.pid: No such file or directory)

内容四:停止 Redis 服务

# /etc/init.d/redis_6379 stop
Stopping ...
Waiting for Redis to shutdown ...
Redis stopped

内容五:连接 Redis 服务

# redis-cli 
127.0.0.1:6379> ping
PONG

(补充:这里出现 PONG 说明服务正常)

[实验] Redis 的安装

纪念:站主于 2019 年 9 月完成了此开源实验,并将过程中的所有命令经过整理和注释以后,形成以下教程

软件准备:

在 Redis 的官网上下载软件 Redis:

https://redis.io

正文:

步骤一:系统环境要求

1) 服务器的系统需要是 CentOS Linux 7 版本
2) 服务器系统需要有软件源

步骤二:安装 Redis 数据库

2.1 安装 Redis 数据库的相关依赖包

# yum -y install gcc gcc-c++ make

2.2 安装 Redis 数据库

2.2.1 解压安装包
# tar -zxf redis-5.0.5.tar.gz

(补充:这里要安装的 Redis 版本是 5.0.5)

2.2.2 进入安装包目录
# cd redis-5.0.5/

(补充:这里要安装的 Redis 版本是 5.0.5)

2.2.3 编译安装包
# make
2.2.4 安装软件包
# make install
2.2.5 进入配置目录
# cd utils/
2.2.6 配置软件包
# ./install_server.sh
Welcome to the redis service installer
This script will help you easily set up a running redis server
Please select the redis port for this instance: [6379] 
Selecting default: 6379
Please select the redis config file name [/etc/redis/6379.conf] 
Selected default - /etc/redis/6379.conf
Please select the redis log file name [/var/log/redis_6379.log] 
Selected default - /var/log/redis_6379.log
Please select the data directory for this instance [/var/lib/redis/6379] 
Selected default - /var/lib/redis/6379
Please select the redis executable path [/usr/local/bin/redis-server] 
Selected config:
Port           : 6379
Config file    : /etc/redis/6379.conf
Log file       : /var/log/redis_6379.log
Data dir       : /var/lib/redis/6379
Executable     : /usr/local/bin/redis-server
Cli Executable : /usr/local/bin/redis-cli
Is this ok? Then press ENTER to go on or Ctrl-C to abort.
Copied /tmp/6379.conf => /etc/init.d/redis_6379
Installing service...
Successfully added to chkconfig!
Successfully added to runlevels 345!
Starting Redis server...
Installation successful!

[内容] Redis 简介

内容一:什么是 Redis

Redis 全名叫 Remote Dictionary Server (远程字典服务器)

内容二:Redis 的特点

1. Redis 是一个非关系性数据库
2. Redis 是一个键值数据库
3. Redis 性能很高
4. Redis 是分布式的
5. Redis 的数据是存入内存中的,断电后就丢失
6. Redis 可以通过数据持久化把内存里的数据保存到硬盘中,但是断电后最新的数据还是会丢失