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安装
- 安装JDK (已安装)
- 安装Hadoop (已安装)
- 配置JDK和Hadoop的环境变量 (已配置)
- 下载Hive安装包 (已下载) wget hive
- 解压安装hive (已解压) tar -xvf xxxx
- 启动Hadoop的HDFS和Yarn (已启动) start-all.sh
- 进入到bin目录,启动Hive:sh hive (或者执行:./hive)
- 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
" class="reference-link">
十五.进入到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里的位置信息
四.元数据
一、概述
- hive可以管理hdfs上的文件,用表的形式来管理文件数据。而表名、表里有哪些字段,字段类型、哪张表存在哪个数据下等这些表信息,称之为hive的元数据信息
- 默认情况下,hive的元数据信息不是存在hdfs上的,而是存在hive自带的derby关系型数据库里的
- Hive安装完成之后,通常都需要替换元数据库,目前Hive只支持derby和mysql两种元数据库,需要将元数据库替换为MySQL
- 元数据的默认字符集是ISO8859-1
二、derby存在的问题
- derby数据库是一种文件型的数据库,在进入时会检查当前目录下是否有metastore_db文件夹用来存储数据库数据,如果有就直接使用,如果没有就创建,这样一旦换一个目录,元数据就找不到了
- derby数据库是一个单用户的数据库,无法支持多用户同时操作,而hive如果使用derby作为元数据库,则也只能支持单用户操作,这就导致在数据量大连接多的情况下会产生大量连接的积压
五、常见问题
如果出现不能修改密码的问题,则可以执行如下命令强制修改:
- 关闭MySQL服务:service mysqld stop
- 进入安全模式:mysqld_safe —user=mysql —skip-grant-tables —skip-networking &
- 在安全模式下输入:mysql -u root mysql
进入mysql之后输入:
- UPDATE user SET Password=PASSWORD(‘newpassword’) where USER=’root’;
- FLUSH PRIVILEGES;
- quit
- 重启MySQL服务:service mysqld restart
显示MySQL密码过期:
- 进入mysql
- 使用mysql库:use mysql
- 更新密码状态:update user set password_expired=’N’ where user=’root’;
- 更新策略:flush privileges;
- 退出MySQL:quit
还没有评论,来说两句吧...