文章目录
前言
为了后续更好的学习hive数仓,这里先附上Hive安装部署的教程。后续文章会详细讲解hive的原理和使用。安装Hive的前置条件是:
1.安装好对应版本的hadoop集群,并启动hadoop的HDFS以及YARN服务;
2.安装了MySQL服务,并启动MySQL的服务
1. root用户下安装mysql
- CentOS 7中切换到root用户,安装mysql
- 在CentOS 7中默认安装有MariaDB,这个是MySQL的分支;但还是要安装MySQL,而且安装完成之后会直接覆盖掉MariaDB
2. 安装mysql
2.1 下载并安装mysql官方的yum源
安装到第三个节点node03上
- 使用root用户,在CentOS 7服务器的/kkb/soft路径下执行以下命令
- 切换到root用户
[hadoop@node03 ~]$ su root
- 进入/kkb/soft目录,并安装wget软件
[root@node03 hadoop]# cd /kkb/soft/
[root@node03 soft]# yum -y install wget
出现Installed!字样,表示成功安装
- 使用wget命令下载mysql的rpm包
[root@node03 soft]# wget -i -c http://dev.mysql.com/get/mysql57-community-release-el7-10.noarch.rpm
-i 指定输入文件
-c 表示断点续传
2.2 安装mysql
[root@node03 soft]# yum -y install mysql57-community-release-el7-10.noarch.rpm
- 安装mysql server这步可能会花些时间,需要在线下载,视网速而定;然后再安装;安装完成后就会覆盖掉之前的mariadb
[root@node03 soft]# yum -y install mysql-community-server
3. 设置mysql
3.1 mysql服务
- 首先启动MySQL服务
[root@node03 soft]# systemctl start mysqld.service
- 查看mysql启动状态
[root@node03 soft]# systemctl status mysqld.service
下图active(running)表示mysql服务已启动
3.2 修改密码
- 此时MySQL已经开始正常运行,不过要登陆MySQL,还得先找出此时mysql的root用户的临时密码
如下命令可以在日志文件中找出临时密码
[root@node03 hadoop]# grep "password" /var/log/mysqld.log
- 可以查看到我的临时密码为
注意:不同人的临时密码不一样,根据自己的实际情况而定
fHy3Su:&REkh
- 使用临时密码,登陆mysql客户端
[root@node03 hadoop]# mysql -uroot -p
- 设置密码策略为LOW,此策略只检查密码的长度
set global validate_password_policy=LOW;
关键字“Query OK”表示,sql语句执行成功
- 设置密码最小长度
set global validate_password_length=6;
- 修改mysql的root用户,本地登陆的密码为123456
ALTER USER 'root'@'localhost' IDENTIFIED BY '123456';
- 开启mysql的远程连接权限
grant all privileges on *.* to 'root'@'%' identified by '123456' with grant option;
flush privileges;
- 若不再需要使用mysql命令行,可以退出
exit
2. Hive的安装部署
注意hive就是一个构建数据仓库的工具,只需要在一台服务器上安装就可以了,不需要在多台服务器上安装。
此处以安装到node03为例;
使用hadoop普通用户操作
1.1 先决条件
- 搭建好三节点Hadoop集群;
- node03上先安装好MySQL服务;
1.2 准备安装包
-
下载hive的安装包,可以访问官网下载:
- http://archive.cloudera.com/cdh5/cdh/5/hive-1.1.0-cdh5.14.2.tar.gz
我这里准备好了安装包供下载,或者也可以关注我的公众号回复hive获取安装包
mysql-connector的jar包 链接:
https://pan.baidu.com/s/1PDyYDXX-PIohe-m7pk4GLA 密码: hftp
hive安装包
链接: https://pan.baidu.com/s/1GI3mLcvobzGQbOcwruwFzA 密码: jign
-
规划安装目录
- /kkb/install
-
上传安装包到node03服务器中的/kkb/soft路径下
1.3 解压
- 解压安装包到指定的规划目录/kkb/install
[hadoop@node03 ~]$ cd /kkb/soft/
[hadoop@node03 soft]$ tar -xzvf hive-1.1.0-cdh5.14.2.tar.gz -C /kkb/install/
1.4 修改配置文件
-
修改配置文件hive-env.sh
- 进入到Hive的安装目录下的conf文件夹中
[hadoop@node03 soft]$ cd /kkb/install/hive-1.1.0-cdh5.14.2/conf/
- 重命名hive-env.sh.template
[hadoop@node03 conf]$ mv hive-env.sh.template hive-env.sh
- 修改hive-env.sh
[hadoop@node03 conf]$ vim hive-env.sh
- 如下,修改此文件中HADOOP_HOME、HIVE_CONF_DIR的值(根据自己机器的实际情况配置)
#配置HADOOP_HOME路径
export HADOOP_HOME=/kkb/install/hadoop-2.6.0-cdh5.14.2/
#配置HIVE_CONF_DIR路径
export HIVE_CONF_DIR=/kkb/install/hive-1.1.0-cdh5.14.2/conf
修改配置文件hive-site.xml
- conf目录下默认没有此文件,vim创建即可
[hadoop@node03 conf]$ vim hive-site.xml
- 文件内容如下
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node03:3306/hive?createDatabaseIfNotExist=true&characterEncoding=latin1&useSSL=false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.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.cli.print.current.db</name>
<value>true</value>
</property>
<property>
<name>hive.cli.print.header</name>
<value>true</value>
</property>
<property>
<name>hive.server2.thrift.bind.host</name>
<value>node03</value>
</property>
</configuration>
修改日志配置文件hive-log4j.properties
- 创建hive日志存储目录
[hadoop@node03 conf]$ mkdir -p /kkb/install/hive-1.1.0-cdh5.14.2/logs/
- 重命名生成文件hive-log4j.properties
[hadoop@node03 conf]$ pwd
/kkb/install/hive-1.1.0-cdh5.14.2/conf
[hadoop@node03 conf]$ mv hive-log4j.properties.template hive-log4j.properties
[hadoop@node03 conf]$ vim hive-log4j.properties # 修改文件
- 修改此文件的hive.log.dir属性的值
#更改以下内容,设置我们的hive的日志文件存放的路径,便于排查问题
hive.log.dir=/kkb/install/hive-1.1.0-cdh5.14.2/logs/
1.5 拷贝mysql驱动包
-
上传mysql驱动包,如
mysql-connector-java-5.1.38.jar
到/kkb/soft
目录中 -
由于运行hive时,需要向mysql数据库中读写元数据,所以需要将mysql的驱动包上传到hive的lib目录下
[hadoop@node03 ~]$ cd /kkb/soft/
[hadoop@node03 soft]$ cp mysql-connector-java-5.1.38.jar /kkb/install/hive-1.1.0-cdh5.14.2/lib/
1.6 配置Hive环境变量
- 切换到root用户下
[hadoop@node03 soft]$ su root
Password:
- 打开
/etc/profile
文件
[root@node03 soft]# vim /etc/profile
- 文章末尾添加
export HIVE_HOME=/kkb/install/hive-1.1.0-cdh5.14.2
export PATH=$PATH:$HIVE_HOME/bin
- 切换回hadoop用户,并source
[root@node03 soft]# su hadoop
[hadoop@node03 soft]$ source /etc/profile
1.7 验证安装
- hadoop集群已启动
- mysql服务已启动
- 在node03上任意目录启动hive cli命令行客户端
[hadoop@node03 ~]$ hive
- 查看有哪些数据库
show databases;
- 说明hive安装成功
- 退出cli
quit;
总结
至此,数仓工具hive已安装完成,接下来就可以愉快的学习hive的相关知识了。获取更多干货,请关注我的个人公众号,关注领取福利