hive配置

1.hive安装与配置

进入/export/software/

上传apache-hive-3.1.2-bin.tar.gz

上传mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

上传mysql-connector-java-5.1.37.jar

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

[root@2308host software]$ tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/

修改目录名称

[root@2308host software]$ mv /export/software/apache-hive-3.1.2-bin/ /export/server/hive-3.1.2

配置hive环境变量

[root@2308host software]$ sudo vim /etc/profile.d/my_env.sh

在末尾添加内容

#HIVE_HOME

export HIVE_HOME=/opt/module/hive-3.1.2

export PATH=$PATH:$HIVE_HOME/bin

使环境变量的修改生效

[root@2308host software]$ source /etc/profile

使用脚本启动hadoop集群

[root@2308host software]$ myhadoop.sh start

初始化元数据库

[root@2308host software]$ cd ../module/hive-3.1.2/bin/

[root@2308host software]$ schematool -dbType derby -initSchema

启动hive

[root@2308host software]$ hive

退出hive

hive> exit;

2. MySQL安装与配置

查看是否已安装MySQL

[root@2308host software]$rpm -qa|grep mariadb

若已安装,需要卸载MySQL

[root@2308host software]$ sudo rpm -e --nodeps mariadb-libs

进入/export/software/目录

[root@2308host software]$ cd /export/software/

解压mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

[root@2308host software]$ tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar

执行命令

[root@2308host software]$ sudo yum install -y libaio

依次输入以下5条命令

sudo rpm -ivh mysql-community-common-5.7.28-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-libs-5.7.28-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

初始化数据库

[root@2308host software]$  sudo mysqld --initialize --user=mysql

查看临时密码

[root@2308host software]$ sudo cat /var/log/mysqld.log

启动MySQL

[root@2308host software]$ sudo systemctl start mysqld

登录

[root@2308host software]$ mysql -uroot -p

输入临时密码

Enter password: 临时密码

登陆成功后,修改密码为000000

mysql> set password = password("000000");

使root允许任意ip连接

mysql> update mysql.user set host='%' where user='root';

mysql> flush privileges;

退出MySQL

mysql> exit;

编写配置文件hive-site.xml

[root@2308host software]$ cd /opt/module/hive-3.1.2/conf/

[root@2308host software]$vim hive-site.xml

输入以下内容

<?xml version="1.0"?>

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>

    <!-- jdbc连接的URL -->

    <property>

        <name>javax.jdo.option.ConnectionURL</name>

        <value>jdbc:mysql://自己的主机号:3306/metastore?useSSL=false</value>

    </property>

    <!-- jdbc连接的Driver -->

    <property>

        <name>javax.jdo.option.ConnectionDriverName</name>

        <value>com.mysql.jdbc.Driver</value>

    </property>

    <!-- jdbc连接的username -->

    <property>

        <name>javax.jdo.option.ConnectionUserName</name>

        <value>root</value>

    </property>

    <!-- jdbc连接的password -->

<property>

        <name>javax.jdo.option.ConnectionPassword</name>

        <value>000000</value>

    </property>

    <!-- Hive元数据存储版本的验证 -->

    <property>

        <name>hive.metastore.schema.verification</name>

        <value>false</value>

    </property>

    <!-- 元数据存储授权 -->

    <property>

        <name>hive.metastore.event.db.notification.api.auth</name>

        <value>false</value>

        </property>

    <!-- Hive默认在HDFS的工作目录 -->

    <property>

        <name>hive.metastore.warehouse.dir</name>

        <value>/user/hive/warehouse</value>

    </property>

    <!-- 指定存储元数据要连接的地址 -->

    <property>

        <name>hive.metastore.uris</name>

        <value>thrift://自己的主机号:9083</value>

</property>

    <!-- 指定hiveserver2连接的主机名 -->

    <property>

        <name>hive.server2.thrift.bind.host</name>

        <value>自己的主机号</value>

    </property>

    <!-- 指定hiveserver2连接的端口号 -->

    <property>

        <name>hive.server2.thrift.port</name>

        <value>10000</value>

</property>

</configuration>

登录MySQL,输入密码

[ljc1@ljc102 ~]$ mysql -uroot -p

新建hive元数据库

mysql> create database metastore;

mysql> exit;

初始化hive元数据库

[ljc1@ljc102 ~]$ schematool -initSchema -dbType mysql -verbose

启动hive

[root@2308host software]$ hive

退出hive

hive> exit;

3. hive服务启动脚本

进入家目录下的bin目录

3. hive服务启动脚本

进入家目录下的bin目录

[root@2308host software]$ cd bin/

修改权限

[root@2308host software]$ chmod 777 hvservice.sh

hvservice.sh start或stop或restart(重启)或status(查看状态)

启动后需要等待一段时间才可以查看状态

要在 Spark SQL 中使用 Hive,您需要进行以下配置: 1. 在 Spark 配置中启用 Hive 支持。在 Spark 的配置文件中(如 spark-defaults.conf 或 spark-env.sh),添加以下配置: ```shell spark.sql.catalogImplementation=hive ``` 2. 确保您的 Spark 安装与 Hive 版本兼容。Spark 需要与 Hive 使用相同版本的 Metastore。 3. 将 Hive配置文件 hive-site.xml 复制到 Spark 的配置目录中。这将确保 Spark 使用正确的 Hive 配置。 4. 如果您的 Hive 安装使用了远程 Metastore,需要在 Spark 配置中设置 Metastore 的连接信息。在 Spark 的配置文件中添加以下配置: ```shell spark.hadoop.javax.jdo.option.ConnectionURL=jdbc:mysql://<metastore-host>:<metastore-port>/<database-name>?createDatabaseIfNotExist=true spark.hadoop.javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver spark.hadoop.javax.jdo.option.ConnectionUserName=<metastore-username> spark.hadoop.javax.jdo.option.ConnectionPassword=<metastore-password> ``` 将 `<metastore-host>`、`<metastore-port>`、`<database-name>`、`<metastore-username>` 和 `<metastore-password>` 替换为相应的值。 5. 如果您的 Hive 安装中使用了自定义的额外 JAR 文件,您需要将这些 JAR 文件添加到 Spark 的类路径中。在 Spark 的配置文件中添加以下配置: ```shell spark.driver.extraClassPath=<custom-jar-path1>:<custom-jar-path2>:... spark.executor.extraClassPath=<custom-jar-path1>:<custom-jar-path2>:... ``` 将 `<custom-jar-path1>`、`<custom-jar-path2>` 等替换为实际的 JAR 文件路径。 完成以上配置后,您就可以在 Spark SQL 中使用 Hive 的功能,包括使用 Hive 的表、执行 Hive 查询和使用 Hive UDF/UDAF 等。请确保 Spark 集群中所有的节点都进行了相同的配置
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值