CentOS安装Hive

时间:2022-01-06 08:13:52

1、环境和软件准备:

hive版本:apache-hive-2.3.6-bin.tar.gz,下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

hadoop版本:hadoop-2.9.2.tar.gz

JDK版本:jdk-8u221-linux-x64.tar.gz

mysql版本:8.x

hive-2.x与hadoop-2.x匹配,hive-3.x与hadoop-3.x匹配。数据库主要是存放hive的元数据,可选,本文以mysql为例。

2、安装MySQL并创建hive数据库

详细安装见:CentOS下安装mysql5.7和mysql8.x

3、安装Hadoop

详细安装见:CentOS安装Hadoop

4、解压并配置Hive

将安装文件解压到/usr/local/目录,并重新命名为apache-hive-2.3.6

cd /usr/local/
tar -zxvf /var/ftp/pub/apache-hive-2.3.6-bin.tar.gz
mv apache-hive-2.3.6-bin/ apache-hive-2.3.6/

配置hive-log4j2.properties和hive-site.xml

cd /usr/local/apache-hive-2.3.6/conf/
cp hive-log4j2.properties.template hive-log4j2.properties
vi hive-site.xml

hive-site.xml内容(也可以从hive-default.xml.template拷贝,但我们只需要配置几项,其他配置默认即可)为:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.107.144:3306/hive?createDatabaseIfNotExist=true</value>
 </property>
 <property>
<name>javax.jdo.option.ConnectionDriverName</name>
  <value>com.mysql.jdbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>abc123</value>
</property>
</configuration>

5、初始化数据库

下载并拷贝protobuf-java-3.6.1.jar和mysql-connector-java-8.0.17.jar到$HIVE_HOME/lib目录下,删除已有的protobuf-java-2.5.0.jar文件。统一hive和mysql服务的时区。

ln -sf /usr/share/zoneinfo/Asia/Shanghai /etc/localtime // hive和mysql服务器都要执行,mysql要重启服务
cd /usr/local/apache-hive-2.3.6/bin/
schematool -dbType mysql -initSchema

CentOS安装Hive

命令执行完成后hive将生产以下表:

CentOS安装Hive

到这,hive算安装完成了,后面就对hive的操作。

6、Hive基本操作(先启动hadoop和mysql)

进入hive命令行

CentOS安装Hive

查询所有所有数据库

CentOS安装Hive

无报错,Hive安装完成。

7、使用hiveserver2和beeline

修改$HADOOP_HOME/etc/hadoop/core-site.xml文件,增加如下配置:

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

启动hiveserver2:

cd /usr/local/apache-hive-2.3.6/bin/
hiveserver2
hiveserver2 & // 以后台形式运行

CentOS安装Hive

进入beeline命令行:

beeline -u jdbc:hive2://192.168.107.143:10000

CentOS安装Hive