Hadoop的数据仓库服务
安装mysql
安装前准备
由于MySQL与mariadb冲突,所以在安装MySQL前,需要卸载mariadb
//检查虚拟机中是否安装了mariadb
rpm -qa | grep mariadb
//卸载mariadb
rpm -e --nodeps mariadb-libs
开始安装
导入MySQL的rpm包,解压后有如下rpm安装包
tar -xf mysql-5.7.28-1.el7.x86_64.rpm-bundle.tar
依次执行安装
rpm -ivh /opt/install_package/mysql-community-common-5.7.28-1.el7.x86_64.rpm
rpm -ivh /opt/install_package/mysql-community-libs-5.7.28-1.el7.x86_64.rpm --nodeps --force
rpm -ivh /opt/install_package/mysql-community-libs-compat-5.7.28-1.el7.x86_64.rpm
rpm -ivh /opt/install_package/mysql-community-client-5.7.28-1.el7.x86_64.rpm
rpm -ivh /opt/install_package/mysql-community-server-5.7.28-1.el7.x86_64.rpm --nodeps --force
前往MySQL目录移除默认文件,再进行初始化
初始化MySQL
mysqld --initialize --user=mysql
进行MySQL的初始设置
查询MySQL日志,获得初始化时给MySQL账号设置的初始密码
即最后一行[note]的代码
启动MySQL服务
systemctl start mysqld
systemctl status mysqld
进入MySQL命令行
mysql -uroot -p
设置MySQL密码,便于之后登录
set password=password('root123');
设置MySQL访问ip,使任何ip都可以访问虚拟机的MySQL
update mysql.user set host='%' where user='root';
重新应用设置
flush privileges;
从虚拟机外的navicat尝试访问虚拟机上的MySQL
成功
安装HIVE
解压hive安装包,解压到/opt/softs/目录下
tar -zxvf apache-hive-3.1.2-bin.tar.gz -C /opt/softs/
修改过于冗长的名称
mv apache-hive-3.1.2-bin/ hive3.1.2/
禁用其中的两个包,否则运行会产生问题
cd opt/softs/hive3.1.2/lib/
mv log4j-slf4j-impl-2.10.0.jar log4j-slf4j-impl-2.10.0.jar.bak
mv guava-19.0.jar guava-19.0.jar.bak
在profile中配置HIVE_HOME变量
vim /etc/profile
#HIVE_HOME
export HIVE_HOME=/opt/softs/hive3.1.2
export PATH=$PATH:$HIVE_HOME/bin
source /etc/profile
验证是否配置成功
echo $PATH
这里我们使用Hadoop的guava包来替代hive的guava包,因为Hadoop的guava包版本更新
cd /opt/softs/hadoop3.1.3/share/hadoop/common/lib/
cp guava-27.0-jre.jar /opt/softs/hive3.1.2/lib/
在hive的库目录中导入MySQL的jdbc库
cd /opt/softs/hive3.1.2/lib/
将包含以下内容的hive-site.xml移动到hive配置文件目录中
<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<!-- jdbc 连接的 URL hostname根据实际进行修改 -->
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://bigdata04:3306/hive?createDatabaseIfNotExist=true&useSSL=false&useUnicode=true&characterEncoding=UTF-8</value>
</property>
<!-- jdbc 连接的 Driver-->
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
</property>
<!-- jdbc 连接的 username-->
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
</property>
<!-- jdbc 连接的 password root密码根据实际修改-->
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root123</value>
</property>
<!-- Hive 默认在 HDFS 的工作目录 -->
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/user/hive/warehouse</value>
</property>
<!-- 指定 hiveserver2 连接的 host hive的安装host根据实际进行修改 -->
<property>
<name>hive.server2.thrift.bind.host</name>
<value>bigdata04</value>
</property>
<!-- 指定 hiveserver2 连接的端口号 -->
<property>
<name>hive.server2.thrift.port</name>
<value>10000</value>
</property>
<!-- yarn作业获取到的hiveserver2用户都为hive用户 -->
<property>
<name>hive.server2.enable.doAs</name>
<value>false</value>
</property>
<!-- hiveserver2的高可用参数,开启此参数可以提高hiveserver2的启动速度 -->
<property>
<name>hive.server2.active.passive.ha.enable</name>
<value>true</value>
</property>
</configuration>
移动到hive配置目录
cd /opt/softs/hive3.1.2/conf/
前往Hadoop的core-site.xml文件
vim /opt/softs/hadoop3.1.3/etc/hadoop/core-site.xml
添加以下配置项
<!-- 安装hive时 在hadoop中core-site.xml中添加如下配置 -->
<!-- 从任何主机登录的root用户可以伪装成一个属于任何group的用户 -->
<property>
<name>hadoop.proxyuser.root.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.root.groups</name>
<value>*</value>
</property>
将新设置同步给其他虚拟机
scp core-site.xml root@bigdata05:/opt/softs/hadoop3.1.3/etc/hadoop/
scp core-site.xml root@bigdata06:/opt/softs/hadoop3.1.3/etc/hadoop/
启动Hadoop
初始化hive
schematool -dbType mysql -initSchema
前往navicat查看,新增hive数据库,说明初始化成功
进入hive命令行,成功