美文网首页
(一)、大数据分析利器之Hive的安装 01

(一)、大数据分析利器之Hive的安装 01

作者: 我要进大厂 | 来源:发表于2020-05-03 23:00 被阅读0次

​ Hive可以将结构化数据映射成一张表。Hive是一个可以将HQL语句转换成mapreduce任务的工具。Hive不是分布式计算框架,mapreduce才是分布式计算框架。hive只是工具,只是工具,只是工具!理解这一点,就能知道我们安装hive只需要安装在一台服务器即可,不需要安装多台。

​ 因hive的数据来源于hdfs,而转换成mapruduce需要借助yarn进行资源协调,所以启动hive前,需要安装和启动hadoop。hive默认存储元数据是在derby数据库,推荐使用mysql进行存储hive的元数据。 -------先了解个大概,搭建完hive后,边操作边了解。

  • 元数据:hive可以将结构化数据映射成一张表,而一张表就会有表的名字、表属于哪个库,表的创建者是谁、表的访问权限、表的字段名称和类型、表是什么时候创建等等信息,这些统称为表的元数据信息。
  • 本次演示为centos7下安装mysql和hive。

1、安装mysql

1 安装mysql

cd /kkb/soft/
yum -y install wget
wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
yum -y install mysql57-community-release-el7-10.noarch.rpm

# 这步可能会花些时间(1~3个小时),安装完成后就会覆盖掉之前的mariadb
yum -y install mysql-community-server

2 启动mysql

# 执行以下命令启动mysql服务
systemctl start mysqld.service

# 查看mysql启动状态
systemctl status mysqld.service

# 设置为开机自启动服务
systemctl enable  mysqld.service

3 设置root密码

1、查看root临时密码

# 切换到root用户,使用grep "password" /var/log/mysqld.log进行查看root临时密码

[root@node03 ~]# grep "password" /var/log/mysqld.log
2019-10-30T09:07:55.516002Z 1 [Note] A temporary password is generated for root@localhost: P-!_a3RaYejQ

2、修改root的密码,使临时密码作废

[root@node03 ~]# mysql -uroot -p
Enter password: ----------输入上面的临时密码,进行登录

mysql> set global validate_password_policy=LOW;
mysql> mysql -uroot -pset global validate_password_length=6;
mysql> mysql -uroot -pALTER USER 'root'@'localhost' IDENTIFIED BY '123456';

# 开启mysql的远程连接权限
mysql> grant all privileges  on  *.* to 'root'@'%' identified by '123456' with grant option;
mysql> flush privileges;

4 查看mysql版本

# 可以看出该版本为5.7.28
[hadoop@node03 ~]$ mysql --version
mysql  Ver 14.14 Distrib 5.7.28, for Linux (x86_64) using  EditLine wrapper

2、安装hive

1 上传hive安装包

将hive-1.1.0-cdh5.14.2.tar.gz上传到/kkb/soft目录下

2 解压hive安装包

解压安装包到指定的规划目录

cd /kkb/soft/
tar -zxf hive-1.1.0-cdh5.14.2.tar.gz -C /kkb/install/

3 修改配置文件

  • 1、进入到Hive的安装目录下的conf文件夹中
  • cd /kkb/install/hive-1.1.0-cdh5.14.2/conf/
  • 2、修改hive-env.sh
    • mv hive-env.sh.template hive-env.sh

    • vim hive-env.sh

#配置HADOOP_HOME路径
export HADOOP_HOME=/kkb/install/hadoop-2.6.0-cdh5.14.2/
#配置HIVE_CONF_DIR路径
export HIVE_CONF_DIR=/kkb/install/hive-1.1.0-cdh5.14.2/conf
  • 3、修改hive-site.xml

    • vim hive-site.xml
    <configuration>
            <property>
                    <name>javax.jdo.option.ConnectionURL</name>
                    <value>jdbc:mysql://node03:3306/hive?createDatabaseIfNotExist=true&amp;characterEncoding=latin1&amp;useSSL=false</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>123456</value>
            </property>
            <property>
                    <name>hive.cli.print.current.db</name>
                    <value>true</value>
            </property>
            <property>
                    <name>hive.cli.print.header</name>
                <value>true</value>
            </property>
        <property>
                    <name>hive.server2.thrift.bind.host</name>
                    <value>node03</value>
            </property>
    

</configuration>
```

  • 4、修改hive的日志配置文件路径,便于我们排查hive出现的错误问题
[hadoop@node03 ~] mkdir -p /kkb/install/hive-1.1.0-cdh5.14.2/logs/
[hadoop@node03 ~] cd /kkb/install/hive-1.1.0-cdh5.14.2/conf/
[hadoop@node03 ~] mv hive-log4j.properties.template hive-log4j.properties
[hadoop@node03 ~] vim hive-log4j.properties

#更改以下内容,设置我们的日志文件存放的路径
hive.log.dir=/kkb/install/hive-1.1.0-cdh5.14.2/logs/

4 将mysql的驱动包放置到hive的lib目录

1、查看mysql的版本

[root@node03 ~]# mysql --version

2、下载相应的mysql驱动包

# 进入maven中央库 https://mvnrepository.com/artifact/mysql/mysql-connector-java
# 选择相应版本的mysql对应的mysql-connector-java。mysql版本和mysql-connector-java的版本不要差太多一般都能用,本次下载的驱动版本为5.1.38


[root@node03 ~]# wget https://repo1.maven.org/maven2/mysql/mysql-connector-java/5.1.38/mysql-connector-java-5.1.38.jar

3、 将mysql驱动包移动到hive的lib目录

[root@node03 ~]# mv mysql-connector-java-5.1.38.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/

5 验证hive是否安装成功

[root@node03 ~]# cd /kkb/install/hive-1.1.0-cdh5.14.2/bin
[root@node03 bin]# ./hive
ls: cannot access /kkb/install/spark/lib/spark-assembly-*.jar: No such file or directory
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/kkb/install/hbase-1.2.0-cdh5.14.2/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/kkb/install/hadoop-2.6.0-cdh5.14.2/share/hadoop/common/lib/slf4j-log4j12-1.7.5.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.slf4j.impl.Log4jLoggerFactory]
Logging initialized using configuration in file:/kkb/install/hive-1.1.0-cdh5.14.2/conf/hive-log4j.properties
WARNING: Hive CLI is deprecated and migration to Beeline is recommended.
hive (default)> 
# 查看数据库列表
hive (default)> show databases;
OK
database_name
default
Time taken: 6.416 seconds, Fetched: 1 row(s)
hive (default)> 

# 输入quit;可退出
hive (default)> quit;
[root@node03 bin]# 
  • hive的数据库元数据可以在mysql的hive库(数据库名根据你的实际情况而定)下的DBS表查看
DBS表
  • hive的数据库表的元数据可以在mysql的hive库下(数据库名根据你的实际情况而定)下的TBLS表查看
TBLS表

到此就算安装hive结束了。


相关文章

网友评论

      本文标题:(一)、大数据分析利器之Hive的安装 01

      本文链接:https://www.haomeiwen.com/subject/hklsghtx.html