文章目录
下载MySQL(作为元数据仓库)
- 注意Hive支持的版本(来源hive官网文档)
- 使用yum源下载mysql必须更换yum源,否则只能下载mysql8.0
- 安装yum源
sudo rpm -Uvh mysql80-community-release-el6-n.noarch.rpm
- 查看mysql yum源的mysql版本
yum repolist all | grep mysql
- 使别的版本可用
禁用mysql80的yum源,开启mysql55的yum源,这样才可以下载mysql5.5(5.5是稳定版)
sudo yum-config-manager --disable mysql80-community
sudo yum-config-manager --enable mysql55-community
- 禁用本机的mysql yum查询
yum module disable mysql
- 安装
yum install mysql-community-server.x86_64
- 检查是否安装成功
mysql --version
- 如果不成功,进行这一步,成功,则下一步。那就是你原来的mysql没删干净
find / -name mysql
然后rm -rf一个一个删就行了
配置mysql
- 启动
systemctl status mysqld
systemctl start mysqld
- 设置开机启动
systemctl enable mysqld
systemctl daemon-reload
- mysql5.5安装之后root用户的密码为空,直接登录然后设置密码
mysql -u root -p
set password for root@localhost = password('123456');
use mysql;
delete from user where host='localhost';
- 查看字符集
show variables like 'character_set_%';
show variables like 'collation%';
quit;
- 修改字符集
vim /etc/my.cnf
在[mysqld]下添加,这里注意,不同的mysql版本这里的设置都不一样,以下是5.5
character-set-server=utf8
- 重启mysql
systemctl restart mysqld
- 登录mysql设置允许远程访问
use mysql;
%表示允许所有的ip访问
UPDATE user SET `Host` = '%' WHERE `User` = 'root' LIMIT 1;
- 还要删除除了user是root,host是%的其他行
这里的<>是不等于的意思
delete from user where user<>'root' or host<>'%';
- 刷新
别忘了刷新mysql(这里我不小心踩坑了,忘刷新了,然后连接不上😂)
flush privileges;
下载Hive
从下面的下载地址找到stable版的bin.tar.gz结尾的版本
解压安装Hive
tar -zxvf /opt/software/apache-hive-2.3.8-bin.tar.gz -C /opt/module/
配置Hive
配置hadoop路径和hive路径
- 进入
cd /opt/module
mv apache-hive-2.3.8-bin hive
cd /opt/module/hive/conf
cp hive-env.sh.template hive-env.sh
- 修改hive-env.sh
vim hive-env.sh
添加以下
export HADOOP_HOME=/opt/ha/hadoop-2.7.2
export HIVE_CONF_DIR=/opt/module/hive/conf
配置元数据仓库
- 进入到/opt/module/hive/conf
touch hive-site.xml
vi hive-site.xml
- 添加如下内容
<?xml version="1.0"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://server1:3306/metastore?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>aaaaaa</value>
<description>password to use against metastore database</description>
</property>
<!--以下两个设置:hive可以显示表头-->
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.current.db</name>
<value>true</value>
</property>
</configuration>
配置环境变量
- vim /etc/profile
#HIVE_HOME
export HIVE_HOME=/opt/module/hive
export PATH=$PATH:$HIVE_HOME/bin
Hadoop的启动和配置(开启Hive先启动HDFS啊)
配置hadoop访问权限
进入到Hadoop的配置文件目录
vim core-site.xml
下面代码的server替换成使用mysql的用户名
<property>
<name>hadoop.proxyuser.server.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.server.groups</name>
<value>*</value>
</property>
启动HDFS HA
(50070网页端口检查检查是否启动成功)
- 每一台机器都启动zookeeper服务
zkServer.sh start
- 启动HDFS服务
sbin/start-dfs.sh
启动YARN HA
(8088网页端口检查是否启动成功)
- 启动YARN
sbin/start-yarn.sh
- 再另一个HA节点启动resourcemanager
sbin/yarn-daemon.sh start resourcemanager
创建文件夹
bin/hadoop fs -mkdir /tmp
bin/hadoop fs -mkdir -p /user/hive/warehouse
修改文件夹权限
bin/hadoop fs -chmod g+w /tmp
bin/hadoop fs -chmod g+w /user/hive/warehouse
装上驱动
- 安装mysql驱动
wget https://downloads.mysql.com/archives/get/p/3/file/mysql-connector-java-5.1.46.tar.gz
- 解压
tar -zxvf mysql-connector-java-5.1.46.tar.gz
- 进入解压的文件夹内
cd mysql-connector-java-5.1.46/
- 拷贝到hive的lib文件夹里面
cp mysql-connector-java-5.1.46 /opt/module/hive/lib/
- 初始化元数据仓库
schematool -dbType mysql -initSchema
启动hive查看能否正常访问元数据仓库mysql
bin/hive
hive>show databases;