Centos 7 部署Hive2.3.4,使用MySQL8.0

下载Hive2.3.4

下载地址:http://www.apache.org/dyn/closer.cgi/hive/

点击链接,然后下载你需要的hive版本,这里我下载的是hive2.3.4版本,注意了不同hive版本对应不同的Hadoop版本,本博客是在部署好Hadoop的基础上操作。。。

下载后通过 rz 命令上传下载好的压缩包,这里也可以在Centos里面通过wget命令来下载,只需要复制对应的下载链接即可。

(ps:在Centos上通过wget下载好像要快些)

安装MySQL (使用MySQL做为Hive的元数据库)

注意:我用是Centos 7 ,如果你不是和我用的一样版本,更改对应的下载链接。

1、yum仓库下载MySQL:sudo yum localinstall https://repo.mysql.com//mysql80-community-release-el7-1.noarch.rpm
 
2、yum安装MySQL:sudo yum install mysql-community-server
 
3、启动MySQL服务:sudo service mysqld start
 
4、检查MySQL服务状态:sudo service mysqld status
 
5、查看初始密码(如无内容直接跳过):sudo grep 'temporary password' /var/log/mysqld.log
localhost后面对应的就是随机生成的密码,通过这个密码来登录mysql,如果有这个密码则通过密码登录后通过update来改root用户密码

更改密码

登录后MySQL会提示我们要我们重置密码,得重置密码后才能做后面的操作,MySQL8.0的密码设置不能太简单否则不能通过。

# 重置root用户密码
ALTER user 'root'@'localhost' IDENTIFIED BY 'Root123!';

# 给root用户所有表的操作权限,并且可以让root用户给别的用户授权
GRANT all ON *.* TO 'root'@'localhost' WITH GRANT OPTION;

# 如果不想给root用户 可以授权别的用户权限的话,输入下面命令
grant all on *.* to 'root'@'localhost';

ps: 上面代码 on 后面的 *.* 是指 databasename.tablename, 数据库名和表名,也就是给数据库及数据库表的操作权限,如果要允许远程连接的话,将localhost改为% 即可


如果没有查找到密码的话,通过下面方式改密码

 vim /etc/my.cnf ,在配置文件中添加 skip-grant-tables(跳过密码验证),重启MySQL,然后再 mysql -u root -p 登录

mysql> use mysql; 
mysql>update user set authentication_string='' where user='root'; # 将root密码置空

删除my.cnf中的skip-grant-tables
$ service mysqld restart   # 重启MySQL服务
$ mysql -u root -p         # 重新登录

mysql>ALTER user 'root'@'localhost' IDENTIFIED BY 'Root123!';   # 修改密码

mysql>flush privileges;

部署Hive2.3.4

解压上传的hive压缩包,前面只是上传到了centos上,并没有解压

tar -zxvf apache-hive-2.3.4-bin.tar.gz # 解压
mv apache-hive-2.3.4-bin hive          # 文件夹重命名
rm -f apache-hive-2.3.4-bin.tar.gz     # 删除压缩包

编辑 /etc/profile文件,在最后面添加下面内容

#Hive-2.3.4
export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin

让环境变量生效:source /etc/profile

修改hive配置文件

cd hive/conf   # 进入hive下的conf里
cp hive-env.sh.template hive-env.sh # 复制一个hive-env.sh的模板

cp hive-default.xml.template hive-site.xml 
# 这里你可以复制一个site的模板,也可以直接创建一个site文件,复制的模板里面有好几千行代码,修改起来非常的不方便,这里我创建一个新的site文件

touch hive-site.xml

修改hive-site.xml(如果是创建的hive-site.xml的话,只需要将下面内容插入即可)

<configuration>
  <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! -->
  <!-- WARNING!!! Any changes you make to this file will be ignored by Hive.   -->
  <!-- WARNING!!! You must make your changes in hive-site.xml instead.         -->
  <!-- Hive Execution Parameters -->
 <property>
  <name>hive.default.fileformat</name>
  <value>TextFile</value>
</property>
<property>
  <!--端口改为你自己的端口,这里是连接数据库中onhive数据库,没有的话后面创建即可-->
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://192.168.186.138:3306/onhive</value>
  <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
<!--最新版本连接MySQL的jar包 所有写com.mysql.cj.jdbc.Driver,如果是旧版本用com.mysql.jdbc.Driver-->
  <value>com.mysql.cj.jdbc.Driver</value>
  <description>Driver class name for a JDBC metastore</description>
</property>
<property>
  <!--连接MySQL的用户名-->
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>hive</value>
  <description>username to use against metastore database</description>
</property>
<property>
  <!--连接MySQL的密码-->
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>Root123!</value>
  <description>password to use against metastore database</description>
</property>
</configuration>

修改hive-env.sh

HADOOP_HOME=/usr/local/hadoop    # hadoop路径

export HIVE_CONF_DIR=/usr/local/hive/conf  # hive的conf路径

export HIVE_AUX_JARS_PATH=/usr/local/hive/lib # jar包的存放路径

将MySQL连接的jar资源包放到 hive/lib 下,不是将整个文件夹

下载地址:https://dev.mysql.com/downloads/connector/j/

给MySQL创建用户 hive 密码为Root123!

create user 'hive'@'localhost' identified by 'Root123!'; # 创建用户
grant all on *.* to 'hive'@'localhost';    # 授权
FLUSH PRIVILEGES;  # 刷新权限

创建一个名字叫onhive的数据库

create database onhive

运行hive时先将 hadoop 和 hdfs启动,输入start-all.sh即可

从 Hive 2.1 版本开始, 我们需要先运行 schematool 命令来执行初始化操作

schematool -dbType mysql -initSchema

一般在这步会碰到关于MySQL的问题,比如不能访问(修改localhost为%),以及密码错误之类的,还有就是mysql的jar是否放到hive下的lib目录中了,

成功后我们输入hive,然后查询下数据库,如下图所示即表示hive配置好了

 

  • 0
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值