【hive-4.0.0 保姆级安装摆设】
hive配置前置条件
[*]hadoop-3.3.6 => 关于hadoop 的安装可查看主页文章
[*]mysql-8.37 => 关于 mysql 的安装可查看主页文章
[*]hive-4.0.0
开始安装hive
1、 设置系统情况变量
vim /etc/profile.d/bigdata_env.sh bigdata_env.sh => 为新建的存放个人设置的情况变量的文件
export HIVE_HOME=/opt/module/hive
export PATH=$HIVE_HOME/bin:$PATH
2、必要在mysql中创建metastore数据库作为hive的元数据库
# 创建hive需要的元数据库
create database metastore;
# 创建一个mysql数据库用户hive,设置密码为123456
create user 'hive'@'%' identified by '123456';
# 授予metastore数据库的所有权限给hive用户
grant all privileges on metastore.* to 'hive'@'%';
3. 上传jdbc驱动jar包 到 hive的lib目次下 => 查看hive/lib目次底下有无mysql的jdbc的jar包
mv mysql-connect-j-8.3.0.jar /opt/module/hive/lib
4. 必要在hive的conf目次底下修改 hive-site.xml (没有此文件,则新建一个)
<configuration>
<!--指定hive在hdfs中存放数据的路径-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/hive</value>
</property>
<!--指定jdbc要连接的数据库的url地址-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/metastore</value>
</property>
<!--指定jdbc驱动的Driver类名-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
</property>
<!--指定要连接的元数据库的用户名-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
</property>
<!--指定要连接的元数据库的用户名的密码-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<!-- 指定存储元数据要连接的地址 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
</property>
<!-- 指定hiveserver2连接的host -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>master</value>
</property>
<!-- 指定hiveserver2连接的端口号 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<!-- hiveserver2的高可用参数,如果不开会导致了开启tez session导致hiveserver2无法启动 -->
<property>
<name>hive.server2.active.passive.ha.enable</name>
<value>true</value>
</property>
<!--解决Error initializing notification event poll问题-->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
</configuration>
附:初始化元数据库前,要更换hive的lib目次底下的guava这个jar包,将hadoop这个目次share/hadoop/common/lib底下的guava包复制一个到hive的lib底下,否则会报这个没有相干方法的错误,缘故原由是因为hive自带的guava包版本太低了,没有相干的方法https://i-blog.csdnimg.cn/direct/e5fd4c8c9c2f4944a86bc1a76984d88d.png#pic_center
5. 初始化元数据库
schematool-initSchema -dbType mysql -verbose
出现这个既初始化成功
https://i-blog.csdnimg.cn/direct/24ee735850054a1897e315e0ffe12b2b.png#pic_center
6. 启动hive => 启动 hive 前必要先启动 hadoop 服务,hive 依靠 hadoop 服务
[*]启动hadoop start-all.sh
[*]hive --service metastore&
[*]hive --service hiveserver2&
7. 测试beeline启动成功
[*]命令行输入 hive
[*]进入Beeline 后输入
# hive2是hiveserver2
# master:10000 是hive-site.xml文件中指定的server2要连接的主机和端口号
# hive是要进入数据库的用户名
# 123456是该用户名对应的密码
!connect jdbc:hive2://master:10000 hive 123456
[*]大概直接在master节点输入以下命令
beeline -u jdbc:hive2://master:10000 --verbose=true
附:
此hive是基于mysql安装的,是以mysql作为元数据库
如果在安装hive的过程中出现类似找不到hive-schema-4.0.0.mysql.sql的错误,
在你安装的hive根目录底下的这个路径里面/scripts/metastore/upgrade
找一下有没有mysql的目录,
如果没有自己创建一个,再把hive-schema-4.0.0.mysql.sql这个jar包上传到mysql目录里面去
有的话,就找一下有没有hive-schema-4.0.0.mysql.sql这个jar包,没有的话就上传上去。
或者里面有其他版本的这个jar包,也可以指定一下版本......
hive-schema-4.0.0.mysql.sql此jar包可以去github里面下载,
在github的hive里面的standalone-metastore/metastore-server/src/main/sql/mysql里面可以找到上面那个jar包
免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。
页:
[1]