千家信息网

Hadoop学习之第七章节:Hive安装配置

发表于:2025-02-05 作者:千家信息网编辑
千家信息网最后更新 2025年02月05日,环境要求:mysqlhadoophive版本为:apache-hive-1.2.1-bin.tar1.设置hive用户进入mysql命令行,创建hive用户并赋予所有权限:mysql -uroot -
千家信息网最后更新 2025年02月05日Hadoop学习之第七章节:Hive安装配置




环境要求:


mysql

hadoop


hive版本为:apache-hive-1.2.1-bin.tar


1.设置hive用户


进入mysql命令行,创建hive用户并赋予所有权限:

mysql -uroot -proot

mysql>create user 'hive' identified by 'hive';

mysql>grant all on *.* TO 'hive'@'%' with grant option;

mysql>flush privileges;


2.创建hive数据库


使用hive用户登录,创建hive数据库:

mysql -uhive -phive

mysql>create database hive;

mysql>show databases;

3.安装Hive

下载hive安装文件

可以到Apache基金hive官网http://hive.apache.org/downloads.html,选择镜像下载地址:http://mirrors.cnnic.cn/apache/hive/下载一个稳定版本,


把mysql驱动放到hive的lib目录下

把下载的hive安装包和mysql驱动包,使用

cd /home/hadoop/Downloads

cp mysql-connector-java-5.1.34-bin.jar /usr/local/hive-0.12.0/lib


4.配置/etc/profile环境变量


使用如下命令打开/etc/profile文件:

sudo vi /etc/profile


#set hive path

export  HIVE_HOME=/usr/local/hiveexport  PATH=$PATH:$HIVE_HOME/binexport  CLASSPATH=$CLASSPATH:$HIVE_HOME/bin


使配置文件生效:

source /etc/profile



5.设置hive-env.sh配置文件


进入hive-0.12.0/conf目录,复制hive-env.sh.templaete为hive-env.sh:

cd /usr/local/hive-0.12.0/conf

cp hive-env.sh.template hive-env.sh

ls

vi hive-env.sh

分别设置HADOOP_HOME和HIVE_CONF_DIR两个值:




6.设置hive-site.xml配置文件

复制hive-default.xml.templaete为hive-site.xml

cp hive-default.xml.template hive-site.xml

sudo vi hive-site.xml


(1)加入配置项

默认metastore在本地,添加配置改为非本地 可以忽略此步

  hive.metastore.local  false

(2) 修改配置项

hive默认为derby数据库,需要把相关信息调整为mysql数据库

  hive.metastore.uris  thrift://hadoop1:9083  Thrift URI for the remote metastore. ...  javax.jdo.option.ConnectionURL  jdbc:mysql://hadoop1:3306/hive?=createDatabaseIfNotExist=true  JDBC connect string for a JDBC metastore  javax.jdo.option.ConnectionDriverName  com.mysql.jdbc.Driver  Driver class name for a JDBC metastore  javax.jdo.option.ConnectionUserName  hive  username to use against metastore database  javax.jdo.option.ConnectionPassword  hive  password to use against metastore database

(3) 订正错误项

在配置文件2000行左右配置项hive.server2.thrift.sasl.qop原来为auth,按照如下进行修改:

  hive.server2.thrift.sasl.qop  auth  

并把hive.metastore.schema.verification配置项值修改为false

  hive.metastore.schema.verification  false   




7.验证部署

启动metastore和hiveserver

在使用hive之前需要启动metastore和hiveserver服务,通过如下命令启用:



把MySQL的JDBC驱动包复制到Hive的lib目录下。

JDBC驱动包的版本:mysql-connector-java-5.1.18-bin.jar




以下也可以忽略

hive --service metastore &

hive --service hiveserver &

启动用通过jps命令可以看到两个进行运行在后台






8.在hive中操作

登录hive,在hive创建表并查看该表,命令如下:

hive

hive>create table test(a string, b int);

hive>show tables;

hive>desc test;




不能正常启动,处理方式为:


http://blog.csdn.net/olfisher/article/details/48730229


Terminal initialization failed; falling back to unsupported原因是hadoop目录下存在老版本jline:/hadoop-2.5.2/share/hadoop/yarn/lib:-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar 解决方法是:将hive下的新版本jline的JAR包拷贝到hadoop下:cp /hive/apache-hive-1.1.0-bin/lib/jline-2.12.jar ./ /hadoop-2.5.2/share/hadoop/yarn/lib:-rw-r--r-- 1 root root   87325 Mar 10 18:10 jline-0.9.94.jar.bak-rw-r--r-- 1 root root  213854 Mar 11 22:22 jline-2.12.jar





0