基于Hadoop的Hive的安装与配置

hive的定义与作用

定义
Hive是基于Hadoop的一个数据仓库工具,可以将结构化的数据文件映射为一张数据库表,并提供类SQL查询功能。

作用
1.) 直接使用hadoop所面临的问题

人员学习成本太高

项目周期要求太短

MapReduce实现复杂查询逻辑开发难度太大

2.)

操作接口采用类SQL语法,提供快速开发的能力。

避免了去写MapReduce,减少开发人员的学习成本。

hive的安装配置与调试

前面需要安装配置好hadoop和hbase,可至下方连接查询处理
hadoop的安装配置hbase的安装配置

1,准备好安装包进行解压

tar -zxf hive-1.1.0-cdh5.14.2.tar.gz -C /opt
mv hive-1.1.0-cdh5.14.2.tar.gz hive

2,配置环境变量

[root@hadoop131 software]# vi /etc/profile

添加以下内容

export HIVE_PATH=/opt/hive
export PATH=$PATH:$HIVE_PATH/bin
export HBASE_PATH=/opt/hbase       //hbase如果之前配置过了就不需要再配置了
export PATH=$PATH:$HBASE_PATH/bin

使生效

[root@hadoop131 software]# source /etc/profile

3,安装mysql

1).将MySQL的两个安装包(MySQL-client-5.6.46-1.el7.x86_64.rpm/MySQL-server-5.6.46-1.el7.x86_64.rpm自行百度下载)拖入opt文件夹,ll命令可以看到MySQL的两个安装包
2).yum下载依赖包:

(1)第一个:yum install -y net-tools
(2)第二个:yum install -y perl
(3)第三个:yum install -y autoconf

3).安装客户端:

rpm -ivh MySQL-client-5.6.46-1.el7.x86_64.rpm

4).安装服务端:
(1)

rpm -ivh MySQL-server-5.6.46-1.el7.x86_64.rpm

(2)可能会提示依赖冲突,找到具体冲突的mariadb的具体文件名
(3)rpm -e 文件名 --nodeps强制删除文件

rpm -e mariadb-libs-1:5.5.64-1.el7.x86_64 --nodeps

(4)重新执行第(1)步安装服务端
5).配置my.cnf

vi /usr/my.cnf

添加[client]

default-character-set = utf8
 [mysqld] (本身自带的不要再次添加,作为修改标记)
 skip-grant-tables跳过权限验证
 character_set_server = utf8设置编码格式
 collation_server = utf8_general_ci
[client]
default-character-set = utf8
[mysqld]
skip-grant-tables //免密登录
character_set_server = utf8
lower_case_table_names //忽略大小写
collation_server = utf8_general_ci

6).重启mysql服务
输入:service mysql restart 7).进入mysql数据库
(1)输入mysql进入mysql命令行
mysql>输入use mysql 会提示:database changed
8).修改密码
mysql>输入:update user set password=password('ok'); 会提示:Rows matched: 4 Changed: 4 Warnings: 0
9).输入quit,退出数据库
10).vi /usr/my.cnf修改配置文件
11).找到skip-grant-tables,在前面加上#号,注释掉这一行,esc,:wq保存退出
12).输入:service mysql restart,重启mysql数据库
13).输入:mysql -uroot -pok 进入数据库
14).在mysql命令行输入:
mysql>set password=password('ok'); 15).安装完成后需要给root用户赋权;

grant all on *.* to 'root'@'hadoop110' identified by 'ok';
flush privileges;

4,hive配置修改,新建hive-site.xml文件

[root@hadoop131 software]# cd /opt/hive/conf/
[root@hadoop131 conf]# vi hive-site.xml

加入以下内容

<?xml version="1.0" encoding="UTF-8" ?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
        <property>
                <name>hive.metastore.warehouse.dir</name>
                <value>hdfs://hadoop110:9000/hive/warehouse</value>      //修改为自己的主机名
               <description>管理表存储的位置,可以是linux中的目录,也可以是相对于fs.default.name有关的目录</description>
        </property>
        <property>
                <name>hive.metastore.local</name>
                <value>true</value>
        </property>
        <!-- 指定hive元数据存储的MySQL地址 -->
        <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>com.mysql.jdbc.Driver</value>
        </property>
        <!-- 元数据存储数据库的用户名 -->
        <property>
                <name>javax.jdo.option.ConnectionUserName</name>
                <value>root</value>
        </property>
        <!-- 元数据存储数据库的密码,(注:这里是mysql自己root用户的密码) -->
        <property>
                <name>javax.jdo.option.ConnectionPassword</name>
                <value>ok</value>
        </property>
</configuration>

5,修改env文件名,再进行配置

[root@hadoop131 conf]# mv hive-env.sh.template hive-env.sh
[root@hadoop131 conf]# vi hive-env.sh

在最后加入以下内容

export HADOOP_HOME=/opt/hadoop
export HIVE_HOME=/opt/hive
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export HIVE_AUX_JARS_PATH=/opt/hive/lib
export JAVA_HOME=/opt/jdk8
export HIVE_CONF_DIR=/opt/hive/conf

6,修改log4j文件名,并进行配置

[root@hadoop131 conf]# mv hive-log4j.properties.template hive-log4j.properties
[root@hadoop131 conf]# vi hive-log4j.properties

第十九行修改为

hive.log.dir=/opt/hive/logs

7,新建之前site文件中的warehouse文件夹和logs文件夹

[root@hadoop131 conf]# mkdir /opt/hive/warehouse
[root@hadoop131 conf]# mkdir /opt/hive/logs

8,将mysql-connector-java-5.1.0-bin.jar包拖到hive的lib目录下

[root@hadoop131 conf]# cp /software/mysql-connector-java-5.1.0-bin.jar /opt/hive/lib

9,进行赋权

[root@hadoop131 conf]# chmod 777 /opt/hive

10,启动

初始化mysql数据库: schematool -initSchema -dbType mysql 输入hive命令

hive 单机版安装教程 hive的安装配置与操作_mysql


输入: show tables;

hive 单机版安装教程 hive的安装配置与操作_数据仓库_02