流式大数据计算实践(1)----Hadoop单机模式
一、前言
1、从今天开始进行流式大数据计算的实践之路,需要完成一个车辆实时热力图
2、技术选型:HBase作为数据仓库,Storm作为流式计算框架,ECharts作为热力图的展示
3、计划使用两台虚拟机来打一个小型的分布式系统,使用Ubuntu系统
二、HBase简介
1、HBase是基于HDFS(Hadoop分布式文件系统)的NoSQL数据库,采用k-v的存储方式,所以查询速度相对比较快。
2、下面画图比较HBase与传统的RDS(关系型数据库)数据库的区别
(1)RDS,经常用的比如MySQL、SQLServer等数据库,通过指定第几行第几列就可以唯一确定找到数据

(2)HBase
①首先需要指定row key(行键)来找到某一行,row key是一个可以由用户指定的字符串,保证其唯一,排序则是按照字典顺序
②指定column family(列族)找到某个列族,在设计时,官方建议列族设置的越少越好(保证查询速度,并且不容易出bug)
③指定colume(列名)找到某一列,一个列族会有多个列
④指定version来找到cell(单元格,单元格内存放着具体的数据),单元格的目的是为每一列设置多个版本,可以用时间戳代替
综上可以看出,当需要查询一个数据时的表达式应是------(行键:列族:列:版本号),才能唯一确定一个值,当然版本号可以省略,当省略时,默认取最后一个版本的值返回

三、环境搭建
1、首先准备两台Ubuntu虚拟机,我使用的是VirtualBox虚拟机,Ubuntu系统为16.04 x64,并保证其在同一局域网
2、我直接用su切换到root下,方便使用,但要注意不要输错命令
3、安装ssh,用xshell登录方便使用
apt-get install openssh-server
4、集群中机器访问使用主机名访问,所以修改主机名,一台为storm1,一台为storm2,修改完成后需要重启机器生效
vim /etc/hostname storm1 reboot
5、配置hosts文件,保证集群内的机器可以通过主机名找到其他机器
vim /etc/hosts 192.168.3.77 storm1
192.168.3.78 storm2
6、配置SSH免密登录,具体配置参见教程,确保两台机可以互相ssh登录对方
7、安装JDK
(1)下载jdk的tar.gz包,然后解压
tar zxvf jdk-8u191-linux-x64.tar.gz
(2)配置环境变量
vim /etc/profile #set java env
export JAVA_HOME=/work/soft/jdk1.8.0_191
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH source /etc/profile
8、安装Hadoop
(1)搭建单机模式
(2)下载hadoop的tar.gz包,然后解压
(3)配置环境变量(注意默认的JAVA_HOME会报错,所以要改路径)
vim /etc/profile #set hadoop env
export HADOOP_HOME=/work/soft/hadoop-2.6.4
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME export JAVA_HOME=/work/soft/jdk1.8.0_191 source /etc/profile
(3)配置hadoop-env.sh(设置jvm的使用内存和日志文件夹),要记得创建好日志文件夹
vim /work/soft/hadoop-2.6.4/etc/hadoop/hadoop-env.sh export HADOOP_NAMENODE_OPTS=" -Xms1024m -Xmx1024m -XX:+UseParallelGC"
export HADOOP_DATANODE_OPTS=" -Xms1024m -Xmx1024m"
export HADOOP_LOG_DIR=/work/hadoop/logs
(4)配置core-site.xml(配置Hadoop的Web属性 )
vim /work/soft/hadoop-2.6.4/etc/hadoop/core-site.xml <configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://storm1:8020</value>
</property>
</configuration>
(5)配置hdfs-site.xml(要记得创建好对应的文件夹,所有的节点的配置文件都是一样设置)
①设置hdfs的数据备份数量
②设置namenode节点存储文件的位置
③设置datanode节点存储文件的位置
vim /work/soft/hadoop-2.6.4/etc/hadoop/hdfs-site.xml <configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:///work/hadoop/nn</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:///work/hadoop/dn</value>
</property>
</configuration>
(6)格式化namenode
hdfs namenode -format
(7)启动单机模式
$HADOOP_PREFIX/sbin/start-dfs.sh
(8)访问hadoop的控制台http://192.168.3.77:50070/

(9)停止单机版集群
stop-dfs.sh
流式大数据计算实践(1)----Hadoop单机模式的更多相关文章
- 流式大数据计算实践(2)----Hadoop集群和Zookeeper
一.前言 1.上一文搭建好了Hadoop单机模式,这一文继续搭建Hadoop集群 二.搭建Hadoop集群 1.根据上文的流程得到两台单机模式的机器,并保证两台单机模式正常启动,记得第二台机器core ...
- 流式大数据计算实践(6)----Storm简介&使用&安装
一.前言 1.这一文开始进入Storm流式计算框架的学习 二.Storm简介 1.Storm与Hadoop的区别就是,Hadoop是一个离线执行的作业,执行完毕就结束了,而Storm是可以源源不断的接 ...
- 流式大数据计算实践(4)----HBase安装
一.前言 1.前面我们搭建好了高可用的Hadoop集群,本文正式开始搭建HBase 2.HBase简介 (1)Master节点负责管理数据,类似Hadoop里面的namenode,但是他只负责建表改表 ...
- 流式大数据计算实践(3)----高可用的Hadoop集群
一.前言 1.上文中我们已经搭建好了Hadoop和Zookeeper的集群,这一文来将Hadoop集群变得高可用 2.由于Hadoop集群是主从节点的模式,如果集群中的namenode主节点挂掉,那么 ...
- 流式大数据计算实践(7)----Hive安装
一.前言 1.这一文学习使用Hive 二.Hive介绍与安装 Hive介绍:Hive是基于Hadoop的一个数据仓库工具,可以通过HQL语句(类似SQL)来操作HDFS上面的数据,其原理就是将用户写的 ...
- 流式大数据计算实践(5)----HBase使用&SpringBoot集成
一.前言 1.上文中我们搭建好了一套HBase集群环境,这一文我们学习一下HBase的基本操作和客户端API的使用 二.shell操作 先通过命令进入HBase的命令行操作 /work/soft/hb ...
- 大数据计算框架Hadoop, Spark和MPI
转自:https://www.cnblogs.com/reed/p/7730338.html 今天做题,其中一道是 请简要描述一下Hadoop, Spark, MPI三种计算框架的特点以及分别适用于什 ...
- 大数据软件安装之Hadoop(Apache)(数据存储及计算)
大数据软件安装之Hadoop(Apache)(数据存储及计算) 一.生产环境准备 1.修改主机名 vim /etc/sysconfig/network 2.修改静态ip vim /etc/udev/r ...
- 大数据计算平台Spark内核解读
1.Spark介绍 Spark是起源于美国加州大学伯克利分校AMPLab的大数据计算平台,在2010年开源,目前是Apache软件基金会的顶级项目.随着 Spark在大数据计算领域的暂露头角,越来越多 ...
随机推荐
- [swarthmore cs75] Compiler 2 – Boa
课程回顾 Swarthmore学院16年开的编译系统课,总共10次大作业.本随笔记录了相关的课堂笔记以及第4次大作业. A-Normal Form 在80年代,函数式语言编译器主要使用Continua ...
- 写给笨蛋徒弟的学习手册(3)—C#中15个预定义数据类型
在C#中学习中,你会很早的遇到预定义数据类型这个概念,但你有没有仔细想过它存在的意义?正所谓“存在即合理”,预定义数据类型的存在目的主要有俩个方面,一是为了增加程序的安全性,同时减轻编译器负担,加快编 ...
- Java基础之Java常用类--Object类,字符串相关类,包装类,日期相关类,数字相关类
Java是一种面向对象的语言,也就是将万事万物可以描述为对象,特点如下: 1.面向对象是常见的一种思考习惯,符合人们的思考习惯.2.面向对象的出现,将复杂的事情简单化.3.面向对象的出现,将之前过程中 ...
- python猜数字GUI版本V0.1
非常简单的GUI版猜数字游戏,后面有时间好好研究下 # -*- coding: utf-8 -*-"""Created on Mon Jan 28 16:30:17 20 ...
- maven 项目快速下载jar方式
maven仓库默认在国外,使用难免很慢,尤其是下载依赖的时候,换为国内镜像,让你感受飞一般的感觉.国内支持maven镜像的有阿里云,开源中国等,这里换为阿里云的. 修改maven配置文件setting ...
- spark随笔
spark基于RDD成功构建起大数据处理的一体化解决方案,将MappReduce.Streaming.SQL.Machine Learning.Graph Processing等 大数据计算模型统一到 ...
- CDN随笔
CDN的理解:(1)CDN (内容分发网络)加速用户获取数据的 系统(2)部署在离用户最近的网络节点上(3)命中CDN 不需要访问后端服务器(4)互联网公司自己搭建或租用
- 前端 高级 (二十五)vue2.0项目实战一 配置简要说明、代码简要说明、Import/Export、轮播和列表例子
一.启动服务自动打开浏览器运行 二.配置简要说明 1.node_modules 安装好的依赖文件,中间件等,所在位置 2.package.jason 配置当前项目要安装的中间件和依赖文件 { &quo ...
- 04、SQL 查询当天,本月,本周的记录
SELECT * FROM 表 WHERE CONVERT(Nvarchar, dateandtime, 111) = CONVERT(Nvarchar, GETDATE(), 111) ORDE ...
- python 字典详细使用
1. 字典 字典是无序.可变序列. 定义字典时,每个元素的键和值用冒号分隔,元素之间用逗号分隔,所有的元素放在一对大括号“{}”中. 字典中的键可以为任意不可变数据,比如整数.实数.复数.字符串.元组 ...