前言
hive默认使用的是内嵌据库derby,Derby 是一个嵌入式数据库,可以轻松地以库的形式集成到应用程序中。它不需要独立的服务器进程,所有的数据存储在应用程序所在的文件系统中。为了支持hive服务更方便的使用,我们使用mysql数据库的方式,使得服务部署更加灵活。数据库是分开部署的,使用十分灵活,性能也相对更高。
正文
-
上传mysql安装包和驱动到服务器/opt/softeware目录
- 创建一个mysql5.7-inst目录,将mysql安装包解压到mysql目录
- mkdir mysql5.7-inst
- tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar -C mysql5.7-inst/
- 卸载系统自带的mariadb数据库,没有则跳过此步骤
命令:sudo rpm -qa | grep mariadb | xargs sudo rpm -e --nodeps
- 安装mysql
- 安装mysql依赖
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
- 安装mysql客户端
sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm
- 安装mysql服务
sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm
- 启动mysql服务,查看mysql状态 ,验证mysql是否安装完成
- 启动mysql服务:sudo systemctl start mysqld
- mysql设置为开机自启动:sudo systemctl enable mysqld
- 修改mysql密码
- 查看mysql密码:sudo cat /var/log/mysqld.log | grep password
- 使用临时密码登录mysql:sudo mysql -uroot -p'TGZ.#v4fDqLJ'
- 更改mysql密码策略,并修改mysql密码
set global validate_password_policy=0; set global validate_password_length=4; set password=password("root");
- 进入mysql数据库,将root访问权限改为%
use mysql; #查看访问权限 select user, host from user; #修改访问权限 update user set host="%" where user="root"; #刷新权限 flush privileges;
- 删除derby数据库默认的元数据库信息
- 连接mysql数据库,创建metastore数据库用于hive使用
- 将mysql的数据库驱动拷贝至hive安装目录下的lib目录
- 命令:cp /opt/software/mysql-connector-java-5.1.37.jar $HIVE_HOME/lib
- 使用vi编辑器,创建hive-site.xml文件用于mysql连接等相关hive的配置
- 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://hadoop101: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>root</value></property><!-- Hive默认在HDFS的工作目录 --><property><name>hive.metastore.warehouse.dir</name><value>/hadoop/hive/warehouse</value></property> </configuration>
- 初始化hive元数据库
- 命令:bin/schematool -dbType mysql -initSchema -verbose
- 启动hive,验证是否安装成功
结语
至此,关于使用mysql作为数据源存储的hive服务安装部署到这里就结束了,我们下期见。。。。。。。