hive3.1.2的详细安装配置

hive的安装配置:

官网上下载相关的hive软件包

把安装文件apache-hive-3.1.2-bin.tar.gz和mysql8.0的安装文件mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar和mydsql的jar包传输进集群里面

用tar命令解压hive安装包和mysql安装包,解压路径为/opt/moudle,命令为:

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module
​
mkdir /opt/module/mysql8.0
​
tar -zxvf mysql-8.0.27-1.el7.x86_64.rpm-bundle.tar -C /opt/module/mysql8.0

修改文件夹名称,之后先删除mariadb 和之前系统自带的mysql

rpm -qa | grep mariadb | rpm -qa | grep mariadb

(因为这个和mysql占用端口号一样)

安装mysql依赖

安装命令:按照顺序执行命令,如果遇到报错请自行百度

rpm -ivh mysql-community-common-8.0.27-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-client-plugins-8.0.27-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-libs-8.0.27-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-client-8.0.27-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-server-8.0.27-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-libs-compat-8.0.27-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-embedded-compat-8.0.27-1.el7.x86_64.rpm 
​
rpm -ivh mysql-community-devel-8.0.27-1.el7.x86_64.rpm

初始化mysql数据库

mysqld --initialize --console

目录授权:

chown -R mysql:mysql /var/lib/mysql/

启动mysql:

systemctl start mysqld.service

查看mysql服务启动状态:

systemctl status mysqld.service

查看mysql的临时密码:

grep "A temporary password" /var/log/mysqld.log

进入MySQL数据库之后修改密码:

mysql -uroot -p
​
set password=’123456’;

重新进入mysql:

mysql -uroot -p123456

更换数据库、修改host表内容创建metastore元数据库刷新并退出

Use mysql;
​
update user set host='%' where host='localhost';
​
delete from user where host!='%';
​
create database metastore;
​
flush privileges;
​
exit;

因为hive3.1.2中的有些jar包和比hadoop版本中的jar包版本低,所以我们需要进行一个jar包的替换,把hive中的/hive/lib中的guava-19.0.jar包改名为guava-19.0.jar.bak并从/hadoop-3.1.3/share/hadoop/common/lib中把guava-27.0-jre.jar复制到hive的lib目录下,并把log4j-slf4j-impl-2.10.0.jar文件改名,因为文件冲突问题。

把mysql-connect-java的jar包移动到hive的lib目录下

在hive的conf目录下创建hive-site.xml文件里面的内容为:

<?xml version="1.0"?>
​
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
​
<configuration>
​
  <!-- jdbc连接的URL -->
​
  <property>
​
    <name>javax.jdo.option.ConnectionURL</name>
​
    <value>jdbc:mysql://hadoop102:3306/metastore?useSSL=false</value>
​
</property>
​
 
​
  <!-- jdbc连接的Driver-->
​
  <property>
​
    <name>javax.jdo.option.ConnectionDriverName</name>
​
    <value>com.mysql.jdbc.Driver</value>
​
</property>
​
 
​
  <!-- jdbc连接的username-->
​
  <property>
​
    <name>javax.jdo.option.ConnectionUserName</name>
​
    <value>root</value>
​
  </property>
​
 
​
  <!-- jdbc连接的password -->
​
  <property>
​
    <name>javax.jdo.option.ConnectionPassword</name>
​
    <value>123456</value>
​
</property>
​
 
​
  <!-- Hive默认在HDFS的工作目录 -->
​
  <property>
​
    <name>hive.metastore.warehouse.dir</name>
​
    <value>/user/hive/warehouse</value>
​
  </property>
​
  
​
  <!-- Hive元数据存储的验证 -->
​
  <property>
​
    <name>hive.metastore.schema.verification</name>
​
    <value>false</value>
​
  </property>
​
  
​
  <!-- 元数据存储授权 -->
​
  <property>
​
    <name>hive.metastore.event.db.notification.api.auth</name>
​
    <value>false</value>
​
  </property>
​
  <!-- 指定存储元数据要连接的地址 -->
​
  <property>
​
   <name>hive.metastore.uris</name>
​
   <value>thrift://hadoop102:9083</value>
​
  </property>
​
  <!-- 指定hiveserver2连接的host -->
​
  <property>
​
   <name>hive.server2.thrift.bind.host</name>
​
   <value>hadoop102</value>
​
  </property>
​
 
​
  <!-- 指定hiveserver2连接的端口号 -->
​
  <property>
​
   <name>hive.server2.thrift.port</name>
​
   <value>10000</value>
​
  </property>
​
 
​
</configuration>

初始化元数据库:

schematool -initSchema -dbType mysql -verbose

在启动hive之前先启动hadoop集群

命令如下:

Start-dfs.sh

Start-yarn.sh

启动hive

/opt/module/hive/bin hive

启动hiveserver2

/opt/module/hive/bin hiveserver2

这样启动hiveserver2会占用当前窗口(我误以为卡了很久,其实是有窗口占用,其中可能会有报错tez大数据处理引擎信息,不要管,建议用下面这个命令)

nohup /opt/module/hive/bin hiveserver2 2&1 &

启动元数据库服务(同理建议用第二个命令)

hive --service metastore

nohup hive --service metastore 2>&1 &

用hive命令启动hive

hive

配置完成

  • 24
    点赞
  • 10
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值