内容简介:Hive选择将压缩包复制至想要的安装位置,我的做法是复制到跟hadoop安装的同一个目录下。
Hive是一个数据仓库基础 工具 在Hadoop中用来处理结构化数据。它架构在Hadoop之上,总归为大数据,并使得查询和分析方便。并提供简单的 sql 查询功能,可以将sql语句转换为MapReduce任务进行运行。
前期工作
-
安装JDK
-
安装Hadoop
-
安装MySQL
下载并安装Hive
下载
选择 apache-hive-2.3.4-bin.tar.gz 进行下载。
安装
将压缩包复制至想要的安装位置,我的做法是复制到跟hadoop安装的同一个目录下。
sudo mv apache-hive-2.1.1-bin.tar.gz /usr/local/Cellar/hadoop cd /usr/local/Cellar/hadoop sudo tar -xzvf apache-hive-2.3.4-bin.tar.gz ##解压
设置系统环境变量
编辑bash_profile文件 vi .bash_profile
。
添加以下内容。
# Hive export HIVE_HOME=/usr/local/Cellar/hadoop/apache-hive-2.3.4-bin export PATH=$PATH:$HIVE_HOME/bin
使环境变量生效: source .bash_profile
配置文件hive.site.xml
进入 Hive/conf
文件夹 复制示例配置文件并改名为 hive.site.xml
cp hive-default.xml.template hive-site.xml
在开头添加如下配置。
<property> <name>system:java.io.tmpdir</name> <value>/tmp/hive/java</value> </property> <property> <name>system:user.name</name> <value>${user.name}</value> </property>
创建及配置HDFS文件夹
创建
在 Hive 中创建表之前需要创建以下 HDFS 目录并给它们赋相应的权限。
hdfs dfs -mkdir -p /user/hive/warehouse hdfs dfs -mkdir -p /user/hive/tmp hdfs dfs -mkdir -p /user/hive/log hdfs dfs -chmod 777 /user/hive/warehouse hdfs dfs -chmod 777 /usr/hive/tmp hdfs dfs -chmod 777 /usr/hive/log
创建完成后可以使用 hdfs dfs -ls /hive
查看是否已经成功新建文件夹。
配置
打开刚刚准备好的 hive-site.xml 配置文件,把刚刚新建的HDFS文件夹的路径添加到配置文件中去。
<property> <name>hive.exec.scratchdir</name> <value>hive/tmp</value> <description>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}.</description> </property> <property> <name>hive.metastore.warehouse.dir</name> <value>/hive/warehouse</value> <description>location of default database for the warehouse</description> </property> <property> <name>hive.querylog.location</name> <value>/hive/log</value> <description>Location of Hive run time structured log file</description> </property>
创建及配置Mysql
创建Hive数据库
假定你已经安装好MySQL。下面需要创建一个 hive 数据库用来存储 Hive 元数据
打开 Mysql 服务,并以root用户登入。
mysql.server start mysql -u root -p # 回车后输入密码 若无密码则使用 mysql -u root
创建用户名
进入mysql后,创建一个 hive 数据库用来存储 Hive 元数据,且数据库访问的用户名和密码都为hadoop。
CREATE DATABASE hive; USE hive; CREATE USER 'hadoop'@'localhost' IDENTIFIED BY 'hadoop'; GRANT ALL ON hive.* TO 'hive'@'localhost' IDENTIFIED BY 'hadoop'; GRANT ALL ON hive.* TO 'hive'@'%' IDENTIFIED BY 'hadoop'; FLUSH PRIVILEGES; quit; ``` ### 配置 将刚刚创建的数据库及用户名和密码写入配置文件。 ``` xml <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hadoop</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>hadoop</value> </property>
配置JDBC
由于需要使用 Java 连接Mysql数据库,所以需要配置MySQL Connector。我这里使用的是mysql-connector-java-5.1.39-bin版本 下载地址 。并将它复制进 $HIVE_HOME/lib
路径下
启动及测试
启动HDFS
使用Hive之前,请先确保HDFS已经启动。可以使用 start-dfs.sh
脚本来启动 HDFS。
Mysql初始化
从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作。
schematool -dbType mysql -initSchema
运行后终端将会显示如下信息
使用Hive CLI
要使用 Hive CLI(Hive command line interface), 可以在终端输入 Hive
,便可以进入。
启动信息如下:
创建一个table
CREATE TABLE pokes (foo INT, bar STRING);
show tables和desc pokes 显示信息如下
在HDFS中显示如下
以上就是本文的全部内容,希望本文的内容对大家的学习或者工作能带来一定的帮助,也希望大家多多支持 码农网
猜你喜欢:- 6、如何获取配置中心的配置
- React降级配置及Ant Design配置
- vscode 配置eslint 开发vue的相关配置
- git commit 规范校验配置和版本发布配置
- hadoop地址配置、内存配置、守护进程设置、环境设置
- 在hibernate中配置事务级别与命名查询配置【原创】
本站部分资源来源于网络,本站转载出于传递更多信息之目的,版权归原作者或者来源机构所有,如转载稿涉及版权问题,请联系我们。
码出高效:Java开发手册
杨冠宝、高海慧 / 电子工业出版社 / 2018-10 / 99.00元
《码出高效:Java 开发手册》源于影响了全球250万名开发工程师的《阿里巴巴Java开发手册》,作者静心沉淀,对Java规约的来龙去脉进行了全面而彻底的内容梳理。《码出高效:Java 开发手册》以实战为中心,以新颖的角度全面阐述面向对象理论,逐步深入地探索怎样成为一位优秀开发工程师。比如:如何驾轻就熟地使用各类集合框架;如何得心应手地处理高并发多线程问题;如何顺其自然地写出可读性强、可维护性好的......一起来看看 《码出高效:Java开发手册》 这本书的介绍吧!