Hive的安装与配置

安装和配置Hive,前提你已经成功安装和配置了Hadoop。

       如果你的Hadoop是完全分布式安装,那么Hive就需要在每一个节点上安装,但是一般自己玩的话安装Hadoop伪分布式就足够了。Hive需要存储metastore,metadata即元数据,元数据包括用Hive创建的database,table等信息,元数据存储在关系型数据库中,我使用的是MariaDB,关于MariaDB的安装和部署在这里不再赘述,这里默认你已经安装配置好了数据库,无论是MySQL,Postgres,DB2等。metastore的作用是在客户端连接metastore服务,metastore再去连接关系型数据库获取元数据,有了metastore服务,就可以有多个客户端同时连接,而且这些客户端不需要知道关系型数据库的存在,只需要连接metastore服务即可。

       三种配置方式的区别:(内嵌,本地元存储,远程源存储)

  • 内嵌模式使用的是内嵌的Derby数据库来存储元数据,也不需要额外启动metastore,但是一次只能一个客户端连接,适用于实验环境
  • 本地元存储和远程元存储都采用外部数据库来存储元数据,支持MySQL,MariaDB,Postgers,Oracle等,我使用的是MariaDB
  • 本地元数据存储和远程元数据存储的区别是,本地元数据存储不需要单独启动metastore服务,用的是跟hive在同一个进程里的metastore服务,远程元数据存储需要使用命令hive --service hiveserver2来启动

配置步骤如下(我默认在root权限下进行操作,会省去很多麻烦):

我安装的是2.20版本,点击下载

1、解压缩

#cd /usr/local
#tar -zxf apache-hive-....tar.gz
#mv apache-hive-... hive

2、设置环境变量

vim /etc/profile
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.
source /etc/profile

3、jdbc的jar包

        将对应自己数据库的jdbc的jar包拷贝到/usr/local/hive/lib目录下,例如我的是mariadb-java-client-2.2.3.jar

4、配置配置文件

#cd /usr/local/hive/conf
#cp hive-env.sh.template hive-env.sh
#vim hive-env.sh
export HADOOP_HOME=/usr/local/hadoop

#vim hive-site.xml  

键入一下内容,其中数据库配置根据自己实际情况

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
<name>hive.metastore.local</name>
  <value>true</value>
</property>
    <property>
       <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://127.0.0.1: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>111111</value>
   </property>
</configuration>

5、在HDFS中配置hive的存取目录

# $HADOOP_HOME/bin/hadoop fs -mkdir /tmp 
# $HADOOP_HOME/bin/hadoop fs -mkdir /user
# $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive
# $HADOOP_HOME/bin/hadoop fs -mkdir /user/hive/warehouse
# $HADOOP_HOME/bin/hadoop fs -chmod g+w /tmp 
# $HADOOP_HOME/bin/hadoop fs -chmod g+w /user/hive/warehouse

6、测试hive命令

#hive

如下图所示:


7、开启远程连接服务

#hive --service hiveserver2 &

#jps

如下图所示,metastore服务即开启,我们也可以使用客户端创建一个hive连接,类似于各种关系型数据库的客户端管理工具



猜你喜欢

转载自blog.csdn.net/li_and_li/article/details/80332705
今日推荐