【hadoop】hive的安装

在这里插入图片描述

一、hive安装----原生的数据库(可以简单的练手)

  1. 上传安装包
    用xshell上传安装包
    在这里插入图片描述

  2. 解压软件包
    [root@node01 softwares]# tar -zxvf apache-hive-1.2.2-bin.tar.gz -C /export/servers/
    指定安装到目录 /export/servers/目录下

    查看一下:
    在这里插入图片描述

  3. 进入hive这个目录,修改配置文件
    在这里插入图片描述
    修改hive-default.xml.templates–>直接复制一份叫hive-env.sh
    [root@node01 conf]# cp hive-env.sh.template hive-env.sh

    Vim hive-env.sh编辑
    在这里插入图片描述
    修改这一项,把注释#去掉,然后加上hadoop的绝对路径
    /export/servers/hadoop-2.6.0-cdh5.14.0(绝对路径–>pwd)
    在这里插入图片描述
    然后保存退出

  4. 用原生的hive的derby存放元数据–>不配置hive-site.xml
    在这里插入图片描述
    也可以简单的调试下hive,创建一个数据库
    在这里插入图片描述

  5. 查看
    可以去node01:50070看一下创建的放在HDFS的哪个目录里
    /user/hive/warehouse
    在这里插入图片描述

    上面的目录只是映射,真正对应的表在这个目录里面
    在这里插入图片描述

二、hive安装----用mysql

  1. 解压完hive后, 这个也配置完了hive-env.sh之后(看上面的步骤3)

  2. mysql数据库安装
    a. 在线安装mysql相关的软件包
    [root@node01 ~]# yum install mysql-server mysql-devel
    在这里插入图片描述
    如果看到这个:恭喜你!!安装完了!!

    (如果没有就惨了,这些是我遇到的问题:
    可能镜像没挂载,或者用 wget http://repo.mysql.com/mysql-community-release-el7-5.noarch.rpm 就可以再在yum源那里看到两个新的yum源然后就可以安装了)

    b. 启动mysql服务
    [root@node01 ~]# /etc/init.d/mysqld start
    在这里插入图片描述
    c. 通过MySQL安装自带脚本进行设置
    在这里插入图片描述
    在这里插入图片描述

  3. 修改环境变量/etc/profile:
    在这里插入图片描述
    更新环境变量
    执行source /etc/profile
    执行hive --version看是否安装成功
    在这里插入图片描述

    安装成功!!!

  4. 在/conf目录下创建 vim hive-site.xml(主要是设置放入mysql元数据的位置)
    (如果不用mysql,也可以用原生的derby数据库存放,那就不用设置这个配置文件,用bin/hive就可以把hive起起来可以使用)

    在这里插入图片描述

	<?xml version="1.0" encoding="UTF-8" standalone="no"?>
	<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
	<configuration>
	        <property>
	                <name>javax.jdo.option.ConnectionURL</name>
	                <value>jdbc:mysql://localhost:3306/hive</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.metastore.schema.verification</name>
	                <value>false</value>
	        </property>
	</configuration>
  1. 复制mysql的驱动程序到hive/lib下
    (事先已经用xftp上传到 /root目录下)
    在这里插入图片描述
    [root@node01 ~]# cp mysql-connector-java-5.1.37-bin.jar /export/servers/apache-hive-1.2.2-bin/lib

  2. 去mysql创建数据库和用户(创建了hive)
    mysql -uroot -p:进入mysql
    在这里插入图片描述
    在这里插入图片描述
    mysql> GRANT ALL PRIVILEGES ON hive.* TO ‘root’@’%’ IDENTIFIED BY ‘123456’ WITH GRANT OPTION;
    mysql> FLUSH PRIVILEGES;

  3. 在mysql中hive的schema(数据库的初始化)(在hive/bin目录下)
    schematool -dbType mysql -initSchema在这里插入图片描述

  4. 执行hive命令(在hive/bin目录下) 在这里插入图片描述
    看到这个我太感人了(要哭了)终于成功了!!!!!

三、中间遇到的问题:

  1. mysql数据库的安装

  2. jdbc下载,找了半天

  3. 连接hive的时候还有这个问题

    Access denied for user ‘root’@‘localhost’ (using password:YES)

    查百度看到的分析,然后就检查呗:
    a. 首先检查了hive-site.xml的配置,发现用户名和密码都是对的,为了验证所以又重新设置的了mysql的用户名和密码,所以不是密码错误;
    b. 后来我怀疑在配置/usr/bin/mysql_secure_installation这里面密码输错了还是什么问题,还是什么远程的问题,于是我又进入重新配置了一下
    c. 最后检查到是我没有给访问权限,所以进去mysql去给了权限(具体也看步骤6)

  4. 数据库初始化不成功
    在这里插入图片描述
    原来是我没有创建数据库!!!!!!

    然后就回去创建数据库hive去了,记得还要给权限(具体去看上面的步骤6)

发布了2 篇原创文章 · 获赞 3 · 访问量 74

猜你喜欢

转载自blog.csdn.net/weixin_45783164/article/details/104534099