centos7安装Hive2.3.0

1、下载Hive2.3.0


wget http://mirror.bit.edu.cn/apache/hive/hive-2.3.0/apache-hive-2.3.0-bin.tar.gz

2、解压到指定安装目录


tar -zxvf apache-hive-2.3.0-bin.tar.gz
mv apache-hive-2.3.0-bin /usr/local/hive
cd /usr/local/hive

3、配置/etc/profile,在/etc/profile中添加如下语句


export HIVE_HOME=/usr/local/hive
export PATH=$HIVE_HOME/bin:$PATH

使之生效

source /etc/profile 

4、安装MySQL数据库


参考 centos7下安装mysql(yum)


5、创建metastore数据库并为其授权


create database metastore;
grant all on metastore.* to hive@'%'  identified by 'hive';
grant all on metastore.* to hive@'localhost'  identified by 'hive';
flush privileges;

6、 下载jdbc connector


下载地址Connector/J 5.1.43

centos7安装Hive2.3.0_第1张图片

下载完成之后将其拷贝至$HIVE_HOME/lib目录下

mv mysql-connector-java-5.1.43.tar.gz $HIVE_HOME/lib

7、修改hive配置文件


cd /usr/local/hive/conf

7.1复制初始化文件并重改名

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

7.2修改hive-env.sh

export JAVA_HOME=/usr/local/jdk1.7.0_80    ##Java路径
export HADOOP_HOME=/usr/local/hadoop   ##Hadoop安装路径
export HIVE_HOME=/usr/local/hive    ##Hive安装路径
export HIVE_CONF_DIR=/usr/local/hive/conf    ##Hive配置文件路径

7.3在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 -R 777 /user/hive/warehouse
hdfs dfs -chmod -R 777 /user/hive/tmp
hdfs dfs -chmod -R 777 /user/hive/log

7.4修改hive-site.xml

<property>
    <name>hive.exec.scratchdirname>
    <value>/user/hive/tmpvalue>
property>
<property>
    <name>hive.metastore.warehouse.dirname>
    <value>/user/hive/warehousevalue>
property>
<property>
    <name>hive.querylog.locationname>
    <value>/user/hive/logvalue>
property>

## 配置 MySQL 数据库连接信息
<property>
    <name>javax.jdo.option.ConnectionURLname>
    <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=falsevalue>
  property>
  <property>
    <name>javax.jdo.option.ConnectionDriverNamename>
    <value>com.mysql.jdbc.Drivervalue>
  property>
  <property>
    <name>javax.jdo.option.ConnectionUserNamename>
    <value>hivevalue>
  property>
  <property>
    <name>javax.jdo.option.ConnectionPasswordname>
    <value>hivevalue>
  property>

7.5 创建tmp文件

 mkdir /home/hadoop/hive-2.1.1/tmp

并在hive-site.xml中修改:

把{system:java.io.tmpdir} 改成 /home/hadoop/hive-2.1.1/tmp/

把 {system:user.name} 改成 {user.name}

8、初始化hive


schematool -dbType mysql -initSchema hive hive

9、启动hive


下面介绍有两种启动方式:
9.1 hive CLI

hive

9.2 beeline

9.2.1 启动hiveserver2

nohup hiveserver2 &

9.2.2 查看hiveserver2启动状态

netstat -nptl | grep 10000

这里写图片描述

9.2.3 启动beeline

beeline

centos7安装Hive2.3.0_第2张图片

9.2.4连接hive

!connect jdbc:hive2://localhost:10000 hive hive

centos7安装Hive2.3.0_第3张图片

9.2.5 查看数据库

show databases;

centos7安装Hive2.3.0_第4张图片


10、安装时遇到的问题


10.1 在对数据库表进行查询、插入操作时出现下列异常:

 Exception: java.lang.OutOfMemoryError thrown from the UncaughtExceptionHandler in thread "main"

原因:客户端内存不够。
解决方法:适当增加内存
在hadoop-env.sh中修改属性HADOOP_CLIENT_OPTS的值,默认值为1024MB,可以根据实际内存大小对其进行修改,我的内存为8G,所以我将其修改为4096MB

export HADOOP_HEAPSIZE=4096

10.2Error: Could not open client transport with JDBC Uri: jdbc:hive2://localhost:10000: java.net.ConnectException: Connection refused (state=08S01,code=0)

centos7安装Hive2.3.0_第5张图片

原因:hiveserver2没有启动
解决方案:启动hiveserver2

nohup hiveserver2 &

你可能感兴趣的:(hadoop)