栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

NoSQL数据库应用

NoSQL数据库应用

数据采集传输主要技术 Sqoop

sqoop是Apache旗下的一款开源的离线数据传输工具主要用于Hadoop(Hive)与传统数据库(Mysql、Oracle等)间的数据传递。它可以将关系型数据库中的数据导入到Hadoop的HDFS中,也可以将HDFS中的数据导出到关系型数据库中

Flume

Flume是cloudera公司提供的一个高可用、高可靠、分布式的海量日志采集、聚合和传输工具,目前已经是Apache的顶级子项目。使用Flume可以手机诸如日志、时间等数据,并将这些数据资源集中存储起来供下游使用

数据处理主要技术 MapReduce

MapReduce是Google公司的核心计算模型,它将运行于大规模集群上的并行计算过程高度抽象为Map和Reduce两个函数。它的伟大之处在于其将处理大数据的能力赋予了普通开发人员,以至于开发人员即使不会任何的分布式编程知识,也能将自己的程序运行在分布式系统上处理海量数据。

Hive

Hive是一个建立在Hadoop体系结构之上的SQL抽象。它提供了一种类似SQL的查询语言,帮助那些熟悉SQL的用户处理和查询Hadoop中的数据。

数据存储主要技术

HDFS是一个分布式文件存储系统,提供了一个高容错和高吞吐量的海量数据存储解决方案
Hbase是一种构建在HDFS之上的分布式、面向列的存储系统。在需要实时读写并随机访问超大规模数据集等场景下,Hbase是目前市场上的主流技术选择。

Hive基础知识

Hive是Hadoop生态系统中必不可少的一个工具。它可以将存储在HDFS中的结构化数据映射为数据库中的一张表,并提供了一种SQL方言对其进行查询。这些 SQL语句最终会翻译成MapReduce会存储和计算数据,完全依赖于HDFS和MapReduce。

Hive提供了一个被成为Hive查询语言(简称HiveQ或HQL)的SQL方言,来查询存储在Hadoop集群中的数据。

Hive架构

Hive中附带的客户端有三种:CLI(命令行客户端)、HWI(网页客户端)和ThriftServer(编程客户端)。

使用CLI也就是命令行界面于Hive进行交互
在客户端输入的所有命令和查询都会进入到Driver(驱动模块)进行解析、编译、优化和执行。
Driver包含SQLparser、Physical Plan、Query Optimizer和Execution四个模块。 SQLparser是解析器,用于将SQL语句转化为抽象语法树。Physical Plan是编译器,用于将抽象语法树编译生成逻辑计划。QueryOptimizer是优化器,用于对逻辑执行计划进行优化。Exeution是执行器,用于把逻辑执行计划转换为可执行的MapReduce程序。
metaStore(元数据存储)是一个独立的关系型数据库(通常是MySQL),Hive会在其中保存表模式和其他系统元数据。

查看Hadoop版本号命令:
hadoop version
启动HDFS:
start-dfs.sh
启动Yarn:
start-yarn.sh
检查Hadoop进程:
jps
安装MySQL使用以下命令:
sudo apt-get install mysql-server
查看默认的账号密码:
sudo cat /etc/mysql/debian.cnf
使用默认的帐号和密码登录MySQL数据库:
mysql -u debian-sys-maint -p
创建hive用户,设置密码为123456,并允许远程登录:
CREATE USER 'hive'@'%'IDENTIFIED BY '123456';
授权hive用户操纵hive数据库的权限:
GRANT ALL PRIVILEGES ON hive.*TO'hive'@'%';
flush privileges;
退出MySQL数据库:
exit

选择国内镜像下载Hive2.3.7,地址:

	https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.7/

(1)上传Hive到/home/hadoop

(2)把Hive压缩文件,解压到/usr/local中,使用以下命令:

sudo tar -xvf apache-hive-2.3.7-bin.tar.gz -C /usr/local

(3)进入/usr/local目录,使用以下命令:

cd /usr/local

(4)将解压后的apache-hive-2.3.7-bin目录重命名为hive,使用以下命令:

sudo mv apache-hive-2.3.7-bin hive

(5)授权当前用户hadoop拥有hive目录的所有者权限,使用以下命令:

sudo chown -R hadoop hive

配置Hive

(1)进入hive配置文件目录,使用以下命令:

cd /usr/local/hive/conf/

(2)创建hive-site.xml文件并填写配置信息,使用以下命令:

vim hive-site.xml

配置内容如下:

       
            
                system:java.io.tmpdir
                /usr/local/hive/tmp
            
            
            
                system:user.name
                root
            
            
            
                javax.jdo.option.ConnectionUserName
                hive
            
            
            
                javax.jdo.option.ConnectionPassword
                123456
            
            
                javax.jdo.option.ConnectionURL
                jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&useSSL=false
            
            
            
                javax.jdo.option.ConnectionDriverName
                com.mysql.jdbc.Driver
            
        
        

(3)进入hive的依赖库目录,使用以下命令:

cd /usr/local/hive/lib

(4)上传mysql的驱动文件到lib目录

(5)进入hadoop软件的配置文件目录,使用以下命令:

cd /usr/local/hadoop/etc/hadoop/

(6)编辑core-site.xml文件,使用以下命令:

vim core-site.xml

增加以下两项配置信息

         
                 hadoop.proxyuser.hadoop.groups
                 *
        

        
                hadoop.proxyuser.hadoop.hosts
                *
        

(7)进入hadoop用户的家目录,使用以下命令:

cd ~

(8)编辑环境变量文件,使用以下命令:

vim .bashrc

(9)在环境变量文件最后添加以下内容:

export HIVE_HOME=/usr/local/hive
export PATH=${HIVE_HOME}/bin:$PATH

(10)刷新环境变量,使用以下命令:

source .bashrc

(11)初始化Hive,使用以下命令:

schematool -dbType mysql -initSchema

(12)查询Hive中的默认数据库列表,用以验证Hive是否安装成功,使用以下命令:

hive -e 'show databases'

(12)查询Hive中的默认数据库列表,用以验证Hive是否安装成功,使用以下命令:

hive -e 'show databases'
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/671101.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号