目录
win10安装Hadoop3.0.0:https://cloud.tencent.com/developer/article/1818630 win10安装Hive3.0.0:https://cloud.tencent.com/developer/article/1818598
下载地址: http://archive.apache.org/dist/hive/hive-3.0.0/ 下载文件:apache-hive-3.0.0-bin.tar
配置hive环境变量
变量名:HIVE_HOME 变量值:D:\Hadoop\Hive\apache-hive-3.0.0-bin 变量名:HIVE_CONF_DIR 变量值:D:\Hadoop\Hive\apache-hive-3.0.0-bin\conf
%HIVE_HOME%\bin
%HIVE_CONF_DIR%
下载 mysql-connector-java-5.1.47.jar ,添加到 lib目录下
1、启动hadoop集群:执行 D:\Hadoop\HDFS\hadoop-3.0.0\properties 目录下的 start-all.cmd 脚本
2、cmd 命令行执行以下命令,在 hdfs 上创建目录以及赋权
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
http://localhost:9870/explorer.html#/
删除与hadoop冲突的log4j jar包
将 %HIVE_HOME%\lib 目录下的 log4j-slf4j-impl-2.4.1.jar 改名为 log4j-slf4j-impl-2.4.1.jar.template
1、备份配置文件
将 %HIVE_HOME%\bin 目录改名为 bin.template
将 apache-hive-3.0.0-bin/conf 文件复制一份,改名为 conf.template
2、配置 Hive bin 目录
Hive 3.0.0 bin.zip:https://github.com/AlEinstein/BigData/blob/main/Hive/Hive%203.0.0/bin.zip
将下载的 Hive 3.0.0 bin.zip 文件解压到 Hive 根目录下
官方网址:https://cwiki.apache.org/confluence/display/Hive/AdminManual+Metastore+Administration
3、修改配置文件
hive-env.sh
# hive hsell 启动JVM的堆栈大小
export HADOOP_HEAPSIZE=2048
# hadoop的安装目录
HADOOP_HOME=D:\Hadoop\HDFS\hadoop-3.0.0
# hive的配置目录
export HIVE_CONF_DIR=D:\Hadoop\Hive\apache-hive-3.0.0-bin\conf
# hive的lib库目录
export HIVE_AUX_JARS_PATH=D:\Hadoop\Hive\apache-hive-3.0.0-bin\lib
hive-site.xml
<!-- Hive临时文件,用于存储每个查询的临时/中间数据集,通常在完成查询后由配置单元客户端清除 -->
<property>
<name>hive.exec.local.scratchdir</name>
<value>D:/Hadoop/Hive/apache-hive-3.0.0-bin/tmp/${system:user.name}</value>
</property>
<!-- hive添加资源时的临时目录 -->
<property>
<name>hive.downloaded.resources.dir</name>
<value>D:/Hadoop/Hive/apache-hive-3.0.0-bin/tmp/${hive.session.id}_resources</value>
</property>
<!-- Hive运行时结构化日志文件的位置 -->
<property>
<name>hive.querylog.location</name>
<value>D:/Hadoop/Hive/apache-hive-3.0.0-bin/tmp/${system:user.name}</value>
</property>
<!-- 用于验证metastore和hivejar包是否一致问题,默认为true。false:hive升级版本不一致只会警告 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<!-- 初始化数据库自动创建schema -->
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
<!-- 使用MySQL作为hive的元数据Metastore数据库 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!-- <value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&characterEncoding=latin1&useSSL=false</value> -->
<value>jdbc:mysql://localhost:3306/metastore?createDatabaseIfNotExist=true&useSSL=false</value>
</property>
<!-- MySQL JDBC驱动程序类 -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- 连接到MySQL服务器的用户名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- 连接MySQL服务器的密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!-- hive server2 thrift ip -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>localhost</value>
</property>
<!-- hive server2 thrift 端口 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<!-- Thrift Metastore服务器的主机和端口 默认 <value/> -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://localhost:9083</value>
</property>
<!-- 如果启用了日志功能,则存储操作日志的顶级目录 -->
<property>
<name>hive.server2.logging.operation.log.location</name>
<value>D:/Hadoop/Hive/apache-hive-3.0.0-bin/tmp/${system:user.name}/operation_logs</value>
</property>
初始化 Hive 元数据到 MySQL 数据库
将 D:\Hadoop\Hive\apache-hive-3.0.0-bin\scripts\metastore\upgrade\mysql 目录下的 hive-schema-3.0.0.mysql.sql 导入MySQL
hive --service schematool -dbType mysql -initSchema --verbose
初始化后 hive 在 MySQL metastore数据库生成的表数据
1、启动 Hive 元数据
hive --service metastore
2、启动 Hive server2 服务
hive --service hiveserver2
3、 启动 hive 命令行
hive