linux上Hive-2.3.2的安装和部署

参考官网:https://cwiki.apache.org/confluence/display/Hive/GettingStarted

1. 服务器要求:

Java1.7或以上,建议java1.8

Hadoop2.x

2. 获取安装包

官网地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/  可以选择合适的版本下载

下载地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.2/apache-hive-2.3.2-bin.tar.gz

可以直接使用wget命令直接下载到linux服务器上。

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.3.2/apache-hive-2.3.2-bin.tar.gz

3. 解压安装包即安装

tar xvf apache-hive-2.3.2-bin.tar.gz

4. 启动hdfs,为hive创建文件夹并授权,用于数据存储

$HADOOP_HOME/sbin/start-dfs.sh
$HADOOP_HOME/bin/hadoop fs -mkdir tmp
$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

通过hive存储的数据实际存在hdfs上。

5. 初始化

hive的元数据(如表定义)存储在derby数据库或mysql数据库里。

5.1 使用derby数据库
$HIVE_HOME/bin/schematool -dbType "derby" -initSchema

好处:不需要额外安装

缺点:derby只允许单连接,无法两个客户端连接到hive;

初始化的时候会在当前路径生成一个metastore文件,当切换路径去启动hive时,会找不到该文件,报错。

不建议使用derby数据库。

5.2 使用mysql数据库

(1)配置hive-site.xml文件

vim $HIVE_HOME/conf/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.warehouse.dir</name>
         <value>/user/hive/warehouse</value><!-- 实际数据在hdfs上存储路径 -->
    </property>
    <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&useSSL=false</value>
    </property>
    <property>
            <name>javax.jdo.option.ConnectionDriverName</name>
            <value>com.mysql.jdbc.Driver</value><!-- jdbc驱动 -->
    </property>
    <property>
            <name>javax.jdo.option.ConnectionUserName</name>
            <value>root</value><!-- mysql账号 -->
    </property>
    <property>
            <name>javax.jdo.option.ConnectionPassword</name>
            <value>rootpassword</value><!-- mysql密码 -->
    </property>
</configuration>

(2)需要将mysql jdbc驱动包拷至$HIVE_HOME/lib/下

官网地址:https://dev.mysql.com/downloads/connector/j/ 选择JDBC

下载地址:https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.46.tar.gz

可以使用wget下载,并使用tar xvf命令解压,拷贝其中的mysql-connector-java-5.1.46.jar

(3)初始化mysql数据库

$HIVE_HOME/bin/schematool -dbType mysql -initSchema

6. 运行Hive

$HIVE_HOME/bin/hive

7. 简单的表操作,数据操作

show databases;

show tables;

create table test (id int ,name string ) row format delimited fields terminated by ' ';

load data local inpath'/root/lbl/file/hivetest' overwrite into table test;

select * from test;

第三行是创建表,表数据会存在hdfs的文件中,表的一行数据在文件中也是一行,列与列之间以‘ ’间隔。

第四行是将本地文件读取到表中,文件内容如下:

1 a
2 b
3 c


猜你喜欢

转载自blog.csdn.net/lblblblblzdx/article/details/79746649