Hadoop_Hive本地模式部署
mysql安装
此过程最好使用root用户来执行,因为一些权限问题,使用root会更方便
卸载CentOS7自带的mariadb
列出所有被安装的rpm package:rpm -qa|grep mariadb
卸载:rpm -e mairadb package
如果有错误:依赖检测失败:云云~~
则强制卸载:rpm -e --nodeps 你的mairadb package
创建mysql安装包存放点
我将其存放在/opt/software/mysql
中,可根据自己需要设置
上传mysql安装包到存放点中,解压
//本蒟蒻的mysql安装包是 mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
解压:tar xvf mysql-5.7.29-1.el7.x86_64.rpm-bundle.tar
执行安装
yum -y install libaio
本蒟蒻显示的是最新版本哈哈,那本蒟蒻就不管了
安装命令:rpm -ivh mysql-community-common-5.7.29-1.el7.x86_64.rpm mysql-community-libs-5.7.29-1.el7.x86_64.rpm mysql-community-client-5.7.29-1.el7.x86_64.rpm mysql-community-server-5.7.29-1.el7.x86_64.rpm
初始化mysql
mysqld --initialize
更改所属组
chown mysql:mysql /var/lib/mysql -R
启动mysql
systemctl start mysqld.service
查看生成的临时root密码
cat /var/log/mysqld.log
这行日志就是最后生成的随机密码
[Note] A temporary password is generated for root@localhost: o+TU+KDOm004
登录mysql,修改mysql root密码,授权远程访问
登录进mysql中后执行mysql -u root -p
来修改密码
本蒟蒻将密码设为了hadoop
授权:在mysql中执行
use mysql;
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
还可以将其他用户加入进来,本蒟蒻再授权给cheetah用户
GRANT ALL PRIVILEGES ON *.* TO 'cheetah'@'%' IDENTIFIED BY 'hadoop' WITH GRANT OPTION;
最后在sql中执行mysql> FLUSH PRIVILEGES;
以更新授权
mysql的其他operation
mysql的启动和关闭 状态查看
systemctl stop mysqld
systemctl status mysqld
systemctl start mysqld
因为以后一直要用到,建议设置为开机自动启动
systemctl enable mysqld
查看是否已经设置开机自启动成功
systemctl list-unit-files | grep mysqld
hive配置
上传并解压安装包
//本蒟蒻安装包为apache-hive-3.1.2-bin.tar.gz
来到安装包目录
解压:tar zxvf apache-hive-3.1.2-bin.tar.gz
并将其改名(可有可无,方便后续操作
mv apache-hive-3.1.2-bin /opt/module/hive-3.1.2
解决hive与hadoop之间的guava版本差异
将hive lib文件夹中的guava文件删除
在hive根目录中执行rm -rf lib/guava-19.0.jar
再将hadoop中的guava文件复制过来:cp hadoop根目录/share/hadoop/common/lib/guava-27.0-jre.jar hive根目录/lib/
添加mysql jdbc驱动到hive lib目录下
本蒟蒻使用的是 mysql-connector-java-5.1.32.jar
将其移动到hive的lib文件夹中即可
修改hive环境变量文件
将hive根目录中conf文件夹下的hive-env.sh.template
改名为hive-env.sh
(直接创建一个hive-env.sh
也可以
再对其进行添加
加入以下环境变量路径:
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export HIVE_CONF_DIR=/opt/module/hive-3.1.2/conf
export HIVE_AUX_JARS_PATH=/opt/module/hive-3.1.2/lib
(以上均为本蒟蒻的路径,诸位佬佬根据实际情况更改
新增hive-site
在hive的conf目录下新建一个hive-site.xml
vim hive-site.xml
将以下配置信息添加到hive-site.xml
中
<configuration>
<!-- 存储元数据mysql相关配置 -->
<property>
<name>javax.jdo.option.ConnectionURL</name>
<!-- 注意此处的mysql地址是您的地址,本蒟蒻就填错了一遍 -->
<value> jdbc:mysql://hadoop102:3306/hive?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>hadoop</value>
<!-- 这里为您设置的mysql密码 -->
</property>
<!-- 关闭元数据存储授权 -->
<property>
<name>hive.metastore.event.db.notification.api.auth</name>
<value>false</value>
</property>
<!-- 关闭元数据存储版本的验证 -->
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
</configuration>
初始化metadata
在hive根目录中初始化:bin/schematool -initSchema -dbType mysql -verbos
//初始化成功mysql的hive库中会存在74张表
启动hive
(记得在启动前先将集群启动 本蒟蒻在此wa了一次。。。
最后在hive根目录下执行bin/hive
(在哪个目录都可以,主要是执行bin下的hive)
🎊\(\mathcal{The}\) \(\mathcal{End}\)🎉