ICode9

精准搜索请尝试: 精确搜索
首页 > 数据库> 文章详细

华为云Centos7搭建hadoop集群四:mysql,hive安装

2022-01-26 20:30:03  阅读:169  来源: 互联网

标签:set sudo hadoop hive Centos7 metastore mysql rpm


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

如果存在通过命令卸载
sudo rpm -e --nodeps mariadb-libs
检查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
mysqlrpm包列表
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 -p

7.修改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 ![在这里插入图片描述](https://www.icode9.com/i/ll/?i=a2aa42391df34e32a6c3f0fc69daedff.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pqW6Ziz5rmW5YWJ,size_20,color_FFFFFF,t_70,g_se,x_16) 8.在01测试hive与beeline命令,hdfs的/tmp文件夹可能会存在权限问题,我直接给了777 ![在这里插入图片描述](https://www.icode9.com/i/ll/?i=deaaeb50bfb5408f8b799194d8ec3f50.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pqW6Ziz5rmW5YWJ,size_20,color_FFFFFF,t_70,g_se,x_16) ![在这里插入图片描述](https://www.icode9.com/i/ll/?i=84662a83e849489890198d389bbae121.png?,type_d3F5LXplbmhlaQ,shadow_50,text_Q1NETiBA5pqW6Ziz5rmW5YWJ,size_20,color_FFFFFF,t_70,g_se,x_16) 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 和自己使用的感悟 没了就算了

标签:set,sudo,hadoop,hive,Centos7,metastore,mysql,rpm
来源: https://blog.csdn.net/m0_46444724/article/details/122708105

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有