目录
4.2、进入 hive安装目录下的配置目录,然后修改配置文件:
4.3、将mysql的java connector复制到依赖库中,其中,第3.4行是一
该部分的安装需要在Hadoop 已经成功安装的基础上,并且要求
Hadoop已经正常启动。Hadoop 正常启动的验证过程如下:
(如果没有配置好的可以参考博客:http://t.csdn.cn/SVvbE)
(1)使用下面的命令,看可否正常显示HDFS上的目录列表
hdfs dfs -ls /
必须启动hdfs和yarn
进入目录:/home/hadoop/software/hadoop-3.3.0/sbin
执行命令:start-dfs.sh ,start-yarn.sh。
(2)使用谷歌浏览器查看相应界面
(3)该页面跟Hadoop安装部分浏览器展示结果-一致。如果满足上面的
两个条件,表示Hadoop集群启动正常。
(4)接下来,我们将Hive安装在HadoopMaster节点上。所以下面的所有操作都
(5)在HadoopMaster节点上进行。
下面所有的操作都使用hadoop 用户,切换hadoop 用户的命令是:
su- hadoop
密码是: 123456
(1)上传和解压
安装包下载链接:
链接:百度网盘 请输入提取码
提取码:zhjy
把apache-hive-3.1.2-bin.tar.gz上传到linux的/home/hadoop/software目录下。
解压apache-hive-3.1.2-bin.tar.gz到/home/hadoop/software目录下面
执行命令:
tar -zxvf apache-hive-3.1.2-bin.tar.gz
(2)修改apache-hive-3.1.2-bin的名称为hive3.1.2
执行命令:
mv apache-hive-3.1.2-bin hive3.1.2
注意:如果是Linux服务器上安装和启动MySQL服务的话,推荐使用root
用户,切换成root用户,命令如下:
su root
输入密码: 123456
(安装MySQL可以参考csdn博客:
/home/mysql5.7/support-files/mysql.server restart
/home/mysql5.7/support-files/mysql.server stop
/home/mysql5.7/support-files/mysql.server start
以root用户登录mysql, (注意这里的 root 是数据库的root用户,不是
系统的root用户)。默认情况下root用户没有密码,可以通过下面的方式登
陆:
之后输入命令:
/home/mysql5.7/support-files/mysql.server start
grantall on . to myhive@'%' identified by '123456';
grant: all on . to myhive@'localhost' identified by '123456';
grantall on中to myhive@'HadoopMaster' identifled by '123456';
flush privileges; (刷新一下)
(注意:用户名要统一,将master换为Hadoopmaster)
创建数据库:
create database myhive;
进入目录:/home/hadoop/software/hive3.1.2/conf,修改hive-env.sh.template名称为 hive-env.sh。
执行命令:
mv hive-env.sh.template hive-env.sh
之后vim hive-env.sh编辑文件:
(先保存一下hive3.1.2的路径:/home/hadoop/software/hive3.1.2,和hadoop-3.3.0的路径:/home/hadoop/software/hadoop-3.3.0。配置hive-env.sh时需要用到。)
cd /home/hadoop/software/ hive3.1.2/conf
然后再该目录下创建一个新文件 hive-site.xml,然后配置hive-site.xml文件。
vim hive-site.xml
代码展示:
hive.metastore.local true javax.jdo.option.ConnectionURL jdbc:mysql://HadoopMaster:3306/hive01?characterEncoding=UTF-8 javax.jdo.option.ConnectionDriverName com.mysql.jdbc.Driver javax.jdo.option.ConnectionUserName root javax.jdo.option.ConnectionPassword 123456
将mysql-connector-java.jar上传到hive的lib目录下:
(这个包的下载链接是:链接:百度网盘 请输入提取码
提取码:zhjy)
(MySQL驱动传到虚拟机上,注意上传路径)
使用管道符筛选:
ll | grep mysql-c
vim /home/hadoop/.bash_profile
将下面两行配置环境变量:
export HIVE_HOME=/home/hadoop/software/hive3.1.2
export PATH=$HIVE_ HOME/bin:$PATH
source ~/.bash_profile(刷新一下)
进入hive安装主目录.
hive
出错:Exception in thread "main" java.lang.NoSuchMethodError: com.google.common.base.Preconditions.checkArgument(ZLjava/lang/String;Ljava/lang/Object;)
出错解决:
hive的guava的版本是19.0的。
其路径为:/home/hadoop/software/hive3.1.2/lib
其名称为:guava-19.0.jar
hadoop的guava的版本是27.0的。
其路径为:
/home/hadoop/software/hadoop-3.3.0/share/hadoop/common/lib
替换版本,需要:高版本替换低版本。
先将hive中17版本的删掉,进入hadoop的lib目录下复制一下高的版本到hive的lib下即可。
删除命令:rm guava-19.0.jar
复制命令:
cp guava-27.0-jre.jar /home/hadoop/software//hive3.1.2/lib/
之后输入hive,出现一下界面即可启动成功:
(这里出现了一个问题:
分析得知:hive的数据库MySQL在安装的时候没有初始化
解决办法: 初始化数据库
:schematool -dbType mysql -initSchema)
出现这样即可: