hive部署

官网

Apache Hive TMhttps://hive.apache.org/

下载安装包

 

 

 

 

 上传

[ssn@ssn9520 ~]$ cd software/
[ssn@ssn9520 software]$ rz

解压

[ssn@ssn9520 software]$ tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /home/ssn/app/

 

修改环境变量

[ssn@ssn9520 ~]$ vi .bashrc
追加
export HIVE_HOME=/home/ssn/app/apache-hive-3.1.2-bin
export PATH=$HIVE_HOME/bin:$PATH
[ssn@ssn9520 ~]$ source .bashrc

 整合mysql

a.hive-site.xml  需要自己添加

我只配置了访问路径 用户名 密码 和连接数据库驱动

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<!--连接数据的用户名-->
  <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>root</value>
  </property>
<!--连接数据的密码-->
  <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>root</value>
  </property>
<!--mysql数据库的访问路径,没有路径则自动创建-->
  <property>
      <name>javax.jdo.option.ConnectionURL</name>
      <value>jdbc:mysql://node03:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false</value>
  </property>
<!--连接数据库的驱动-->
  <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>com.mysql.jdbc.Driver</value>
  </property>
<!--元数据是否校验-->
  <property>
      <name>hive.metastore.schema.verification</name>
      <value>false</value>
  </property>
<!--是否自动创建核心文件-->
  <property>
    <name>datanucleus.schema.autoCreateAll</name>
    <value>true</value>
  </property>
<!--thrift服务器绑定的主机-->
  <property>
    <name>hive.server2.thrift.bind.host</name>
    <value>hadoop104</value>
  </property>

<!--默认的存储地址-->
 <property>
  <name>hive.metastore.warehouse.dir</name>
  <value>hdfs://hadoop102:9000/user/hive/warehouse</value>
  <description>location of default database for the warehouse</description>
</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>
[ssn@ssn9520 conf]# pwd
/home/ssn/app/apache-hive-3.1.2-bin/conf
[ssn@ssn9520 conf]# vi hive-site.xml

b.连接mysql数据库的驱动包系统没有内置,需要手动下载,地址如下

jdbc下载地址:Central Repository: mysql/mysql-connector-javahttps://repo1.maven.org/maven2/mysql/mysql-connector-java/

 

 

[ssn@ssn9520 lib]$ rz  

已上传成功

 c.在hive-env.sh.template配置hive_home,如何之前按照步骤配置过环境变量,这一步可以跳过

[ssn@ssn9520 conf]$ vi hive-env.sh.template 

初始化

[ssn@ssn9520 bin]$schematool -dbtype mysql -initSchema

运行之后报错:

 /home/ssn/app/hadoop/share/hadoop/common/lib         hadoop中guava包版本如图

 /home/ssn/app/apache-hive-3.1.2-bin/lib

hive中 guava版本如图

 

 解决方法:将低版本的删除掉,然后将高版本的拷贝过来

然后登录Mysql

mysql -uroot -p

新建Hive元数据库

mysql> create database metastore;
mysql> quit;

初始化Hive元数据库

schematool -initSchema -dbType mysql -verbose

运行

./hive

[ssn@ssn9520 bin]$ ./beeline
beeline> !connect jdbc:hive2://localhost:10000 scott tiger

解决方案: 

原因:hiveserver2增加了权限控制,需要在hadoop的配置文件中配置 

解决方法:在hadoop的core-site.xml中添加如下内容,然后重启hadoop,再使用beeline连接即可

参考官网: Apache Hadoop 3.3.1 – Proxy user - Superusers Acting On Behalf Of Other Users

<property>
    <name>hadoop.proxyuser.hadoop.hosts</name>
    <value>*</value>
</property>
<property>
    <name>hadoop.proxyuser.hadoop.groups</name>
    <value>*</value>
</property>

补充:修改hive日志存放目录

进入HIVE的conf目录

 

复制hive-log4j2.properties.template为hive-log4j2.properties

cp hive-log4j2.properties.template hive-log4j2.properties

 

vi hive-log4j2.properties 

 

 修改目标文件地址为自己想存放的地址 本人在HIVE的目录下创建了个logs文件夹,存放在此处

 故修改目的地址为上图地址

 修改成功之后,重启hive

测试:

 进入logs文件夹

tail -20f hive.log

 已修改成功

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值