Hive2.1.1安装

Hive2.1.1安装

前言

安装Hive之前,先安装hadoop,保证HDFS、YARN启动成功。本教程安装的Hive版本为2.1.1版本,对应的hadoop版本为2.7.3。

默认情况下,Hive元数据保存在嵌入式数据库Derby中,只能允许一个会话连接,只适合简单的测试。为了支持多用户多会话,则需要一个独立的元数据库,我们使用 MySQL 作为元数据库。

一、下载Hive

Hive下载页面,点击相应的镜像地址,下载hive-2.1.1版本

http://www.apache.org/dyn/closer.cgi/hive/

或者直接使用wget命令下载:

wget http://mirror.bit.edu.cn/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz

二、安装mysql

2.1 查看是否安装mysql

使用命令 yum list installed | grep mysql 检测是否安装mysql。如下图所示,说明已经安装了mysql。

image

如果安装了mysql,可以正常使用,则不用再次安装。如果不能正常使用,则卸载,再次安装。

卸载命令:yum -y remove mysql-libs.x86_64

在卸载完以后我们可以通过 rpm -qa | grep mysql 命令来查看mysql是否已经卸载成功。

2.2 通过yum安装mysql

  • 查看yum上可用mysql版本

通过yum的方式来进行mysql的数据库安装,首先输入 yum list | grep mysql 命令来查看yum上提供的mysql数据库可下载的版本:

image

  • 使用yum安装mysql

通过输入 yum install -y mysql-server mysql mysql-devel命令将mysql mysql-server mysql-devel都安装上。

备注:
mysql-devel 是开发用到的库以及包含文件
mysql mysql 是mysql客户端
mysql-server 是mysql数据库服务器

运行安装命令,如下图所示:

image

安装完成后的界面:

image

  • 查看安装的mysql版本信息

通过以下命令查看安装的mysql版本信息rpm -qi mysql-server

image

2.3 mysql数据库的初始化

通过命令service mysqld start启动mysql服务,如下图所示:

image

启动过程说明:

第一次启动mysql服务,mysql服务器首先会进行初始化的配置,会提示非常多的信息,目的就是对mysql数据库进行初始化操作,当再次重新启动mysql服务时,就不会提示这么多信息了,如再次运行重启命令:service mysqld restart

2.4 设置mysql服务开机自启动

通过chkconfig --list | grep mysqld 命令来查看mysql服务是不是开机自动启动

image

通过输出的信息可以看出,mysqld服务并没有开机自动启动,可以通过chkconfig mysqld on 命令来将其设置成开机启动,这样就不用每次手动启动了:

image

2.5 设置默认的root账号密码

注意,此root账户不是Linux中的root账户。

运行如下命令:

mysqladmin -u root password ‘123456’  

通过该命令给root账号设置密码为123456

image

2.6 登录mysql数据库

通过mysql -u root -p 命令来登录mysql数据库,如下图所示:

image

2.7 创建Hive元数据库

创建名称为hive的数据库,用于存储hive的元数据,如下图所示:

image

2.8 用户授权

为root用户授权,使其能从外部IP访问mysql数据库,使用如下命令:

grant all privileges on . to ‘root’@’%’ identified by ‘123456’;

使授权立即生效,使用如下命令:

flush privileges;

命令执行如下图所示:

image

2.9 从windows环境连接mysql

使用windows环境下的mysql客户端工具Navicat for MySQL连接mysql:

image

三、Hive安装

3.1 将下载的hive包拷贝到Linux环境中

将hive软件包拷贝到hadoop集群的某一台服务器上面,具体目录可根据情况设置。本教程中的大数据软件都安装在/opt目录下。如下图所示:

image

3.2 解压hive软件包

使用如下命令解压hive软件包:

tar –zxvf apache-hive-2.1.1-bin.tar.gz

3.3 配置Hive环境变量

/etc/profile文件中,配置环境变量:

export HIVE_HOME=hive安装路径
export PATH=$PATH:$HIVE_HOME/bin:

配置后的profile文件如下图所示:

image

使环境变量生效:

source /etc/profile

3.4 Hive配置文件

进入hive解压目录的conf目录,运行如下命令,复制配置文件:

[root@bigdata02 conf]# cp hive-env.sh.template hive-env.sh
  • 修改hive-env.sh文件

修改hive-env.sh文件,增加两行,根据实际情况修改安装路径:

export HADOOP_HOME=hadoop安装路径
export HIVE_CONF_DIR=hive安装路径/conf
  • 创建hive-site.xml文件

文件内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
-->
<configuration>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://bigdata02:3306/hive?createDatabaseIfNotExist=true</value>
        <description>JDBC connect string for a JDBC metastore</description>
    </property>

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

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

    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>123456</value>
        <description>password to use against metastore database</description>
    </property>
 </configuration>
javax.jdo.option.ConnectionURL // 数据库URL
javax.jdo.option.ConnectionDriverName // JDBC 驱动名称
javax.jdo.option.ConnectionUserName // 数据库用户名
javax.jdo.option.ConnectionPassword // 数据库密码
  • 创建tmp目录

在$HIVE_HOME目录下创建tmp目录:

image

  • 在hdfs上创建目录

使用如下HDFS命令,创建相应目录:

# hive的默认临时文件目录
hdfs dfs -mkdir /tmp     

# hive的warehouse默认目录
hdfs dfs -mkdir -p /user/hive/warehouse  

# 为tmp目录授权
hadoop fs -chmod g+w /tmp   

# 为目录授权
hadoop fs -chmod g+w /user/hive/warehouse  
  • 上传mysql驱动包

我们配置了hive的元数据库为mysql,hive连接mysql,需要mysql的jdbc驱动包,所以,需要将驱动包上传到$HIVE_HOME/lib目录下

jdbc驱动包下载路径

https://download.csdn.net/download/u010719084/10227172

3.5 初始化Hive元数据库

使用hive安装目录下bin目录中的schematool命令初始化元数据库:

schematool -dbType mysql -initSchema

image

看到如下提示,则初始化完成:

image

3.6 检测hive 是否安装成功

直接在命令行输入hive:

注意:此时hdfs和yarn必须是启动状态。

image

猜你喜欢

转载自blog.csdn.net/qq_33689414/article/details/80063674