Hadoop_Hive本地模式部署

mysql安装

此过程最好使用root用户来执行,因为一些权限问题,使用root会更方便

卸载CentOS7自带的mariadb

列出所有被安装的rpm package:rpm -qa|grep mariadb

卸载:rpm -e mairadb package

如果有错误:依赖检测失败:云云~~

则强制卸载:rpm -e --nodeps 你的mairadb package

创建mysql安装包存放点

我将其存放在/opt/software/mysql中,可根据自己需要设置

上传mysql安装包到存放点中,解压

//本蒟蒻的mysql安装包是 mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

解压:tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar

执行安装

yum -y install libaio

本蒟蒻显示的是最新版本哈哈,那本蒟蒻就不管了

安装命令:rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm

初始化mysql

mysqld --initialize

更改所属组

chown mysql:mysql /var/lib/mysql -R

启动mysql

systemctl start mysqld.service

查看生成的临时root密码

cat /var/log/mysqld.log

这行日志就是最后生成的随机密码

[Note] A temporary password is generated for root@localhost: o+TU+KDOm004

登录mysql,修改mysql root密码,授权远程访问

登录进mysql中后执行mysql -u root -p来修改密码

本蒟蒻将密码设为了hadoop

授权:在mysql中执行

use mysql;

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;

还可以将其他用户加入进来,本蒟蒻再授权给cheetah用户

GRANT ALL PRIVILEGES ON *.* TO 'cheetah'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;

最后在sql中执行mysql> FLUSH PRIVILEGES;以更新授权

mysql的其他operation

mysql的启动和关闭 状态查看
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld

因为以后一直要用到,建议设置为开机自动启动
systemctl enable mysqld

查看是否已经设置开机自启动成功
systemctl list-unit-files | grep mysqld

hive配置

上传并解压安装包

//本蒟蒻安装包为apache-hive-3.1.2-bin.tar.gz

来到安装包目录

解压:tar zxvf apache-hive-3.1.2-bin.tar.gz

并将其改名(可有可无,方便后续操作

mv apache-hive-3.1.2-bin /opt/module/hive-3.1.2

解决hive与hadoop之间的guava版本差异

将hive lib文件夹中的guava文件删除

在hive根目录中执行rm -rf lib/guava-19.0.jar

再将hadoop中的guava文件复制过来:cp hadoop根目录/share/hadoop/common/lib/guava-27.0-jre.jar hive根目录/lib/

添加mysql jdbc驱动到hive lib目录下

本蒟蒻使用的是 mysql-connector-java-5.1.32.jar

将其移动到hive的lib文件夹中即可

修改hive环境变量文件

将hive根目录中conf文件夹下的hive-env.sh.template改名为hive-env.sh(直接创建一个hive-env.sh也可以

再对其进行添加

加入以下环境变量路径:

export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/opt/module/hive-3.1.2/lib

(以上均为本蒟蒻的路径,诸位佬佬根据实际情况更改

新增hive-site

在hive的conf目录下新建一个hive-site.xml

vim hive-site.xml

将以下配置信息添加到hive-site.xml

<configuration>
    <!-- 存储元数据mysql相关配置 -->
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <!-- 注意此处的mysql地址是您的地址,本蒟蒻就填错了一遍 -->
        <value> jdbc:mysql://hadoop102:3306/hive?createDatabaseIfNotExist=true&amp;useSSL=false&amp;useUnicode=true&amp;characterEncoding=UTF-8</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>hadoop</value>
        <!-- 这里为您设置的mysql密码 -->
    </property>
 
    <!-- 关闭元数据存储授权  -->
    <property>
        <name>hive.metastore.event.db.notification.api.auth</name>
        <value>false</value>
    </property>
 
    <!-- 关闭元数据存储版本的验证 -->
    <property>
        <name>hive.metastore.schema.verification</name>
        <value>false</value>
    </property>
</configuration>

初始化metadata

在hive根目录中初始化:bin/schematool -initSchema -dbType mysql -verbos

//初始化成功mysql的hive库中会存在74张表

启动hive

(记得在启动前先将集群启动 本蒟蒻在此wa了一次。。。

最后在hive根目录下执行bin/hive(在哪个目录都可以,主要是执行bin下的hive)

🎊\(\mathcal{The}\) \(\mathcal{End}\)🎉

posted @ 2021-08-25 19:16  莳曳  阅读(191)  评论(0编辑  收藏  举报