热门标签 | HotTags
当前位置:  开发笔记 > 编程语言 > 正文

流式大数据计算实践(1)Hadoop单机模式

一、前言1、从今天开始进行流式大数据计算的实践之路,需要完成一个车辆实时热力图2、技术选型:HBase作为数据仓库,Storm作为流式计算

一、前言

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/hosts192.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:$PATHsource /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_HOMEexport JAVA_HOME=/work/soft/jdk1.8.0_191source /etc/profile

(3)配置hadoop-env.sh(设置jvm的使用内存和日志文件夹),要记得创建好日志文件夹

vim /work/soft/hadoop-2.6.4/etc/hadoop/hadoop-env.shexport 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.xmlfs.defaultFShdfs://storm1:8020

(5)配置hdfs-site.xml(要记得创建好对应的文件夹,所有的节点的配置文件都是一样设置)

①设置hdfs的数据备份数量
②设置namenode节点存储文件的位置
③设置datanode节点存储文件的位置

vim /work/soft/hadoop-2.6.4/etc/hadoop/hdfs-site.xmldfs.replication1dfs.namenode.name.dirfile:///work/hadoop/nndfs.datanode.data.dirfile:///work/hadoop/dn

(6)格式化namenode

hdfs namenode -format

(7)启动单机模式

$HADOOP_PREFIX/sbin/start-dfs.sh

(8)访问hadoop的控制台http://192.168.3.77:50070/

(9)停止单机版集群

stop-dfs.sh

 

转:https://www.cnblogs.com/orange911/p/9989120.html



推荐阅读
  • 本文介绍了如何在 Windows 系统上利用 Docker 构建一个包含 NGINX、PHP、MySQL、Redis 和 Elasticsearch 的集成开发环境。通过详细的步骤说明,帮助开发者快速搭建和配置这一复杂的技术栈,提升开发效率和环境一致性。 ... [详细]
  • 服务器部署中的安全策略实践与优化
    服务器部署中的安全策略实践与优化 ... [详细]
  • 本文介绍了如何利用Shell脚本高效地部署MHA(MySQL High Availability)高可用集群。通过详细的脚本编写和配置示例,展示了自动化部署过程中的关键步骤和注意事项。该方法不仅简化了集群的部署流程,还提高了系统的稳定性和可用性。 ... [详细]
  • V8不仅是一款著名的八缸发动机,广泛应用于道奇Charger、宾利Continental GT和BossHoss摩托车中。自2008年以来,作为Chromium项目的一部分,V8 JavaScript引擎在性能优化和技术创新方面取得了显著进展。该引擎通过先进的编译技术和高效的垃圾回收机制,显著提升了JavaScript的执行效率,为现代Web应用提供了强大的支持。持续的优化和创新使得V8在处理复杂计算和大规模数据时表现更加出色,成为众多开发者和企业的首选。 ... [详细]
  • 本文深入探讨了NoSQL数据库的四大主要类型:键值对存储、文档存储、列式存储和图数据库。NoSQL(Not Only SQL)是指一系列非关系型数据库系统,它们不依赖于固定模式的数据存储方式,能够灵活处理大规模、高并发的数据需求。键值对存储适用于简单的数据结构;文档存储支持复杂的数据对象;列式存储优化了大数据量的读写性能;而图数据库则擅长处理复杂的关系网络。每种类型的NoSQL数据库都有其独特的优势和应用场景,本文将详细分析它们的特点及应用实例。 ... [详细]
  • 求助:在CentOS 5.8系统上安装PECL扩展遇到问题
    在 CentOS 5.8 系统上尝试安装 APC 扩展时遇到了问题,具体表现为 PECL 工具无法正常工作。为了确保顺利安装,需要解决 PECL 的相关依赖和配置问题。建议检查 PHP 和 PECL 的版本兼容性,并确保所有必要的库和开发工具已正确安装。此外,可以尝试手动下载 APC 扩展的源代码并进行编译安装,以绕过 PECL 工具的限制。 ... [详细]
  • 【漫画解析】数据已删,存储空间为何未减?揭秘背后真相
    在数据迁移过程中,即使删除了原有数据,存储空间却未必会相应减少。本文通过漫画形式解析了这一现象背后的真相。具体来说,使用 `mysqldump` 命令进行数据导出时,该工具作为 MySQL 的逻辑备份工具,通过连接数据库并查询所需数据,将其转换为 SQL 语句。然而,这种操作并不会立即释放存储空间,因为数据库系统可能保留了已删除数据的碎片信息。文章进一步探讨了如何优化存储管理,以确保数据删除后能够有效回收存储空间。 ... [详细]
  • 本文介绍如何使用 Python 的 DOM 和 SAX 方法解析 XML 文件,并通过示例展示了如何动态创建数据库表和处理大量数据的实时插入。 ... [详细]
  • php更新数据库字段的函数是,php更新数据库字段的函数是 ... [详细]
  • PTArchiver工作原理详解与应用分析
    PTArchiver工作原理及其应用分析本文详细解析了PTArchiver的工作机制,探讨了其在数据归档和管理中的应用。PTArchiver通过高效的压缩算法和灵活的存储策略,实现了对大规模数据的高效管理和长期保存。文章还介绍了其在企业级数据备份、历史数据迁移等场景中的实际应用案例,为用户提供了实用的操作建议和技术支持。 ... [详细]
  • SecureCRT是一款功能强大的终端仿真软件,支持SSH1和SSH2协议,适用于在Windows环境下高效连接和管理Linux服务器。该工具不仅提供了稳定的连接性能,还具备丰富的配置选项,能够满足不同用户的需求。通过SecureCRT,用户可以轻松实现对远程Linux系统的安全访问和操作。 ... [详细]
  • FreeBSD环境下PHP GD库安装问题的详细解决方案
    在 FreeBSD 环境下,安装 PHP GD 库时可能会遇到一些常见的问题。本文详细介绍了从配置到编译的完整步骤,包括解决依赖关系、配置选项以及常见错误的处理方法。通过这些详细的指导,开发者可以顺利地在 FreeBSD 上完成 PHP GD 库的安装,确保其正常运行。此外,本文还提供了一些优化建议,帮助提高安装过程的效率和稳定性。 ... [详细]
  • 第二章:Kafka基础入门与核心概念解析
    本章节主要介绍了Kafka的基本概念及其核心特性。Kafka是一种分布式消息发布和订阅系统,以其卓越的性能和高吞吐量而著称。最初,Kafka被设计用于LinkedIn的活动流和运营数据处理,旨在高效地管理和传输大规模的数据流。这些数据主要包括用户活动记录、系统日志和其他实时信息。通过深入解析Kafka的设计原理和应用场景,读者将能够更好地理解其在现代大数据架构中的重要地位。 ... [详细]
  • 在GitHub上克隆vue-element-admin项目时遇到依赖安装错误
    在 GitHub 上克隆 vue-element-admin 项目后,使用 `npm install` 安装依赖时遇到了未知的 Git 错误。具体错误信息为 `npm ERR! code 128`,提示命令执行失败。这可能是由于网络问题、Git 配置不正确或某些依赖包的仓库地址无效导致的。建议检查网络连接、更新 Git 版本并确保所有依赖项的 URL 正确无误。 ... [详细]
  • 2016-2017学年《网络安全实战》第三次作业
    2016-2017学年《网络安全实战》第三次作业总结了教材中关于网络信息收集技术的内容。本章主要探讨了网络踩点、网络扫描和网络查点三个关键步骤。其中,网络踩点旨在通过公开渠道收集目标信息,为后续的安全测试奠定基础,而不涉及实际的入侵行为。 ... [详细]
author-avatar
潮人-小麦
这个家伙很懒,什么也没留下!
PHP1.CN | 中国最专业的PHP中文社区 | DevBox开发工具箱 | json解析格式化 |PHP资讯 | PHP教程 | 数据库技术 | 服务器技术 | 前端开发技术 | PHP框架 | 开发工具 | 在线工具
Copyright © 1998 - 2020 PHP1.CN. All Rights Reserved | 京公网安备 11010802041100号 | 京ICP备19059560号-4 | PHP1.CN 第一PHP社区 版权所有