Hive使用(一)
前言
之前写过Hive的安装,学习到了今天Hive的使用也有了一些的经验,Hive的基本命令与MySQL和SqlServer基本相似,都是建表建库那一套.但是Hive作为Hadoop的组件之一,肯定是有它特殊的意义,Hive在进行一些查询操作时,走的是MapReduce的流程,而Hive的底层封装了许多的MapReduce代码,用于减少使用人员学习MapReduce的学习成本,在熟悉hive的使用后,可以减少在学习MapReduce上的时间,但是作为Hadoop的三大组件之一的MapReduce也是要明白它的使用的.
DDL数据定义
create database 想创建的数据库名称;
建库命令与数据库的语言基本一致,
但是为了避免出现要创建的数据库已经存在错误,可以加入if not exists判断
create database if not exists 想创建的数据库名称 ;
同时在Hive创建的数据库是存放在HDFS上的,也可以自己指定在HDFS上的存放位置
create database 数据库名称 location 'hdfs上的位置';
查询数据库
显示 ...
1024程序员节
前言
1024程序员节是广大程序员的共同节日。1024是2的十次方,二进制计数的基本计量单位之一。针对程序员经常周末加班与工作日熬夜的情况,部分互联网机构倡议每年的10月24日为1024程序员节,在这一天建议程序员拒绝加班,中国首届全球程序员节2017年在西安举办。
程序员就像是一个个1024,以最低调、踏实、核心的功能模块搭建起这个科技世界。1G=1024M,而1G与1级谐音,也有一级棒的意思。
hello world是我们初入编程世界的第一句话
以下我将以几种不同语言编写hello world,反正Hello World就完事了
Java
public static void main(String[] args) { System.out.println("Hello World"); }
Python
print("Hello World")
Js
<html> <head> <meta charset="utf-8"> <title& ...
Hadoop的HA搭建
前言
之前我们看过Hadoop的HA配置,大概对于HA的配置有了一些了解,我们现在开始从头搭建Hadoop的HA环境
修改配置文件
我们HA的搭建要修改hadoop下的几个文件,主要有:
core-site.xml
hdfs-site.xml
hadoop-env.sh
slaves
yarn-site.xml
yarn-env.sh
mapred-site.xml
本文基本以改配置文件为主,在Hadoop的HA配置前,zookpeeper一定要先配好
core-site.xml
<property><name>fs.defaultFS</name><value>hdfs://myhadoop</value></property><property><name>hadoop.tmp.dir</name><value>/usr/local/src/hadoop-2.6.0 ...
Storm的安装
前言
Apache Storm是一个分布式的、可靠的、容错的实时数据流处理框架。它与Spark Streaming的最大区别在于它是逐个处理流式数据事件,而Spark Streaming是微批次处理,因此,它比Spark Streaming更实时。
一、Apache Storm的核心概念
Nimbus:即Storm的Master,负责资源分配和任务调度。一个Storm集群只有一个Nimbus。
Supervisor:即Storm的Slave,负责接收Nimbus分配的任务,管理所有Worker,一个Supervisor节点中包含多个Worker进程。
Worker:工作进程,每个工作进程中都有多个Task。
Task:任务,在 Storm 集群中每个 Spout 和 Bolt 都由若干个任务(tasks)来执行。每个任务都与一个执行线程相对应。
Topology:计算拓扑,Storm 的拓扑是对实时计算应用逻辑的封装,它的作用与 MapReduce 的任务(Job)很相似,区别在于 MapReduce 的一个 Job 在得到结果之后总会结束,而拓扑会一直在集群中运行,直到你手动去 ...
Sqoop安装
前言
Sqoop是什么
1、Sqoop是一款在Hadoop和其它关系型数据库之间传递数据的工具。
2、核心的功能有两个:
导入数据:MySQL,Oracle 导入数据到 Hadoop 的 HDFS、HIVE、HBASE 等数据存储系统;
导出数据:从 Hadoop 的文件系统中导出数据到关系数据库 mysql 等。
3、Sqoop与Hive本质
sqoop工具:本质是迁移数据, 迁移的方式是把sqoop的迁移命令转换成MR程序
hive工具:本质是执行计算,依赖于HDFS存储数据,把SQL转换成MR程序
安装sqoop
安装sqoop版本是
sqoop版本
sqoop-1.4.6
我们将sqoop解压完成后,和安装其他组件一样,都要配置环境变量.我这里是把sqoop解压在/usr/local/src这个目录下,所以配置环境变量如图所示
配置环境变量完成后,记得source一下
验证环境变量配置是否成功
修改配置文件
修改sqoop-env.sh文件
如果没有这个文件,把sqoop-env-template.sh重命名为sqoop-env.sh
在sqoop- ...
HBASE的安装
前言
HBase是一个分布式的、面向列的开源数据库,该技术来源于 Fay Chang 所撰写的Google论文“Bigtable:一个结构化数据的分布式存储系统”。就像Bigtable利用了Google文件系统(File System)所提供的分布式数据存储一样,HBase在Hadoop之上提供了类似于Bigtable的能力。HBase是Apache的Hadoop项目的子项目。HBase不同于一般的关系数据库,它是一个适合于非结构化数据存储的数据库。另一个不同的是HBase基于列的而不是基于行的模式。
安装HBase
本次安装使用的HBase版本为
安装版本
hbase-1.2.0
我们将hbase解压完成后,和安装其他组件一样,都要配置环境变量.我这里是把hbase解压在/opt/hbase这个目录下,所以配置环境变量如图所示
配置环境变量完成后,记得source一下
修改配置文件
hbase的配置文件基本都在conf/下
我们需要修改hbase-env.sh和hbase-site.xml,还有regionservers文件
修改hbase-env.sh文 ...
Kafka的安装与测试
前言
Kafka是由Apache软件基金会开发的一个开源流处理平台,由Scala和Java编写。Kafka是一种高吞吐量的分布式发布订阅消息系统,它可以处理消费者在网站中的所有动作流数据。 这种动作(网页浏览,搜索和其他用户的行动)是在现代网络上的许多社会功能的一个关键因素。 这些数据通常是由于吞吐量的要求而通过处理日志和日志聚合来解决。 对于像Hadoop一样的日志数据和离线分析系统,但又要求实时处理的限制,这是一个可行的解决方案。Kafka的目的是通过Hadoop的并行加载机制来统一线上和离线的消息处理,也是为了通过集群来提供实时的消息。
安装kafka
我们使用的kafka的版本为
kafka版本
kafka_2.11-1.0.0
我们将kafka解压完成后,和安装其他组件一样,都要配置环境变量.我这里是把kafka解压在/opt/kafka这个目录下,所以配置环境变量如图所示
当我们的环境变量配置完成后,我们就可以开始修改kafka的配置文件了.
修改配置文件
进入kafka的config目录下,我们可以看到许多配置文件,我们需要修改的是server ...
Hadoop的HA配置
前言
Hadoop HA 是什么?
hadoop2.x版本中可以有多个namenode结点,一个是活跃(active)状态,一个是准备(standby)状态。(haoop 1.x不存在此特性)
HA可以干什么?
1.1 HDFS HA背景
HDFS集群中NameNode 存在单点故障(SPOF)。对于只有一个NameNode的集群,如果NameNode机器出现意外情况,将导致整个集群无法使用,直到NameNode 重新启动。
影响HDFS集群不可用主要包括以下两种情况:一是NameNode机器宕机,将导致集群不可用,重启NameNode之后才可使用;二是计划内的NameNode节点软件或硬件升级,导致集群在短时间内不可用。
为了解决上述问题,Hadoop给出了HDFS的高可用HA方案:HDFS通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,比如处理来自客户端的RPC请求,而Standby NameNode则不对外提供服务,仅同步Active NameNode的状态,以便能够在它失败时快速进行切换。
1 ...
Anaconda的安装
Anaconda的安装
前言
Anaconda指的是一个开源的Python发行版本,其包含了conda、Python等180多个科学包及其依赖项。 因为包含了大量的科学包,Anaconda 的下载文件比较大(约 531 MB),如果只需要某些包,或者需要节省带宽或存储空间,也可以使用Miniconda这个较小的发行版(仅包含conda和 Python)。
Conda是一个开源的包、环境管理器,可以用于在同一个机器上安装不同版本的软件包及其依赖,并能够在不同的环境之间切换
Anaconda包括Conda、Python以及一大堆安装好的工具包,比如:numpy、pandas等
安装Anaconda
1.下载Anaconda
我们可以在Anaconda的官网(https://www.anaconda.com)下载Anaconda
官网如图所示:
我们选择下载3.7版本的,但是在官网下载的速度可能会过于慢,我们还可以去找国内的镜像网站下载Anaconda,例如:清华大学的镜像站(https://mirrors.tuna.tsinghua.edu.cn),可以在这里下载Anaconda,速度 ...
Scala的安装
前言
之前写的spark的安装中忘记说明安装spark要先安装scala,因为spark的底层是使用scala脚本语言开发
使用版本
scala-2.11.4
安装Scala
上传解压scala
spark的压缩包上传到我们的/opt/software上,解压到/opt/module/
代码如下
tar -zxf scala-2.11.4.tgz -C /opt/module/
配置环境变量
vim /etc/profile
在末尾添加
#scalaexport SCALA_HOME=/opt/module/scala-2.11.4export PATH=$PATH:$SCALA_HOME/bin
记得保存使其生效
source /etc/profile
验证
输入
scala -version
出现
Scala code runner version 2.11.4 -- Copyright 2002-2013, LAMP/ ...