Hive个人心得笔记之安装

╰+攻爆jí腚メ 2021-12-14 08:47 699阅读 0赞

Hive个人心得笔记之安装

目录

  1. Hive个人心得笔记之安装

一.Hive安装

二.Mysql安装

一.卸载删除Percona和Mysql相关依赖

二.执行命令全部卸载

三.下载安装即可

四.下载完成

五.安装客户端,服务端

六.新增mysql用户组,并创建mysql用户

七.修改my.cnf,默认在/usr/my.cnf,

八.将mysqld加入系统服务,并随机启动

九.启动Mysql

十.查看初始生成的密码

十一.修改初始密码

十二.进入mysql数据库

十三.进入conf目录下,编辑新的配置文件,

十四.将mysql驱动包上传到hive安装目录的lib目录下

十五.进入到mysql数据库,进行权限分配

十六.进入mysql数据库,

十七.启动hive客户端

十八.关联Hive查询数据库

十九.通过navicat来连接数据库

二十.通过DBS 、TBLS、COLUMNS_V2、SDS这几张表来查看元数据信息

1.DBS 存放的数据库的元数据信息

2.TBLS存放的tables表信息

3.COLUMNS表存放的是列字段信息

4.SDS+表存放的HDFS里的位置信息

四.元数据

一、概述

二、derby存在的问题

五、常见问题


一.Hive安装

  1. 安装JDK (已安装)
  2. 安装Hadoop (已安装)
  3. 配置JDK和Hadoop的环境变量 (已配置)
  4. 下载Hive安装包 (已下载) wget hive
  5. 解压安装hive (已解压) tar -xvf xxxx
  6. 启动Hadoop的HDFS和Yarn (已启动) start-all.sh
  7. 进入到bin目录,启动Hive:sh hive (或者执行:./hive)
  8. hive安装过于简单,解压 无需配置 运行即可

二.Mysql安装

一.卸载删除Percona和Mysql相关依赖

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70

  1. [root@liuyong software]# rpm -ev --nodeps Percona-Server-shared-56-5.6.24-rel72.2.el6.x86_64
  2. [root@liuyong software]# rpm -ev --nodeps Percona-Server-56-debuginfo-5.6.24-rel72.2.el6.x86_64
  3. [root@liuyong software]# rpm -ev --nodeps Percona-Server-client-56-5.6.24-rel72.2.el6.x86_64
  4. [root@liuyong software]# rpm -ev --nodeps Percona-Server-server-56-5.6.24-rel72.2.el6.x86_64
  5. [root@liuyong software]# rpm -ev --nodeps mysql-libs-5.1.73-8.el6_8.x86_64
  6. warning: /etc/my.cnf saved as /etc/my.cnf.rpmsave
  7. [root@liuyong software]# rpm -ev --nodeps tcl-mysqltcl-3.052-1.el6.x86_64
  8. [root@liuyong software]# rpm -qa | grep Percona
  9. [root@liuyong software]# rpm -qa | grep mysql

二.执行命令全部卸载

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 1

三.下载安装即可

20190706151824302.png

四.下载完成

一个客户端,一个服务端

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 2

五.安装客户端,服务端

  • rpm -ivh MySQL-server-5.6.29-1.linux_glibc2.5.x86_64.rpm
  • rpm -ivh MySQL-client-5.6.29-1.linux_glibc2.5.x86_64.rpm

20190706152139565.png

六.新增mysql用户组,并创建mysql用户

  • groupadd mysql
  • useradd -r -g mysql mysql
  • 已经存在,无需关心

201907061523158.png

七.修改my.cnf,默认在/usr/my.cnf,

执行:vim /usr/my.cnf,添加如下内容: 如果没有该文件手动创建

  1. [client]
  2. default-character-set=utf8
  3. [mysql]
  4. default-character-set=utf8
  5. [mysqld]
  6. character_set_server=utf8
  7. sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

八.将mysqld加入系统服务,并随机启动

  • 执行:cp /usr/share/mysql/mysql.server /etc/init.d/mysqld
  • 说明:/etc/init.d 是linux的一个特殊目录,放在这个目录的命令会随linux开机而启动。

20190706153334326.png

20190706153138879.png

九.启动Mysql

启动mysqld,执行:service mysqld start

20190706153422225.png

十.查看初始生成的密码

执行:vim /root/.mysql_secret 。这个密码随机生成的

因为之前安装过Mysql集群,所以没有,第一次安装的会有,改下密码为root

十一.修改初始密码

  • 第一次安装完mysql后,需要指定登录密码
  • 执行:mysqladmin -u root -p password root 此时,提示要输入初始生成的密码,拷贝过来即可

自行操作

十二.进入mysql数据库

  • 执行:mysql -u root -p
  • 输入:root进入
  • 执行:\s查看mysql数据配置信息

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 3

十三.进入conf目录下,编辑新的配置文件,

名字为:hive-site.xml

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 4

  1. <configuration>
  2. <property>
  3. <name>javax.jdo.option.ConnectionURL</name>
  4. <value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</value>
  5. </property>
  6. <property>
  7. <name>javax.jdo.option.ConnectionDriverName</name>
  8. <value>com.mysql.jdbc.Driver</value>
  9. </property>
  10. <property>
  11. <name>javax.jdo.option.ConnectionUserName</name>
  12. <value>root</value>
  13. </property>
  14. <property>
  15. <name>javax.jdo.option.ConnectionPassword</name>
  16. <value>root</value>
  17. </property>
  18. </configuration>

十四.将mysql驱动包上传到hive安装目录的lib目录下

进入conf目录下,编辑新的配置文件,名字为:hive-site.xml

" class="reference-link">20190706154844965.png

20190706154948192.png

十五.进入到mysql数据库,进行权限分配

  • 执行:grant all privileges on *.* to ‘root’@’hadoop01’ identified by ‘root’ with grant option;
  • 执行:grant all on *.* to ‘root’@’%’ identified by ‘root’;
  • 执行:flush privileges;

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 5

十六.进入mysql数据库,

执行:create database hive character set latin1;

十七.启动hive客户端

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 6

十八.关联Hive查询数据库

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 7

十九.通过navicat来连接数据库

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 8

二十.通过DBS 、TBLS、COLUMNS_V2、SDS这几张表来查看元数据信息

watermark_type_ZmFuZ3poZW5naGVpdGk_shadow_10_text_aHR0cHM6Ly9ibG9nLmNzZG4ubmV0L0xpdVk1MjE_size_16_color_FFFFFF_t_70 9

1.DBS 存放的数据库的元数据信息

20190706164035889.png

2.TBLS存放的tables表信息

20190706164105273.png

3.COLUMNS表存放的是列字段信息

2019070616412619.png

4.SDS+表存放的HDFS里的位置信息

20190706164150857.png

四.元数据

一、概述

  1. hive可以管理hdfs上的文件,用表的形式来管理文件数据。而表名、表里有哪些字段,字段类型、哪张表存在哪个数据下等这些表信息,称之为hive的元数据信息
  2. 默认情况下,hive的元数据信息不是存在hdfs上的,而是存在hive自带的derby关系型数据库里的
  3. Hive安装完成之后,通常都需要替换元数据库,目前Hive只支持derby和mysql两种元数据库,需要将元数据库替换为MySQL
  4. 元数据的默认字符集是ISO8859-1

二、derby存在的问题

  1. derby数据库是一种文件型的数据库,在进入时会检查当前目录下是否有metastore_db文件夹用来存储数据库数据,如果有就直接使用,如果没有就创建,这样一旦换一个目录,元数据就找不到了
  2. derby数据库是一个单用户的数据库,无法支持多用户同时操作,而hive如果使用derby作为元数据库,则也只能支持单用户操作,这就导致在数据量大连接多的情况下会产生大量连接的积压

五、常见问题

  1. 如果出现不能修改密码的问题,则可以执行如下命令强制修改:

    1. 关闭MySQL服务:service mysqld stop
    2. 进入安全模式:mysqld_safe —user=mysql —skip-grant-tables —skip-networking &
    3. 在安全模式下输入:mysql -u root mysql
    4. 进入mysql之后输入:

      1. UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=’root’;
      2. FLUSH PRIVILEGES;
      3. quit
    5. 重启MySQL服务:service mysqld restart
  2. 显示MySQL密码过期:

    1. 进入mysql
    2. 使用mysql库:use mysql
    3. 更新密码状态:update user set password_expired=’N’ where user=’root’;
    4. 更新策略:flush privileges;
    5. 退出MySQL:quit

发表评论

表情:
评论列表 (有 0 条评论,699人围观)

还没有评论,来说两句吧...

相关阅读