华为云Centos7搭建hadoop集群四:mysql,hive安装
将mysql,hive上传至/opt/module中
mysql我使用rpm进行安装,节点选择03节点
1.检查当前系统是否安装过mysql
rpm -qa|grep mariadb

如果存在通过命令卸载

sudo rpm -e --nodeps mariadb-libs

MySQL数据库和hdfs的区别 mysql和hadoop_mysql


2.解压mysql包,因为linux可能是最小化安装会存在缺少yum依赖,先安装

sudo yum install -y libaio

3.解压mysql的rpm包后,按照顺序安装

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

sudo rpm -ivh mysql-community-client-5.7.28-1.el7.x86_64.rpm

sudo rpm -ivh mysql-community-server-5.7.28-1.el7.x86_64.rpm

MySQL数据库和hdfs的区别 mysql和hadoop_hive_02


MySQL数据库和hdfs的区别 mysql和hadoop_mysql_03


4.查看/etc/my.cnf 文件中 datadir 指向的目录下的所有内容,如果有内容就清空

MySQL数据库和hdfs的区别 mysql和hadoop_java_04


5.初始化数据库并查看root密码 sudo mysqld --initialize --user=mysql ,查看/var/log/mysqld.log生成的root初始密码

MySQL数据库和hdfs的区别 mysql和hadoop_java_05


6.启动mysql服务并使用生成的临时密码进入mysql

sudo systemctl start mysqld

mysql -uroot -p7.修改root用户的密码

set password = password(“新密码”);

8.修改root的ip连接,允许用户任意ip连接并刷新权限

mysql> update mysql.user set host=’%’ where user=‘root’;

mysql> flush privileges;

MySQL数据库和hdfs的区别 mysql和hadoop_hadoop_06


9.创建hive元数据库metastore

create database metastore;

10.直接修改数据库metastore的编码格式,防止hive的注释中文乱码-这步我是后来做的,可能和你得不太一样,可以先不修改然后看下是否乱码

alter table COLUMNS_V2 modify column COMMENT varchar(256) character set utf8;

alter table TABLE_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

alter table PARTITION_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

alter table PARTITION_KEYS modify column PKEY_COMMENT varchar(4000) character set utf8;

alter table INDEX_PARAMS modify column PARAM_VALUE varchar(4000) character set utf8;

Hive安装配置 选择使用01节点进行安装,随后分发

1.解压hive到/opt/module文件夹并重命名

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/module/

2.在环境变量中添加hive的环境变量,并刷新环境变量

3.解决jar包冲突
mv $HIVE_HOME/lib/log4j-slf4j-impl-
2.10.0.jar $HIVE_HOME/lib/log4j-slf4j-impl-2.10.0.bak
4.进入conf文件夹,添加hive-site.xml文件并添加数据库信息

<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> javax.jdo.option.ConnectionURL jdbc:mysql://hadoop03:3306/metastore?createDatabaseIfNotExist=true&useUnicode=true&characterEncoding=UTF-8&useSSL=false

javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword Hh123456 hive.metastore.schema.verification false hive.metastore.event.db.notification.api.auth false hive.metastore.warehouse.dir /user/hive/warehouse hive.metastore.uris thrift://hadoop03:9083 hive.server2.thrift.bind.host hadoop03 hive.server2.thrift.port 10000 5.将数据库连接的jar上传到lib目录下 cp /data/mysql-connector-java-5.1.37.jar /opt/module/hive-3.1.2/lib/ 6.分发hive到另外两台节点,并在01初始化数据库信息 schematool -initSchema -dbType mysql -verbose 7.将环境变量配置文件分发到其他两台,并刷新生效,因为我已经配置了thrift信息,所以需要在03节点启动metastore服务,启动了hiveserver2 ![在这里插入图片描述]() 8.在01测试hive与beeline命令,hdfs的/tmp文件夹可能会存在权限问题,我直接给了777 ![在这里插入图片描述]() ![在这里插入图片描述]() 9.mysql服务是用来连接metastore的,01,02的节点不需要安装mysql 10.如果使用datagrip,dbeaver这种软件连接hiveserver2,那么在hive目录的jdbc下是有连接jar包,不需要去别的地方下载寻找了。

DBEAVER配置

dbeaver介绍可以看官网,下载好后,选择更改hive的连接信息,配置host和用户密码

MySQL数据库和hdfs的区别 mysql和hadoop_hive_07


连接jar包在hive的解压目录下

$HIVE_HOME/jdbc/hive-stand

文章写了四篇 有回复继续写spark 和自己使用的感悟 没了就算了