二:hive3.1.2安装

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

<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
	<!--执行Hive操作访问HDFS时用于存储临时数据的目录,默认为/tmp/目录,通常设置
	为/tmp/hive/,目录权限设置为733-->
	<property>
		<name>hive.exec.scratchdir</name>
		<value>/tmp/hive</value>
	</property>
	<!-- 指定hbase在HDFS上存储的路径 -->
	<property>
		<name>hive.metastore.warehouse.dir</name>
		<value>hdfs://hadoop04:9000/user/hive/warehouse</value>
	</property>
	<!--设置Hive通过JDBC模式连接MySQL数据库metastore内容,端口改为你自己的端口,这个hiveDB数据库与在mysql数据库创建的hiveDB数据库对应,用来保存hive元数据-->
	<property>
		<name>javax.jdo.option.ConnectionURL</name>
		<value>jdbc:mysql://192.168.100.100:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;serverTimezone=GMT&amp;characterEncoding=UTF-8</value>
	</property>
	<!--设置Hive连接MySQL的驱动名称,最新版本连接MySQL的jar包 所有写com.mysql.cj.jdbc.Driver,如果是旧版本用com.mysql.jdbc.Driver-->
	<property>
		<name>javax.jdo.option.ConnectionDriverName</name>
		<value>com.mysql.jdbc.Driver</value>
	</property>
	<!--Hive连接存储metastore内容的数据库的用户名,填自己的用户-->
	<property>
		<name>javax.jdo.option.ConnectionUserName</name>
		<value>hive_username</value>
	</property>
	<!--Hive连接存储metastore内容的数据库的密码,填自己的密码-->
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hive_password</value>
	</property>
	<!--是否允许Hive与MySQL之间存在多条连接-->
	<property>
		<name>javax.jdo.option.Multithreaded</name>
		<value>true</value>
	</property>
	<!--配置查询的时候,显示数据库名和列表名称(这样看起来会舒服点)-->
	<property>
		<name>hive.cli.print.header</name>
		<value>true</value>
	</property>
	<property>
		<name>hive.cli.print.current.db</name>
		<value>true</value>
	</property>
</configuration>

#配置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*

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值