hive3.1.2安装
#解压hive安装包并修改文件夹名称
tar -zxvf /tmp/apache-hive-3.1.2-bin.tar.gz -C /home/
cd /home/
mv apache-hive-3.1.2-bin hive-3.1.2
#配置hive环境变量
#输入 vim /etc/profile,按i编辑
export HIVE_HOME=/home/hive-3.1.2
export PATH=
H
I
V
E
H
O
M
E
/
b
i
n
:
HIVE_HOME/bin:
HIVEHOME/bin:PATH
#到hive的conf目录下面,把 hive-default.xml.template 复制一个并改名
cp hive-default.xml.template hive-default.xml
#新建一个hive-site.xml文件(内容配置见子节点)
touch hive-site.xml
hive.exec.scratchdir /tmp/hive hive.metastore.warehouse.dir hdfs://hadoop04:9000/user/hive/warehouse javax.jdo.option.ConnectionURL jdbc:mysql://192.168.100.126:3306/hive?createDatabaseIfNotExist=true&useSSL=false&serverTimezone=GMT javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName hive javax.jdo.option.ConnectionPassword password_hive javax.jdo.option.Multithreaded true hive.cli.print.header true hive.cli.print.current.db true
#配置hive日志文件地址,先到conf目录下面,把日志文件改一下名称
mv hive-log4j2.properties.template hive-log4j2.properties
#然后 vim hive-log4j2.properties ,进入,修改默认的日志地址
property.hive.log.dir =
s
y
s
:
j
a
v
a
.
i
o
.
t
m
p
d
i
r
/
{sys:java.io.tmpdir}/
sys:java.io.tmpdir/{sys:user.name}
#更改为:
property.hive.log.dir = /hive/hive-3.1.2/logs
#之前在hive-site.xml配置了两个默认的文件夹,需要在hdfs里面提前创建好,并且赋权限,否则到时候进入hive客户端会报错。
hdfs dfs -mkdir -p /tmp/hive
hdfs dfs -mkdir -p /user/hive/warehouse
#赋权限
hdfs dfs -chmod -R 777 /tmp
hdfs dfs -chmod -R 777 /tmp
#刷新更改的环境变量,并生效
source /etc/profile
#mysql中创建hive相关的数据库及其账号
CREATE DATAbase hive DEFAULT CHARACTER SET utf8;
CREATE USER ‘hive’@’%‘IDENTIFIED BY ‘password_hive’;
GRANT ALL PRIVILEGES ON hive.* TO ‘hive’@’%’ IDENTIFIED BY ‘password_hive’;
GRANT ALL PRIVILEGES ON . TO ‘hive’@’%’ IDENTIFIED BY ‘password_hive’ WITH GRANT OPTION;
flush privileges;
#hive-site.xml中配置上对应的mysql信息
#hive初始化
schematool -dbType mysql -initSchema
异常解决
#启动hive报错:
Exception in thread “main” java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)V
#解决办法:guava-19.0.jar和hadoopjar包冲突(用hadoop的guava-27.0-jre.jar替换掉hive下的guava-19.0.jar包)
#先找到对应的jar包然后替换
find / -name guava*



