博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
CentOS7安装hive-2.1.0
阅读量:6481 次
发布时间:2019-06-23

本文共 3440 字,大约阅读时间需要 11 分钟。

hot3.png

环境:

CentOS7

Hadoop-2.6.4,配置两个节点:master、slave1

mysql-server

过程:

下载、解压hive-2.1.0到/usr/hadoop-2.6.4/thirdparty

$ tar zxvf apache-hive-2.1.0-bin.tar.gz

设置 Hive环境变量

编辑 /etc/profile文件, 在其中添加以下内容:

# Hive Envexport HIVE_HOME=/usr/hadoop-2.6.4/thirdparty/apache-hive-2.1.0-binexport PATH=$PATH:$HIVE_HOME/bin

使环境变量生效:

$ source /etc/profile

配置Hive

配置文件重命名

在运行 Hive 之前需要使用以下命令修改配置文件:

复制代码

cd /usr/hadoop-2.6.4/thirdparty/apache-hive-2.1.0-bin/conf
cp hive-env.sh.template hive-env.sh cp hive-default.xml.template hive-site.xml cp hive-log4j2.properties.template hive-log4j2.properties cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties

复制代码

修改hive-env.sh

因为 Hive 使用了 Hadoop, 需要在 hive-env.sh 文件中指定 Hadoop 安装路径:

export JAVA_HOME=/usr/java/jdk-1.8.0_101    ##Java路径export HADOOP_HOME=/usr/hadoop-2.6.4   ##Hadoop安装路径export HIVE_HOME=/usr/hadoop-2.6.4/thirdparty/apache-hive-2.1.0-bin    ##Hive安装路径export HIVE_CONF_DIR=$HIVE_HOME/conf    ##Hive配置文件路径

修改hive-site.xml

对应<name/>,修改成如下<value/>值:

复制代码

hive.exec.scratchdir
/tmp/hive-${user.name}
HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch dir: ${hive.exec.scratchdir}/<username> is created, with ${hive.scratch.dir.permission}.
hive.exec.local.scratchdir
/tmp/${user.name}
Local scratch space for Hive jobs
hive.downloaded.resources.dir
/tmp/hive/resources
Temporary local directory for added resources in the remote file system.
hive.querylog.location
/tmp/${user.name}
Location of Hive run time structured log file
hive.server2.logging.operation.log.location
/tmp/${user.name}/operation_logs
Top level directory where operation logs are stored if logging functionality is enabled

复制代码

配置Hive Metastore

默认情况下, Hive的元数据保存在了内嵌的 derby 数据库里, 但一般情况下生产环境使用 MySQL 来存放 Hive 元数据。

  1. 将 mysql-connector-java-5.1.40-bin.jar 放入 $HIVE_HOME/lib 下。
  2. hive-site.xml 中配置 MySQL 数据库连接信息。

复制代码

javax.jdo.option.ConnectionURL
jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false
javax.jdo.option.ConnectionDriverName
com.mysql.jdbc.Driver
javax.jdo.option.ConnectionUserName
hive
javax.jdo.option.ConnectionPassword
hive

复制代码

为Hive创建HDFS目录

在 Hive 中创建表之前需要使用以下 HDFS 命令创建 /tmp 和 /user/hive/warehouse (hive-site.xml 配置文件中属性项 hive.metastore.warehouse.dir 的默认值) 目录并给它们赋写权限。

start-dfs.shhdfs dfs -mkdir /tmphdfs dfs -mkdir -p /usr/hive/warehousehdfs dfs -chmod g+w /tmphdfs dfs -chmod g+w /usr/hive/warehouse

给mysql创建用户hive/密码hive:

$ mysql -u root -p #密码已设为123456mysql> CREATE USER 'hive'@'localhost' IDENTIFIED BY "hive";mysql> grant all privileges on *.* to hive@localhost identified by 'hive';

 

运行Hive

在命令行运行 hive 命令时必须保证 HDFS 已经启动。可以使用 start-dfs.sh 来启动 HDFS。

从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。

$ schematool -dbType mysql -initSchema

运行结果:

要使用 Hive CLI(Hive command line interface), 可以在终端输入以下命令:

$ hive

启动信息如下:

 

 

 使用 show tables 来显示所有的表:

 

转载于:https://my.oschina.net/maiyatang/blog/792879

你可能感兴趣的文章
Django templates加载css/js/image等静态资源
查看>>
Eclipse C + GTK2.0环境构筑
查看>>
caffe solver
查看>>
Rhel6-heartbeat+lvs配置文档
查看>>
ORACLE分科目统计每科前三名的学生的语句
查看>>
0317复利计算的回顾与总结
查看>>
函数对象
查看>>
最全最新个税计算公式---今天你税了吗?
查看>>
linux shell 正则表达式(BREs,EREs,PREs)差异比较(转,当作资料查)
查看>>
MongoDB--CSharp Driver Quickstart .
查看>>
二分法求平方根(Python实现)
查看>>
使用startActivityForResult方法(转)
查看>>
so在genymotation中错误问题
查看>>
Visual Studio 原生开发的10个调试技巧(二)
查看>>
Windows内核再次出现0Day漏洞 影响win2000到win10所有版本 反病毒软件恐成瞎子
查看>>
H3C品牌刀片系统强势首发
查看>>
【CSS系列】图像映射
查看>>
First blood
查看>>
java 冒泡排序和快速排序 实现
查看>>
SQL存储过程中的几个常见设定SET QUOTED_IDENTIFIER/NOCOUNT/XACT_ABORT ON/OFF
查看>>