华为云Centos7搭建hadoop集群四:mysql,hive安装
将mysql,hive上传至/opt/module中
mysql我使用rpm进行安装,节点选择03节点
1.检查当前系统是否安装过mysql
rpm -qa|grep mariadb
如果存在通过命令卸载
sudo rpm -e --nodeps mariadb-libs
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
4.查看/etc/my.cnf 文件中 datadir 指向的目录下的所有内容,如果有内容就清空
5.初始化数据库并查看root密码 sudo mysqld --initialize --user=mysql ,查看/var/log/mysqld.log生成的root初始密码
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;
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和用户密码
连接jar包在hive的解压目录下
$HIVE_HOME/jdbc/hive-stand
文章写了四篇 有回复继续写spark 和自己使用的感悟 没了就算了