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

Centos 7上安装Hive 1.2.2 详细图文教程

Centos 7上安装Hive 1.2.2 详细图文教程

0. 安装MySQL

Centos 7上安装MySQL 5.7.37(图文详解)

1. 下载、上传、解压软件包

在Master上进行安装

下载Hive并上传到虚拟机上
http://mirror.bit.edu.cn/apache/hive/

解压

[root@master hive]# tar -zxvf apache-hive-1.2.2-bin.tar.gz

移动到规划好的文件夹下

[root@master hive]# tar -zxvf apache-hive-1.2.2-bin.tar.gz



bin:二进制命令文件
conf:配置文件
examples:示例
hcatalog:log日志
lib:文件库,运行时依赖的jar包
scripts:脚本文件

2. 修改Hive配置 (1)配置hive-env.sh

修改conf内hive-env.sh.template文件名

[root@master conf]# mv hive-env.sh.template hive-env.sh.template

修改hive-env.sh文件内容

[root@master conf]# vim hive-env.sh 

在键盘上输入Go,其中G会跳到文件末尾,o会换行并进行插入编辑。
输入java、hadoop和Hive的安装路径、Hive的配置文件路径

export JAVA_HOME=/usr/local/src/jdk1.8.0_172
export HADOOP_HOME=/usr/local/src/hadoop-2.6.5
export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export HIVE_CONF_DIR=/usr/local/src/apache-hive-2.3.3-bin/conf

(2)配置hive-site.xml

创建hive-site.xml

[root@master conf]# touch hive-site.xml

修改文件内容




    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false
    
    
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
    
    
        javax.jdo.option.ConnectionUserName
        root
    
    
        javax.jdo.option.ConnectionPassword
        123456
    
    
        hive.metastore.warehouse.dir
        hdfs://master:9000/hive/warehouse
    
    
        hive.exec.scratchdir
        hdfs://master:9000/hive/tmp
    
    
        hive.querylog.location
        /usr/hive/log
        设置hive job日志存储位置
    
    
        hive.cli.print.header
        true
        设置列名
    
    
        hive.resultset.use.unique.column.names
        false
        增加列名可读性
    
    
    
        hive.support.concurrency
        true
        是否支持并发,默认是false
    
    
    
        hive.compactor.initiator.on
        true
        运行启动程序和清除线程,用于打开所需参数的完整列表事务
    
    
        hive.compactor.worker.threads
        1
        增加工作线程的数量将减少花费的时间
    
    
        hive.enforce.bucketing
        true
        是否启用bucketing,写入table数据
    
    
        hive.exec.dynamic.partition.mode
        nonstrict
        设置动态分区模式为非严格模式
    


(3)增加环境变量

修改系统环境变量

[root@master conf]# vim ~/.bashrc

添加Hive路径

export HIVE_HOME=/usr/local/src/apache-hive-1.2.2-bin
export PATH=$PATH:${HIVE_HOME}/bin


刷新环境变量使其生效

[root@master conf]# source ~/.bashrc
3. 安装MySQL连接工具

将mysql-connector-java-5.1.44.tar下载好后上传至虚拟机

解压

[root@master src]# tar -xvf mysql-connector-java-5.1.44.tar 

将解压后的文件移动到规划好的文件夹下

[root@master src]# mv mysql-connector-java-5.1.44 /usr/local/src


将mysql-connector-java-5.1.44里面的jar包复制到Hive的lib目录下

[root@master mysql-connector-java-5.1.44]# cp mysql-connector-java-5.1.44-bin.jar $HIVE_HOME/lib
[root@master mysql-connector-java-5.1.44]# cd $HIVE_HOME/lib
[root@master lib]# ls

4. 启动Hive

Hive依赖Hadoop中的HDFS进行存储,依赖MySQL管理元数据。因此,我们需要等待Hadoop集群启动完成并退出安全模式后,才可以启动Hive。

(1)更改权限为root

首先,在Master上将hadoop、jdk、hive的权限所有者都改为root

[root@master src]# chown -R root:root hadoop-2.6.5/ jdk1.8.0_172/


开启slave1和slave2,将hadoop、jdk改为root

[root@slave1 src]# chown -R root:root jdk1.8.0_172


Slave2同理

(2)启动hadoop集群

然后,启动Hadoop集群

[root@master hadoop-2.6.5]# sbin/start-all.sh 

启动完成后,查看hadoop集群状态

[root@master hadoop-2.6.5]# hadoop dfsadmin -report


这个位置没有出现Safe model is ON,则已关闭安全模式,可以启动Hive。若有则说明正在开启安全模式,不能启动Hive,需要等待一会儿或者手动关闭安全模式。

命令 hadoop fs -safemode get 查看安全模式状态

命令 hadoop fs -safemode enter 进入安全模式状态

命令 hadoop fs -safemode leave 离开安全模式

Hadoop安全模式

(3)替换hadoop中的jar包

由于hadoop 2.6.5和hive 1.2.2中的jline包版本不一致,因此需要替换。

删除hadoop-2.6.5/share/hadoop/yarn/lib中的jline-0.9.94.jar

[root@master apache-hive-1.2.2-bin]# rm $HADOOP_HOME/share/hadoop/yarn/lib/jline-0.9.94.jar 

然后,将hive中的jline-2.12.jar放到hadoop-2.6.5/share/hadoop/yarn/lib使Hadoop和Hive里的jar版本保持一致。

[root@master apache-hive-1.2.2-bin]# cp lib/jline-2.12.jar $HADOOP_HOME/share/hadoop/yarn/lib/

(4)启动Hive

最后,进入到hive目录里开启hive

[root@master apache-hive-1.2.2-bin]# bin/hive


测试一下

hive> show databases;


若觉得太慢可以更改hive-site.xml中的内容来提升速度
退出Hive

hive> exit;

编辑conf/hive-site.xml

[root@master apache-hive-1.2.2-bin]# vim conf/hive-site.xml 

将一部分内容注释掉




    
        javax.jdo.option.ConnectionURL
        jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&useSSL=false
    
    
        javax.jdo.option.ConnectionDriverName
        com.mysql.jdbc.Driver
    
    
        javax.jdo.option.ConnectionUserName
        root
    
    
        javax.jdo.option.ConnectionPassword
        123456
    
    
        hive.metastore.warehouse.dir
        hdfs://master:9000/hive/warehouse
    
    
        hive.exec.scratchdir
        hdfs://master:9000/hive/tmp
    
    
        hive.querylog.location
        /usr/hive/log
        设置hive job日志存储位置
    
    
        hive.cli.print.header
        true
        设置列名
    
    
        hive.resultset.use.unique.column.names
        false
        增加列名可读性
    

    
        hive.support.concurrency
        true
        是否支持并发,默认是false
    
    
    
        hive.compactor.initiator.on
        true
        运行启动程序和清除线程,用于打开所需参数的完整列表事务
    
    
        hive.compactor.worker.threads
        1
        增加工作线程的数量将减少花费的时间
    
    
        hive.enforce.bucketing
        true
        是否启用bucketing,写入table数据
    
    
        hive.exec.dynamic.partition.mode
        nonstrict
        设置动态分区模式为非严格模式
    
-->    



将这部分内容注释掉,然后再启动Hive进行测试

性能提升了1s左右

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

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

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