部署准备
一台机器,一个mysql数据库
可以访问的 web 页面全部绑定了 127.0.0.1。禁止外部访问,需要访问可以使用 nginx 反向代理 增加鉴权之后暴露出去。如果不需要可以替换 IP 。
安装
Hive 安装包准备
配置文件修改
配置文件位于 根目录的 conf 目录下
复制一份环境变量文件命名为 hive-env.sh
cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
hive-env.sh
修改 三个 变量配置
# Set HADOOP_HOME to point to a specific hadoop install directory
export HADOOP_HOME=/usr/bigdata/hadoop-3.3.6/
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/bigdata/hive-3.1.3/conf
# Folder containing extra ibraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/bigdata/hive-3.1.3/lib
hive-site.xml
<!-- 配置 mysql 连接 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://x.x.x.x:3306/hive?useSSL=false</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<!-- 配置 mysql 驱动 -->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<!-- 配置 mysql 用户名 -->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>data</value>
<description>username to use against metastore database</description>
</property>
<!-- 配置 mysql 密码 -->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value></value>
<description>password to use against metastore database</description>
</property>
<!-- 配置 hive 仓库在HDFS的地址 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 配置 hive metastore 信息 -->
<property>
<name>hive.metastore.uris</name>
<value>thrift://bigdata1:9083</value>
<description>Thrift URI for the remote metastore. Used by metastore client to connect to remote metastore.</description>
</property>
<property>
<name>hive.server2.webui.host</name>
<value>127.0.0.1</value>
<description>The host address the HiveServer2 WebUI will listen on</description>
</property>
上传 jdbc 驱动包
把jdbc 驱动包上传到 hive 根目录下的 lib 文件夹下。
配置环境变量
export HIVE_HOME=/usr/bigdata/hive-3.1.3
export PATH=$PATH:$HIVE_HOME/bin
初始化数据库
schematool -dbType mysql -initSchema -verbose
启动metastore
用于对外提供hive元数据。暴漏端口9083
nohup hive --service metastore >/dev/null 2>&1 &
启动hiveserver2
用于对外提供 hive jdbc 服务。
nohup hive --service hiveserver2 >/dev/null 2>&1 &
使用beeline连接
连接 hive ,执行hive sql
beeline -u jdbc:hive2://x.x.x.x:10000 -n root