CentOS下Hive2.3.0单机模式安装详解

本文介绍了在CentOS上安装Hive2.3.0的详细步骤,包括Hadoop伪分布式环境的搭建、MySQL数据库的准备、Hive的下载、配置、初始化以及常见问题的解决。同时,还涵盖了导入数据到Hive进行测试的全过程。
摘要由CSDN通过智能技术生成

1. 准备工作

操作系统 hive版本 jdk版本 hadoop版本 MySQL
centos7 2.3.0 1.8+ 2.7.3 mysql5.7

ps:Hive 2.3.0需要以下运行环境:
Java 1.7以上(强烈建议使用Java 1.8)
Hadoop 2.X

1.Hive和Hadoop一样,有3种启动模式,分别是单机模式,伪分布模式,分布模式。这里说一下伪分布模式(集群模式)的安装部署方案。
2.Hive默认使用derby数据库存储元数据,但是该数据库不适用于生产环境,这边使用MySQL作为元数据的存储数据库。
所以需要先安装好MySQL。
3.Hive依赖Hadoop,所以需要先安装并启动好Hadoop。
1.3 Hadoop

2.hadoop伪分布式的搭建

详细请参照此博客:http://blog.csdn.net/qq_38799155/article/details/77748831

3. 下载、解压安装包 ##

1.hive

1.1Hive官网地址:http://apache.fayea.com/hive/hive-2.3.0/
这里写图片描述
这里写图片描述
1.2通过xftp上传到hadoop用户的根目录下,解压安装包

//解压安装包
tar -zvxf apache-hive-2.3.0-bin.tar.gz
//移动解压后的hive到hive包中
mv apache-hive-2.3.0-bin hive

1.3配置环境变量(可选)
将hive-2.3.0/bin添加到path,以方便访问

vi .bashrc

在末尾添加:

# Hive Environment Variables
export HIVE_HOME=/home/hadoop/hive
export PATH=$PATH:$HIVE_HOME/bin

1.4修改hive配置文件

cd hive/conf
vi hive-site.xml     #也可以用hive-default.xml.template去改,不过这个文件中的配置项太多了

输入以下内容后保存:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
 <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>mysql</value>
  </property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://192.168.150.1:3306/hive_metadata?createDatabaseIfNotExsit=true&amp;characterEncoding=UTF-8 </value>
  </property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
  </property>
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
  </property>
<property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
 </property>
<property>
    <name>hive.metastore.schema.verification</name>
    <value>false</value>
  </property>
</configuration>

1.5加载驱动
下载地址:http://dev.mysql.com/downloads/connector/j/ ,解压后拷贝其中的mysql-connector-java-5.1.38-bin.jar到hive的lib文件夹下。

cd hive/lib

通过xftp,将下载的MySQL驱动上传至hive/lib文件夹下

2.MySQL数据库

2.1在windown下安装mysql,mysql开启远程访问权限

  //登录数据库
  mysql -u root -p
  //会提示输入数据库密码
  >use mysql;  
  //%为所有ip都可以远程访问
  mysql>update user set host = '%' where user = 'root';  
   //或直接添加一条语句也行     
   mysql>insert into user (host,user,password) values('192.168.0.51','root',password('123'));  
  //查看一下修改
   mysql>select host, user from user;    
   //推送设置到内存或重启服务器也行
  mysql>FLUSH PRIVILEGES 

ps:mysql的远程访问权限参考地址:http://www.cnblogs.com/hfdp/p/6088288.html

3. 初始化数据库

在这之前,先在Navicat Premium的数据库创建hive_metadata 库,之后初始化库:

schematool -initSchema -dbType derby

出现以下几行说明初始化成功:

Starting metastore schema initialization to 2.3.0
Initialization script hive-schema-2.3.0.derby.sql
Initialization script completed
schemaTool completed
4. 启动hive
hive

如果出现hive> 提示符则说明启动成功

4.hive常见的问题

4.1运行hive时出现

Exception in thread "main" java.lang.RuntimeException: Hive metastore database is not initialized. Please use schematool (e.g. ./schematool -initSchema -dbType ...) to create the schema. If needed, don't forget to include the option to auto-create the underlying database in your JDBC connection string (e.g. ?createDatabaseIfNotExist=true for mysql)

错误原因:
数据库没有初始化,请执行schematool -initSchema -dbType derby

Exception in thread "main" java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
    at org.apache.hadoop.hive.metastore.MetaStoreUtils.newInstance(MetaStoreUtils.java:1550)
    at org
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值