ubuntu16.04 安装hive及配置

1.下载hive

http://mirror.bit.edu.cn/apache/hive/

ubuntu16.04 安装hive及配置

 ubuntu16.04 安装hive及配置

2.解压文件

tar -xvf apache-hive-3.1.2-bin.tar.gz

修改名称

mv apache-hive-3.1.2 hive

3.配置环境变量

1.修改~/.bashrc文件

vim ~/.bashrc

添加

export HIVE_HOME=/home/user/server/hive
export PATH=$PATH:$HIVE_HOME/bin
//立即生效source ~/.bashrc

2.修改hive-site.xml

//新建文件
cp hive-default.xml.template hive-default.xml
//新建文件
touch hive-site.xml

在hive-site.xml中添加<?xml version="1.0" encoding="UTF-8" standalone="no"?><?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
  </property>
  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>
  <!--数据库用户-->
  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>username to use against metastore database</description>
  </property>
  <!--数据库密码-->
  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>hive</value>
    <description>password to use against metastore database</description>
  </property>
</configuration>

4.在mysql中添加database

mysql -uroot -p
//输入密码进入
create database hive;

5.启动hadoop和hive

//启动hadoopbash start-all.sh
//启动hive./hive

ubuntu16.04 安装hive及配置

6.问题处理

1.启动hive时

Cannot find hadoop installation: $HADOOP_HOME or $HADOOP_PREFIX must be set or hadoop must be in the path

处理:

在confi目录下

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

在hive-env.sh添加

export HADOOP_HOME=/home/user/server/hadoop/hadoop-3.2.1

2.报错

Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1357)
    at org.apache.hadoop.conf.Configuration.set(Configuration.java:1338)
    at org.apache.hadoop.mapred.JobConf.setJar(JobConf.java:536)
    at org.apache.hadoop.mapred.JobConf.setJarByClass(JobConf.java:554)
    at org.apache.hadoop.mapred.JobConf.<init>(JobConf.java:448)
    at org.apache.hadoop.hive.conf.HiveConf.initialize(HiveConf.java:5141)
    at org.apache.hadoop.hive.conf.HiveConf.<init>(HiveConf.java:5099)
    at org.apache.hadoop.hive.common.LogUtils.initHiveLog4jCommon(LogUtils.java:97)
    at org.apache.hadoop.hive.common.LogUtils.initHiveLog4j(LogUtils.java:81)
    at org.apache.hadoop.hive.cli.CliDriver.run(CliDriver.java:699)
    at org.apache.hadoop.hive.cli.CliDriver.main(CliDriver.java:683)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.apache.hadoop.util.RunJar.run(RunJar.java:323)
    at org.apache.hadoop.util.RunJar.main(RunJar.java:236)

比较

/home/tjtl/user/hive/lib

/home/tjtl/user/hadoop/hadoop-3.2.1/share/hadoop/common/lib

两个目录下 guava jar包的版本,删除低版本,复制高版本

ubuntu16.04 安装hive及配置

ubuntu16.04 安装hive及配置

rm guava-19.0.jar 

cp ../../hadoop/hadoop-3.2.1/share/hadoop/common/lib/guava-27.0-jre.jar ./

相关推荐