Hive安装与配置(Linux)

本文详细介绍Hive在CentOS6.6上的安装与配置流程,包括环境准备、Hive下载与解压、环境变量配置、数据仓库与临时目录设置、hive-site.xml配置、hive-env.xml配置、数据库初始化及启动等关键步骤。

1.说明

(1)安装Hive之前必须配置好hadoop环境;

(2)安装Hive之前必须配置好JDK;

(3)本文建议安装mysql数据库·;

(4)Hive可以只安装在namenode所在的机器上,如果NameNode有多个,则每个都需要安装,可以不在datanode上安装。

(5)本文hadoop的运行采用伪分布式;

(6)本文中的所有目录(路径)均为本人自定义,访客可根据自己的需求进行更改。

2.版本说明

(1)JDK版本:JDK1.8.0

(2)hadoop版本:Hadoop2.8.3

(3)hive版本:Hive2.3.3

(4)mysql版本:MySql5.7.2

(5)Linux版本:CentOS6.6

3.步骤

(1)下载hive

下载链接为:http://mirrors.hust.edu.cn/apache/hive/

(2)解压hive

将下载好的hive解压到/usr/env/hive/路径下:

tar -zxvf apache-hive-2.1.1-bin.tar.gz -C /usr/env/hive/

(3)配置hive环境变量

进入/etc/profile:

vim /etc/profile

配置hive的安装路径和conf路径:

export HIVE_HOME=/usr/env/hive/hive-2.3.3
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

使/etc/profile生效:

source /etc/profile

(4)创建数据仓库目录

在HDFS上创建数据仓库目录:

hadoop fs -mkdir -p /home/hive/warehouse

设置目录权限:

hadoop fs -chmod -R 777  /home/hive/warehouse

(5)创建临时目录

在HDFS创建Hive的临时目录:

hadoop fs -mkdir -p /tmp/hive

设置目录权限:

hadoop fs -chmod 755-R /tmp/hive

(6)设置配置文件hive-site.xml

  • 找到hive-site.xml.template文件

    配置文件目录为:

    /usr/env/hive/hive-2.3.3/conf

    将hive-site.xml.template文件改名为hive-site.xml:

    mv hive-site.xml.template hive-site.xml

  • 配置数据仓库的目录hive.metastore.warehouse.dir

  <property>
    <name>hive.metastore.warehouse.dir</name>
    <value>/home/hive/warehouse</value>
    <description>location of default database for the warehouse</description>
  </property>

 

  • 配置hive.exec.scratchdir

hive用来存储不同阶段的map/reduce的执行计划的目录,同时也存储中间输出结果
  <property>
    <name>hive.exec.scratchdir</name>
    <value>/tmp/hive</value>
    <description>
       HDFS root scratch dir for Hive jobs which gets created with write all (733) permission. For each connecting user, an HDFS scratch            dir: ${hive.exec.scratchdir}/&lt;username&gt; is created, with ${hive.scratch.dir.permission}.
    </description>
 </property>

 

  • 配置hive.exec.local.scratchdir

当hive运行在本地模式时配置

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

 

  • 配置hive.scratch.dir.permission

允许在根scratch录中创建的用户特定的scratch目录的权限

  <property>
    <name>hive.scratch.dir.permission</name>
    <value>777</value>
    <description>The permission for the user specific scratch directories that get created.</description>
  </property>

 

  • 配置hive.downloaded.resources.dir

远程资源下载的临时目录(创建一个tmp目录,本文将该目录创建在解压目录下)

  <property>
    <name>hive.downloaded.resources.dir</name>
    <value>/usr/env/hive/hive-2.3.3/tmp/${hive.session.id}_resources</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
  </property>

 

  • 将配置文件中${system:user.name}替换为root
  • 配置数据库连接驱动javax.jdo.option.ConnectionDriverName(本文使用的mysql数据库)

  <property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
  </property>

 

  • 配置连接数据库的URL javax.jdo.option.ConnectionURL

  <property>
    <name>javax.jdo.option.ConnectionURL</name>
    <value>jdbc:mysql://XXX.XXX.XXX.XXX:3306/hive?createDatabaseIfNotExist=true</value>
    <description>
      JDBC connect string for a JDBC metastore.
      To use SSL to encrypt/authenticate the connection, provide database-specific SSL flag in the connection URL.
      For example, jdbc:postgresql://myhost/db?ssl=true for postgres database.
    </description>
  </property>

 

  • 配置数据库登录名 javax.jdo.option.ConnectionUserName

  <property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <value>root</value>
    <description>Username to use against metastore database</description>
  </property>

 

  • 配置数据库登录密码 .javax.jdo.option.ConnectionPassword

  <property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <value>XXXXX</value>
    <description>password to use against metastore database</description>
  </property>

 

  • 将mysql的驱动包保存到hive安装目录下lib文件夹下

本文使用的驱动包为mysql-connector-java-5.1.35.jar,访客可根据自己实际情况而定。

 

(7)配置hive-env.xml

  • 将原始的hive-env.xml.template改名为hive-env.xml

mv hive-env.xml.template hive-env.xml

配置HADOOP_HOME,HIVE_CONF_DIR,HIVE_AUX_JARS_PATH

(8)对mysql数据库进行初始化

schematool -initSchema -dbType mysql

(9)启动hive

进入hive安装目录下的bin目录,运行:

./hive

 

### Hive 安装配置 Linux 详细教程 #### 准备工作 在开始安装之前,需确认虚拟机环境已成功运行并具备网络连接能力。此外,还需确保 Java Hadoop 已经正确安装配置完成,因为 Hive 需要依赖这些组件来正常运作[^1]。 #### 下载解压 Hive 压缩包 通过工具如 WinSCP 或者共享文件夹的方式,将下载好的 `hive-0.9.0.tar.gz` 文件复制至 `/usr/local/` 路径下。随后,在终端执行以下命令以解压该压缩包: ```bash tar -zxvf /usr/local/hive-0.9.0.tar.gz -C /usr/local/ ``` 此操作会将 Hive 的所有文件提取到指定目录中[^2]。 #### 设置环境变量 为了方便后续调用 Hive,需要将其加入系统的 PATH 变量中。编辑 `.bashrc` 文件或者全局的 `/etc/profile` 文件,添加如下内容: ```bash export HIVE_HOME=/usr/local/hive-0.9.0 export PATH=$PATH:$HIVE_HOME/bin ``` 保存修改后的文件,并重新加载它以便生效: ```bash source ~/.bashrc ``` 或者如果是针对整个系统,则使用: ```bash source /etc/profile ``` 验证设置是否有效可以尝试输入 `hive --version` 查看版本号信息。 #### 数据库初始化 (MySQL作为元数据存储) 由于默认情况下 Hive 使用的是 Derby 数据库,而其仅支持单线程访问模式,因此推荐替换为 MySQL 来增强性能支持多用户并发查询需求。在此之前已经完成了 MySQL 的部署工作。 创建一个新的数据库供 Hive 存储元数据之用: ```sql CREATE DATABASE hive_db; USE hive_db; -- 创建用于管理权限的角色以及赋予相应权利给这个角色。 GRANT ALL PRIVILEGES ON *.* TO 'hive_user'@'%' IDENTIFIED BY 'password'; FLUSH PRIVILEGES; ``` 接着调整 Hive配置文件使其能够识别新设定的 MySQL 连接参数。通常位于 `$HIVE_HOME/conf/` 目录下的 `hive-site.xml` 中定义 JDBC URL, 用户名密码等相关属性: ```xml <configuration> <property> <name>javax.jdo.option.ConnectionURL</name> <value>jdbc:mysql://localhost:3306/hive_db?createDatabaseIfNotExist=true</value> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name> <value>com.mysql.cj.jdbc.Driver</value> </property> <property> <name>javax.jdo.option.ConnectionUserName</name> <value>hive_user</value> </property> <property> <name>javax.jdo.option.ConnectionPassword</name> <value>password</value> </property> </configuration> ``` 最后一步是从 Hive 自带脚本里构建所需的表结构进入刚才建立起来的新数据库当中去: ```bash $HIVE_HOME/bin/schematool -dbType mysql -initSchema ``` 至此,基本完成了 HiveLinux 平台上的全部安装流程。 ---
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值