[hadoop那些事] hive安装(mysql8.0安装、hive配置)
导航
感谢小李同学! 帮助我完善了这篇教程,嘿嘿做个纪念~
一、版本:
- hive 2.3.7
- mysql 8.0
- hadoop 3.1.2
- hbase 2.3.0
- zookeeper 3.5.7
在搭建hive的时候本人将以前的虚拟机全部删除,重新搭建。 大概流程也就是 hadoop 、zookeeper 、hbase
本次增添hive以便于更方便的数据分析。
下载hive安装包
首先需要下载hive的安装包 本次采用的是hive2.3.7
给出下载链接,可以根据自己学习工作的不同版本进行下载。
二、搭建背景(必看)
hive配置文件官方文档传送门
1、首先按照之前的教程我们现在有四台机器(master slave1 slave2 slave3)
2、hive官网提供了三种安装方式:内嵌模式、本地模式、远程模式
3、本教程直接采取远程模式安装hive,所以提前说明各节点用途。
4、
- master:hive客户端
- slave1: mysql服务端
- slave2: hive服务端
三、mysql的安装
从最简单的开始!
所以你应该知道在哪个机子上安装mysql了吧?(最后我再提示)
安装
1、安装wget
yum -y install wget
2、下载mysql源包
wget https://dev.mysql.com/get/mysql80-community-release-el7-1.noarch.rpm
3、安装mysql源
yum localinstall mysql80-community-release-el7-1.noarch.rpm
4、检查是否安装成功
yum repolist enabled | grep "mysql.*-community.*"
5、开始安装MySQL!
(稳定网络,打把王者吧~ 反正一时半会下载不好)
yum install mysql-community-server
设置启动
1、启动mysql
systemctl start mysqld
2、开机自启
systemctl enable mysqld
重载(就跟生效差不多)
systemctl daemon-reload
修改密码及其权限
1、获取默认密码
grep 'temporary password' /var/log/mysqld.log
获取密码之后记住密码,后面有要用到
2、登录mysql
mysql -u root -p
然后输入刚才的暂时密码即可
3、修改密码
use mysql;
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
如果报错,有关密码不够安全的
set global validate_password.policy=0;
set global validate_password.length=6;
再次更改密码
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
4、设置远程权限访问
选中数据库
use mysql;
update user set host = '%' where user = 'root' and host='localhost';
GRANT ALL ON *.* TO 'root'@'%' ;
如果↑命令报错,再来一遍。
update user set host = '%' where user = 'root' and host='localhost';
GRANT ALL ON *.* TO 'root'@'%' ;
flush privileges;
在slave1节点上安装mysql
如果你想稳一点 就进入到mysql稍微操作操作,建个库建个表啥的~
这个环节就是成功的安装mysql8.0 如果此教程不符合你的版本,你可以搜索一下相关报错的资料或者其他安装方式。
四、hive客户端(master)
· 先把hive安装包解压
· 配置环境变量(环境变量根据自己的文件名定! 我改了hive2.3.7的文件名有可能与你不同)
#hive
export HIVE_HOME=/usr/hive/hive
export PATH=$PATH:$HIVE_HOME/bin
·客户端的hive-site.xml文件! (划重点!)
<configuration>
<!-- Hive 产生的元数据存放位置-->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<!-- 连接服务器-->
<property>
<name>hive.metastore.uris</name>
<value>thrift://slave2:9083</value>
</property>
</configuration>
修改master和slave2的hive-env.sh文件(在最下面六行)
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/usr/hadoop/hadoop-3.1.2
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/hive/hive/conf
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/hive/hive/lib
五、hive服务端(slave2)
依旧需要配置环境变量
服务端hive-site.xml(划重点!)
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive_remote/warehouse</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true&useSSL=false&allowPublicKeyRetrieval=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.cj.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>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
导入mysql-connector-java-8.0.22.jar到hive/lib下
下载链接https://downloads.mysql.com/archives/c-j/
修改master和slave2的hive-env.sh文件(在最下面六行)
# Set HADOOP_HOME to point to a specific hadoop install directory
HADOOP_HOME=/usr/hadoop/hadoop-3.1.2
# Hive Configuration Directory can be controlled by:
export HIVE_CONF_DIR=/usr/hive/hive/conf
# Folder containing extra libraries required for hive compilation/execution can be controlled by:
export HIVE_AUX_JARS_PATH=/usr/hive/hive/lib
有部分机器会报错有关publickey的错误 可以尝试改为
jdbc:mysql://slave1:3306/hive?createDatabaseIfNotExist=true&useSSL=false&allowPublicKeyRetrieval=true&allowPublicKeyRetrieval=true
六、初始化数据(在hive服务端上!)
本次
配置好hive-site.xml之后执行初始化数据:
schematool -initSchema -dbType mysql
七、启动
hive服务端
(本博客为slave2)
hive --service metastore
或者后台运行(作用相同,只不过这个命令可以继续操作别的命令)
hive --service metastore &
hive客户端
直接输入
hive
就可以继续操作啦!~
更多推荐
所有评论(0)