设为首页 加入收藏

TOP

在CentOS7下配置Hive
2018-12-04 17:14:46 】 浏览:107
Tags:CentOS7 配置 Hive
版权声明:本文为整理博主个人学习过程中遇到的问题和知识点,欢迎大佬们批评指正 https://blog.csdn.net/wxfghy/article/details/80620881

1. 前期准备

  1. 安装jdk 1.8.0
  2. 安装hadoop 2.9.0
  3. 安装mysql 5.6.39
  4. 下载mysql的jar包 mysql-connector-java-5.1.38.jar, 放入hive目录下的lib目录中
  5. 下载hive安装包 hive 2.3.3

2. 配置环境变量

  1. 解压缩到/home/hadoop/hive-2.3.3
  2. 修改/etc/profile添加hive的环境变量, 同时确保hadoop环境变量已配置
HIVE_HOME=/home/hadoop/hive-2.3.3
PATH=$HIVE_HOME/bin:$PATH
export PATH

3. 修改脚本文件hive-env.sh

  1. 脚本中被注释掉的hadoop目录和hiveconf目录路径,复制后放开注释并修改
HADOOP_HOME=/home/hadoop/hadoop-2.9.0
export HIVE_CONF_DIR=/home/hadoop/hive-2.3.3/conf

4. 在hive目录下创建本地日志和缓存目录

  1. 目录名自定义, logs用于存放日志, tmp用于存放缓存, 存放在自定义的hivedata目录下
mkdir -p /home/hadoop/hive-2.3.3/hivedata/logs
mkdir -p /home/hadoop/hive-2.3.3/hivedata/tmp

5. 在HDFS上创建三个目录, 修改权限统一为733

  1. logs和tmp分别存放日志和缓存
  2. warehouse用于存放元数据,即HDFS上文件在数据库中的结构映射等信息
hadoop fs -mkdir -p /hive/warehouse
hadoop fs -mkdir -p /hive/logs
hadoop fs -mkdir -p /hive/tmp
hadoop fs -chmod 733 /hive/*

6. 修改hive配置文件hive-site.xml

  1. hive-site.xml本身不存在, 通过模板复制改名获得
cp hive-default.xml.template hive-site.xml
  1. 修改hive-site.xml中各属性value, 均已存在需修改, 可通过属性name查找
<name>javax.jdo.option.ConnectionURL</name>#连接的数据库URL地址,通过参数指定若hive数据库不存在则创建
<value>jdbc:mysql://ghys3:3306/hivecreateDatabaseIfNotExist=true</value>
<name>javax.jdo.option.ConnectionDriverName</name>#数据库驱动,这里是mysql
<value>com.mysql.jdbc.Driver</value>
<name>javax.jdo.option.ConnectionUserName</name>#登录数据库用户名
<value>root</value>
<name>javax.jdo.option.ConnectionPassword</name>#登录数据库密码
<value>root</value>
<name>hive.metastore.warehouse.dir</name>#hive元数据存放目录,hdfs
<value>/hive/warehouse</value>
<name>hive.exec.scratchdir</name>#hive缓存存放目录,hdfs
<value>/hive/tmp</value>    
<name>hive.exec.local.scratchdir</name>#hive缓存存放目录,客户端
<value>/home/hadoop/hive-2.3.3/hivedata/tmp</value>
<name>hive.downloaded.resources.dir</name>#资源下载目录,客户端
<value>/home/hadoop/hive-2.3.3/hivedata/tmp</value>
<name>hive.querylog.location</name>#hive查询日志路径,客户端
<value>/home/hadoop/hive-2.3.3/hivedata/logs</value>
<name>hive.server2.logging.operation.log.location</name>#hive日志存放目录,客户端
<value>/home/hadoop/hive-2.3.3/hivedata/logs</value>
<name>hive.cli.print.current.db</name>#设置hive环境下默认显示当前所在数据库名称
<value>true</value>
<name>hive.exec.mode.local.auto</name>#设置hive环境下优先使用本地hadoop执行MR操作,节省时间
<value>true</value>
<name>hive.cli.print.header</name>#设置hive环境查询数据表时显示列名
<value>true</value>
<name>hive.mapred.mode</name>#设置查询模式为非严格,默认无法实现笛卡尔积查询
<value>nonstrict</value>

7. 修改日志属性文件hive-exec-log4j2.properties和vim hive-log4j2.properties

  1. 同样不存在, 通过模板复制改名获得
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
cp hive-log4j2.properties.template hive-log4j2.properties
  1. 修改两个的日志存放目录
property.hive.log.dir = /home/hadoop/hive-2.3.3/hivedata/logs

8. 初始化hive,连接mysql

  1. 确保mysql可连接
  2. 检查各路径是否正确
  3. 执行初始化命令:
    schematool -dbType mysql -initSchema
  4. 测试是否成功,输入命令hive可正常进入hive>模式
】【打印繁体】【投稿】【收藏】 【推荐】【举报】【评论】 【关闭】 【返回顶部
上一篇Hive总结(三)hive组件和执行过程 下一篇详解hive的列分隔符和行分隔符的..

最新文章

热门文章

Hot 文章

Python

C 语言

C++基础

大数据基础

linux编程基础

C/C++面试题目