张子阳的博客

读书  旅行  摄影  编程

linux上安装和配置Hive

直接通过MapReduce来对存储在Hadoop HDFS上的数据进行查询和分析比较繁琐而且还需要编程。Hive是一个数据仓库系统,构建在HDFS之上,它提供了类似SQL的语法(HQL),可以将HQL翻译成MapReduce作业进行查询,是的对数据的管理和检索更为便利。

这篇文章记录了如何在linux上安装hive。因为hive基于Hadoop,所以需要先安装Hadoop,如果你还没有安装Hadoop,可以参考linux上安装和配置Hadoop(单节点)进行安装。

发表: 2018-07-17 阅读: (20) 分类: 系统架构

linux上安装和配置Hadoop(单节点)

Hadoop生态圈仍处于欣欣向荣的发展态势,不断涌现新的技术和名词。Hadoop的HDFS、YARN、MapReduce仍是最基础的部分,这篇文章记录了如何一步步在linux上安装单节点的Hadoop,之后就可以在它上面做一些练习了。截至目前(2018.7.16),Hadoop的最新版本是3.0.3,但使用最新版本的问题是:当你遇到问题时,所能找到的资料或者书籍都是针对较晚版本的。因此,对一项技术,如果没有达到特别熟悉,安装次新、或者次次新版本是一个相对稳妥的做法。所以,我选择安装的是2.9.1版本。

Hadoop有三种安装方式:独立(Standalone),单机单进程;伪分布(Pseudo-Distributed),单机多进程;完全分布(Fully-Distributed),多机多进程。这篇文章记录了伪分布模式安装的步骤。

发表: 2018-07-16 阅读: (24) 分类: 系统架构

linux上配置ssh实现免密登录

当有多台服务器彼此进行通信时,可以通过使用ssh来免去输入密码的步骤。这篇文章将以两台服务器作为范例,演示如何通过ssh进行登录。

发表: 2018-07-16 阅读: (20) 分类: Linux

linux上安装和配置Spark(单节点)

Apache Spark被称为第三代大数据处理平台,也当前应用最广泛的大数据处理方案,这篇文章将介绍如何在Linux系统(Cent OS7)上以单机模式(Stand alone)模式安装Apache Spark。当前的最新稳定版是2.3.1。

此定义来源于网络,非官方定义:第一代Hadoop,第二代Storm,第三代Spark,第四代Flink。因为Flink比较新,从应用的广泛度方面而言不及Spark,相关的资料也比较少,因此在生产环境使用时,最好选用Spark。在试验环境,可以对Flink做一些尝试。

发表: 2018-07-14 阅读: (21) 分类: 系统架构

linux上安装JDK8

很多的开源项目都是使用java语言开发的,都需要在服务器上安装java才能运行起来。这篇文章简单介绍了在linux上安装java的步骤。

java已经更新到了10,但是因为很多应用,比如hadoop都是采用之前的版本开发,例如java8,所以建议安装java8。以避免出现版本过高带来的兼容性问题。

发表: 2018-07-14 阅读: (22) 分类: Linux

linux常用命令(防火墙)

在部署和配置集群的时候,集群中的多台服务器需要通信,对于一些复杂的应用,例如consul、hadoop等,往往是客户端通信占用一个端口、Web UI占用一个端口、集群内的主机之间通信占用一个或多个端口。这样在测试环境部署的时候,如果启用防火墙,往往会因为漏掉放行某台服务器的某个端口,而造成连接失败。

所以,在测试环境下,为了节约时间,尽快地测试和部署集群,可以关掉防火墙(正式环境下根据情况自行判断了,如果是在阿里云、腾讯云,在云主机外部有一层可配置的“安全组”策略,在这个位置也可以配置防火墙)。

发表: 2018-07-12 阅读: (19) 分类: Linux

离线和实时大数据开发实战

这本书是公司一位负责数据库的同事推荐的,正好数据中心也在重构和优化,以应对更加海量的数据,所以便花了些时间读完了这本书。

这本书首先按照按照数据处理的流程,将数据处理分成了下面几个步骤

  1. 数据产生:可以是后台业务数据、日志数据、客户端埋点数据、爬虫数据、其他第三方数据等。
  2. 数据采集和传输:数据源主要分为文本和数据库两种。
  3. 数据存储:将采集来的数据进行持久化保存
  4. 数据应用:当前主要还是“看”,未来可以利用深度学习、数据挖掘、机器学习等方式获得更多价值。

按照数据存储的实效性,将数据处理分为了三类:

  1. 离线处理:今天处理昨天或者更久前的数据,时间单位通常是天。
  2. 近线处理:处理15分钟或者1小时之前的数据,时间单位通常是分钟。
  3. 实时处理:处理即时收到数据,时效主要取决于传输和存储速度,时间单位通常是秒甚至毫秒。
发表: 2018-07-06 阅读: (92) 推荐: 难度:

搭建Kafka数据传输服务集群(搭建Kafka集群) - Part.3

在前面两篇文章中,我们了解了基本概念,也安装、配置好了zookeeper集群,在这篇文章中,我们将一步步搭建kafka集群。

搭建zookeeper集群 中,我们已经配置了系统环境,并且下载、解压了kafka安装包,所以这篇文章更多的是配置。kafka和zookeeper一样,都是使用java开发的,之前java环境已经安装过了,所以这篇文章也不再演示。如果你还没有看过上一篇,那么建议先看 上一篇

发表: 2018-06-26 阅读: (67) 分类: 系统架构

搭建Kafka数据传输服务集群(搭建Zookeeper集群) - Part.2

kafka使用zookeeper来管理Brokers(kafka服务进程)、执行partition(分区)的leader选举、当出现变更时向kafka发送通知(新建topic、删除topic、broker上线、broker下线)。zookeeper通常配置为集群,一般3个或者5个,其中一个为leader,其余为follower。kafka强依赖于zookeeper,如果没有zookeeper则无法运行,这篇文章主要讲述如何在CentOS 7上搭建zookeeper集群,简单起见,以root身份登录系统并进行操作。

发表: 2018-06-26 阅读: (70) 分类: 系统架构

搭建Kafka数据传输服务集群(基本概念) - Part.1

本来打算给这篇文章起名叫“搭建Kafka消息队列集群”,然而,和RabbitMQ不同,Kafka并没有实现消息队列的协议(例如AMQP,Advanced Message Queuing Protocol,提供统一消息服务的应用层标准高级消息队列协议,是应用层协议的一个开放标准,为面向消息的中间件设计),所以尽管在使用方式上像极了队列,但并不算是严格意义上的消息队列。而按照官方的定义:A distributed streaming platform(分布式流数据平台),又显得太抽象,所以,我还是从实际出发,因为在项目中将Kafka用作一个数据传输和缓冲的中介,于是将标题命名为了“搭建Kafka数据传输服务集群”,关键词是:数据传输服务。

发表: 2018-06-26 阅读: (64) 分类: 系统架构