hive搭建
1.准备环境
- 三台节点主机
- 已安装hadoop
- mysql数据库
2.环境
2.1修改三台节点上hadoop的core-site.xml
<!-- 配置 HDFS 允许代理任何主机和组 -->
<property>
<name>hadoop.proxyuser.hadoop.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hadoop.groups</name>
<value>*</value>
</property>
2.2下载hive包
使用官网下载,需要梯子
hive官网对应hadoop版本
wget https://archive.apache.org/dist/hive/hive-3.1.3/apache-hive-3.1.3-bin.tar.gz
解压
tar -zxvf apache-hive-3.1.3-bin.tar.gz && mv apache-hive-3.1.3-bin hive
2.3 mysql-connector
我直接使用本地maven里面的mysql-connector-j-8.0.31,版本向下兼容
移动到lib文件夹
mv mysql-connector-j-8.0.31.jar hive/lib
2.4 conf/hive-env.sh修改
export HADOOP_HOME=/root/hadoop-3.3.2
export HIVE_CONF_DIR=/root/hive/conf
export HIVE_AUX_JARS_PATH=/root/hive/lib
2.5 新建hive-site.xml
cd hive/conf&&vi hive-site.xml
mysql账号密码和驱动,根据实际情况改,我是用的mysql5.7驱动,mysql自己创建hive_meta数据库
<configuration>
<!-- mysql 配置-->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://192.168.10.9:3306/hive_meta?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&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>123456</value>
</property>
<!-- hive 配置-->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node1</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://node1:9083</value>
</property>
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- 允许模拟用户-->
<property>
<name>hive.server2.enable.doAs</name>
<value>true</value>
</property>
<!-- 管理员权限-->
<property>
<name>hive.users.in.admin.role</name>
<value>root</value>
</property>
<!-- 管理员授权-->
<property>
<name>hive.security.authorization.createtable.user.grant</name>
<value>admin:all</value>
</property>
</configuration>
2.6 初始化数据库
初始化mysql
./schematool -initSchema -dbType mysql -verbos
2.7 启动hive
启动hdfs和yarn后,在hive目录新建logs文件夹,然后在bin目录启动,日志输出到hive//logs/metastore.log
nohup ./hive --service metastore >> ../logs/metastore.log 2>&1 &
2.8 hive客户端
./hive
完成
2.9 hiveServer2 对外提供端口
nohup ./hive --service hiveserver2>> ../logs/hiveserver2.log 2>&1 &
使用beeline连接
./bin/beeline
操作栏输入
!connect jdbc:hive2://node1:10000
根据提示输入账号密码即可