Hive 安装配置

前提是已经安装好 hadoop,并配置好 JAVA_HOME HADOOP_HOME 变量

1. 下载

从官方下载页面下载相应的软件包 https://hive.apache.org/downloads.html

1.1 解压至 /usr/local

tar -xzvf apache-hive-2.3.9-bin.tar.gz -C /usr/local

1.2 重命名为 hive

mv /usr/local/apache-hive-2.3.9-bin hive

1.3 添加到系统环境中

vim 编辑 ~/.bashrc 文件,添加以下内容

HIVE_HOME=/usr/local/hive
PATH=$PATH:$HIVE_HOME/bin

(如果文件末尾没有 export PATH 语句,就加上)

2. 修改元数据库为 mysql

前提是已经安装好 mysql
如果 mysql 还没启动,先启动

service mysql start

2.1 创建 hive 用户并授权

使用 root 用户登录到 mysql 后依次执行以下语句

create user 'hive' identified by 'hive';
GRANT ALL PRIVILEGES ON *.* TO 'hive'@'%' WITH GRANT OPTION;
flush privileges;
create database hive;

默认情况下Mysql只允许本地登录,所以需要修改配置文件将地址绑定给注释掉:
修改 /etc/mysql/my.cnf 或者 /etc/mysql/mysql.conf.d/mysqld.cnf

# bind-address           = 127.0.0.1  <---注释掉这一行就可以远程登录了

2.2 修改 hive 配置

将默认的配置文件复制一份

cp /usr/local/hive/conf/hive-default.xml.template /usr/local/hive/conf/hive-site.xml

使用 vim 编辑这个 hive-site.xml 文件。将其中<configuration></configuration>包含的内容全部删掉(这两个标签本身留下),修改为以下内容

<configuration>
    <property>
        <name>hive.metastore.local</name>
        <value>true</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionURL</name>
        <value>jdbc:mysql://127.0.0.1:3306/hive?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>hive</value>
    </property>
    <property>
        <name>javax.jdo.option.ConnectionPassword</name>
        <value>hive</value>
    </property>
</configuration>

2.3 复制 mysql-connector-java 的 jar 包到 hive 类库中

如果本机没有,去 mvn 下载: https://mvnrepository.com/artifact/mysql/mysql-connector-java

cp /mnt/e/TDDOWNLOAD/mysql-connector-java-8.0.25.jar /usr/local/hive/lib

2.3 初始化元数据库

执行以下命令

schematool -dbType mysql -initSchema

2.4 启动 hive

先启动 hadoop

$HADOOP_HOME/sbin/start-dfs.sh

启动 yarn

$HADOOP_HOME/sbin/start-yarn.sh

再启动 hive

hive

如果这时候出现以下警告

Loading class `com.mysql.jdbc.Driver'. This is deprecated. The new driver class is `com.mysql.cj.jdbc.Driver'. The driver is automatically registered via the SPI and manual loading of the driver class is generally unnecessary.

则修改前面 hive-site.xml 配置文件中的 com.mysql.jdbc.Drivercom.mysql.cj.jdbc.Driver

重新执行 hive 命令进入 hive 命令行,建个表试试:

3. 使用 beeline

3.1 修改hadoop配置文件hdfs-site.xml,表示启用webhdfs

<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>

3.2 修改hadoop配置文件core-site.xml,表示设置可访问的用户及用户组

<property>
  <name>hadoop.proxyuser.hadoop.hosts</name>
  <value>*</value>
</property>
<property>
  <name>hadoop.proxyuser.hadoop.groups</name>
  <value>*</value>
</property>

注意这里的用户(也就是上面 xml 代码中 name 节点内的 hadoop)是 linux 用户;组也是

3.3 修改hive的配置文档hive-site.xml

<property>
  <name>hive.server2.thrift.bind.host</name>
  <value>localhost</value>
</property>

<property>
  <name>hive.server2.thrift.port</name>
  <value>10000</value>
</property>

3.3 重启 hadoop

/usr/bin/local/hadoop/sbin/stop-dfs.sh
/usr/bin/local/hadoop/sbin/start-dfs.sh

3.4 启动 hiveserver2

/usr/bin/local/hive/bin/hiveserver2

正常启动后就只有这行消息,没别的提示的。不用管它

3.5 使用 beeline 连接 hive

进入 beeline

/usr/bin/local/hive/beeline

连接 hive

beeline> !connect jdbc:hive2://127.0.1.1:10000/default
Enter username for jdbc:hive2://127.0.1.1:10000/default: hadoop   # 这里输入 3.2 节里面设置的用户名
Enter password for jdbc:hive2://127.0.1.1:10000/default:          # 用户对应的密码

可以愉快地玩耍了

posted @ 2022-02-07 14:45  东围居士  阅读(66)  评论(0编辑  收藏  举报