当前位置:   article > 正文

Linux上安装Hive3.1.2,集成Hadoop3.1.2_hadoop3 + hive3.1.2

hadoop3 + hive3.1.2

安装包下载
官网地址:
下载和Hadoop匹配的hive稳定版本 官网:http://hive.apache.org/downloads.html (看和你安装的Hadoop版本相对应)Hive是基于Hadoop的,请先提交安装好Hadoop并且启动hdfs。
然后把安装包上传到服务器 ,并且解压,

tar -zxvf apache-hive-3.1.2-bin.tar.gz
  • 1

解压完成后,更改一下名称

mv apache-hive-3.1.2-bin hive-3.1.2
  • 1

然后配置一下,hive环境变量

输入 vim /etc/profile,按i编辑

export  HIVE_HOME=/data/hive-3.1.2
export  PATH=$HIVE_HOME/bin:$PATH

  • 1
  • 2
  • 3

刷新更改的环境变量,并生效

source /etc/profile
  • 1

到conf目录下面,把 hive-default.xml.template 改一下名称

mv hive-default.xml.template hive-default.xml
  • 1

然后,自己新建一个 hive-site.xml,配置如下,有些人要改hive-default.xml里面的配置,其实不用,如果我们自定义配置,会覆盖默认配置的。自定义的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://wumingkai: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.0.112:3306/hivedb?=createDatabaseIfNotExist=true</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</value>
	</property>
	<!--Hive连接存储metastore内容的数据库的密码,填自己的密码-->
	<property>
		<name>javax.jdo.option.ConnectionPassword</name>
		<value>hivehive</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>
  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49

配置hive日志文件地址,先到conf目录下面,把日志文件改一下名称

mv hive-log4j2.properties.template hive-log4j2.properties
  • 1

然后 vim hive-log4j2.properties ,进入,修改默认的日志地址

property.hive.log.dir = ${sys:java.io.tmpdir}/${sys:user.name}
 更改为:
property.hive.log.dir = /data/hive-3.1.2/logs

  • 1
  • 2
  • 3
  • 4

下载mysql驱动,然后放到hive安装目录的lib文件夹下面,(因为我之前本地已经安装过了mysql,所以mysql的 安装教程这里不写)
驱动下载地址

https://mvnrepository.com/artifact/mysql/mysql-connector-java
  • 1

因为我mysql安装的5.7版本,所以驱动我下载了5.1.49版本的

之前在hive-site.xml配置了两个默认的文件夹,需要在hdfs里面提前创建好,并且赋权限,否则到时候进入hive客户端会报错。

hdfs dfs -mkdir -p /tmp/hive
hdfs dfs -mkdir -p /user/hive/warehouse
  • 1
  • 2

赋权限

hdfs dfs -chmod -R 777 /tmp
hdfs dfs -chmod -R 777 /tmp
  • 1
  • 2

初始化元数据

schematool -dbType mysql -initSchema
  • 1

linux上输入hive进入客户端
在这里插入图片描述
成功进入
在这里插入图片描述
mysql创建用户和赋权限能远程访问语句

//创建用户
CREATE USER ‘hive’@’%’ IDENTIFIED BY ‘hivehive’;

//授权hive用户拥有 hivedb 数据库的所有权限
grant all privileges on hivedb.* to hive@’%’ identified by ‘hivehive’;

自学大数据的路中,建了一个交流群,678513209。有转大数据的小伙伴,加群一起交流

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/2023面试高手/article/detail/504889
推荐阅读
相关标签
  

闽ICP备14008679号