Hive个人心得笔记之安装

                              Hive个人心得笔记之安装

目录

                              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相关依赖

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

二.执行命令全部卸载

三.下载安装即可

四.下载完成

一个客户端,一个服务端

五.安装客户端,服务端

  • 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

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

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

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

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

[client]

default-character-set=utf8

[mysql]

default-character-set=utf8

[mysqld]

character_set_server=utf8

sql_mode=NO_ENGINE_SUBSTITUTION,STRICT_TRANS_TABLES

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

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

九.启动Mysql

启动mysqld,执行:service mysqld start

十.查看初始生成的密码

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

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

十一.修改初始密码

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

自行操作

十二.进入mysql数据库

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

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

名字为:hive-site.xml

	<configuration>
	    <property>
	        <name>javax.jdo.option.ConnectionURL</name>
	        <value>jdbc:mysql://hadoop01:3306/hive?createDatabaseIfNotExist=true</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>root</value>
	    </property>
	</configuration>

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

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

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

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

十六.进入mysql数据库,

执行:create database hive character set latin1;

 

十七.启动hive客户端

十八.关联Hive查询数据库

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

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

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

2.TBLS存放的tables表信息

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

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

四.元数据

一、概述

  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

 

 

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章