hadoop3下配置hive3.0.0详细过程步骤

安装好hadoop3之后就需要安装hive了。在安装之前,需要了解清楚准备步骤和版本对应问题。
在安装hive之前需要先安装mysql或者mariadb,两者之间的区别及共性在此不做赘述。
关于版本对应问题,需要了解的是不同的hadoop版本所配置的hive,hbase等工具的版本是不同的,hive版本对应可以参考Hive:http://hive.apache.org/downloads.html,hbase版本对应可以参考这里HBase:http://hbase.apache.org/book.html#java,而在查询之后我得知我的版本对应关系应如下:
Hadoop:3.2.1
Hive:3.0.0及以上
HBase:2.2.x,2.3.x
Zookeeper:3.4.10及以上
Spark:2.3.x及以上
了解清楚后这里是主要步骤:

下载安装mariadb
下载解压hive
配置路径和文件
调整guava.jar版本
下载配置mariadb-jdbc驱动
初始化
启动hive

一、下载安装mariadb
本文使用的是centos 7.7版本,安装mariadb 5.5.65版本。安装过程步骤,可以参考这篇博文Centos7 下Mariadb 安装及权限设置

二、下载解压hive
在master节点上安装hive,下载地址:http://archive.apache.org/dist/hive/hive-3.0.0/下载到/usr/local完毕后解压,修改目录名

[root@master local]# tar -xzvf apache-hive-3.0.0-bin.tar.gz
[root@master local]# mv apache-hive-3.0.0-bin hive-3.0.0

三、配置路径及文件
1.创建以下目录:

[root@master ~]# mkdir /root/hive/iotmp

2.配置全局路径

[root@master ~]# vim /etc/profile

将以下路径追加到文件末尾后保存

export HIVE_HOME=/usr/local/hive-3.0.0
export PATH=$PATH:$HIVE_HOME/bin

使其生效

[root@master ~]# source /etc/profile

3.配置文件hive-env.sh
切换到目录,从模板复制用以配置

[root@master ~]# cd /usr/local/hive-3.0.0/conf
[root@master conf]# cp hive-env.sh.template hive-env.sh

将以下内容追加至文件后保存

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.252.b09-2.el7_8.x86_64/jre

export HADOOP_HOME=/usr/local/hadoop-3.2.1

export HIVE_HOME=/usr/local/hive-3.0.0

export HIVE_CONF_DIR=/usr/local/hive-3.0.0/conf

4.配置文件hive-site.xml

[root@master conf]# cp hive-default.xml.template hive-site.xml

编辑文件hive-site.xml,将以下内容中的value值替换掉文件原本的默认值,可以在命令模式下输入name值进行查找。

#逐个替换
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true</value>
    </property>
    <property>
       <name>javax.jdo.option.ConnectionDriverName</name>
       <value>org.mariadb.jdbc.Driver</value>
    </property>
    <property>
       <name>javax.jdo.option.ConnectionUserName</name>
       <value>root</value>
    </property>
    <property>
       <name>javax.jdo.option.ConnectionPassword</name>
       <value>123456</value>
    </property>
    <property>
       <name>hive.metastore.warehouse.dir</name>
       <value>/user/hive/warehouse</value>      #会在hdfs生成相应路径
    </property>
    <property>
       <name>hive.exec.scratchdir</name>
       <value>/user/hive/tmp</value>     #会在hdfs生成相应路径
    </property>
    <property>
       <name>hive.querylog.location</name>
       <value>/user/hive/log</value>
    </property>


<property>
  <name>hive.exec.local.scratchdir</name>
    <value>/root/hive/iotmp</value>
    <description>Local scratch space for Hive jobs</description>
</property>

 <property>
   <name>hive.downloaded.resources.dir</name>
    <value>/root/hive/iotmp</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
 </property>

注:javax.jdo.option.ConnectionDriverName是对应数据库的jdbc驱动,如果数据库是mysql则值为com.mysql.jdbc.Driver,若数据库是mariadb则值为org.mariadb.jdbc.Driver
修改完后查找值这个非法字符并删掉,保存文件。
hadoop3下配置hive3.0.0详细过程步骤_第1张图片4.配置log4j2文件
直接从模板拷贝出来即可

[root@master conf]# cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties
[root@master conf]# cp hive-log4j2.properties.template hive-log4j2.properties

四、配置guava.jar文件
参考到这篇博客hive环境搭建提示: java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument
比对/usr/local/hive-3.0.0/lib里的guava.jar和/usr/local/hadoop-3.2.1/share/hadoop/common/lib里的guava.jar的版本,统一使用新的版本。

五、下载配置mariadb-jdbc驱动
下载地址:https://downloads.mariadb.org/connector-java/,下载好后拷贝到/usr/local/hive-3.0.0/lib里。

六、初始化
输入命令

[root@master lib]# schematool -dbType mysql -initSchema

若成功,将会在运行末尾出现
在这里插入图片描述七、启动hive
先将hadoop3的master节点和slave节点均启动,然后在/usr/local/hive-3.0.0/bin目录下执行

[root@master bin]# ./hive

若成功则会出现
hadoop3下配置hive3.0.0详细过程步骤_第2张图片退出hive的命令为quit;
进入mysql后可以看到新增加了hive库
hadoop3下配置hive3.0.0详细过程步骤_第3张图片
至此已完成在hadoop3上配置hive3.0.0

总结:安装的过程中遇到不少bug,除了查看其它博客,还需要保持自己的思路,找到能解决目前问题的办法。

你可能感兴趣的:(Hadoop,hadoop,hive)