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

配置内容如下:

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

(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

增加以下两项配置信息

         <property>
                 <name>hadoop.proxyuser.hadoop.groups</name>
                 <value>*</value>
        </property>

        <property>
                <name>hadoop.proxyuser.hadoop.hosts</name>
                <value>*</value>
        </property>

(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'
  • 0
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值