centos 7完全分布式安装MySQL+Hive
hadoop完全分布式以搭建完成,可以。安装hive只需在主节点进行即可。
目录
1)下载wget (由于执行yum是需要root权限的,所以我这里加了sudo)
前提:hadoop完全分布式已搭建完成,可以正常启动。hive只在主节点安装即可。
本文选用mysql5.7.x版本
一、MySQL安装
1.卸载centos7自带的mariadb
1)查看centos7自带的mariadb
rpm -qa|grep mariadb
2)删除centos7自带的mariadb
rpm -e mariadb-libs-5.5.68-1.el7.x86_64 --nodeps
3)再次查看是否删除
rpm -qa|grep mariadb
2.安装MySQL
1)下载wget (由于执行yum是需要root权限的,所以我这里加了sudo)
sudo yum -y install wget
2)下载依赖包
wget https://dev.mysql.com/get/mysql57-community-release-el7-9.noarch.rpm
安装依赖包
rpm -ivh mysql57-community-release-el7-9.noarch.rpm
3)安装mysql服务
sudo yum -y install mysql-server
在第3)步遇到了问题:mysql-community-server安装失败
下载mysql-community-server,
sudo yum -y install mysql-community-server
又遇到问题:
“源 "MySQL 5.7 Community Server" 的 GPG 密钥已安装,但是不适用于此软件包。请检查源的公钥 URL 是否配置正确。
失败的软件包是:mysql-community-server-5.7.44-1.el7.x86_64
GPG 密钥配置为:file:///etc/pki/rpm-gpg/RPM-GPG-KEY-mysql”
解决办法:执行下面代码
rpm --import https://repo.mysql.com/RPM-GPG-KEY-mysql-2022
再执行一次下面代码
sudo yum -y install mysql-community-server
完成咯!
3.启动服务
systemctl start mysqld
设置开机自启
systemctl enable mysqld
查看服务器状态
systemctl status mysqld.service
4.修改MySQL密码
1)获取初始密码
grep "password" /var/log/mysqld.log
2)记住上述密码,登录mysql
mysql -uroot -p
粘贴密码,进入mysql
对密码要求进行设置:
1)设置密码强度为低级
set global validate_password_policy=0;
2)设置密码长度
set global validate_password_length=4;
若不设置,则会报错:自己所设置的密码不符合要求
最后修改本地密码
alter user 'root'@'localhost' identified by '123456';
输入\q退出
\q
以新密码进行登录
mysql -uroot -p123456
创建用户
create user 'root'@'%' identified by '123456';
允许远程连接
grant all privileges on *.* to 'root'@'%' with grant option;
刷新权限
flush privileges;
再次输入\q退出即可。
参考博客:https://blog.csdn.net/weixin_45092204/article/details/120218392
https://blog.csdn.net/qq_43408367/article/details/127299840
二、Hive安装
1.hive传输(三台机器都要有)
用Xshell中的xftp,将apache-hive-2.3.9-bin.tar.gz传输(Transfer)到CentOS7的文件夹下
2.解压hive(三台机器都解压)
tar -zxvf apache-hive-2.3.9-bin.tar.gz -C 指定目录
为了方便可以重命名,本人一般不做修改。
mv apache-hive-2.3.9-bin hive-2.3.9
3.hive配置
配置hive-env.sh文件
cd ~/apache-hive-2.3.9-bin/conf
vi hive-env.sh
在文件末尾添加
export HADOOP_HOME=/home/zxx/hadoop-2.7.3
export HIVE_CONF_DIR=/home/zxx/apache-hive-2.3.9-bin/conf
配置hive-site.xml文件
如果没有,会自动创建(依旧在~/apache-hive-2.3.9-bin/conf目录下)
hive-site.xml文件内容(master为主节点名称)
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.exec.scratchdir</name>
<value>hdfs://master:8020/user/hive/tmp</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>hdfs://master:8020/user/hive/warehouse</value>
</property>
<property>
<name>hive.querylog.location</name>
<value>hdfs://master:8020/user/hive/log</value>
</property>
<property>
<name>hive.metastore.uris</name>
<value>thrift://master:9083</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://master:3306/hive?createDatabaseIfNotExist=true&characterEncoding=UTF-8&useSSL=false&allowPublicKeyRetrieval=true</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.dbc.Driver</value>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>123456</value>
</property>
<property>
<name>hive.metastore.schema.verification</name>
<value>false</value>
</property>
<property>
<name>datanucleus.schema.autoCreateAll</name>
<value>true</value>
</property>
</configuration>
4.添加MySQL驱动包(本人选择的是5.1.46版本的)
下载地址:MySQL :: Download MySQL Connector/J (Archived Versions)
通过xftp将jar文件传入apache-hive-2.3.9-bin/lib目录下
以同样的方式为slave主机添加驱动或者
也可以通过命令分发驱动
scp -r mysql-connector-java-5.1.46.jar slaves1:/home/zxx/apache-hive-2.3.9-bin/lib
scp -r mysql-connector-java-5.1.46.jar slaves2:/home/zxx/apache-hive-2.3.9-bin/lib
5.配置hive环境变量
vi ~/.bash_profile
在文末添加
export HIVE_HOME=/home/zxx/apache-hive-2.3.9-bin
export PATH=$PATH:$HIVE_HOME/bin
使配置生效
source ~/.bash_profile
6.初始化元数据库
schematool -dbType mysql -initSchema
输入hive进去后,查看数据库
show databases;
遇到报错:未启动hive的服务端
exit; 退出
启动服务端
hive --service metastore &
之后Ctrl+C退出,输入hive重新进入
成功啦!
更多推荐
所有评论(0)