Hive安装部署-内置derby版以及缺陷&mysql版安装

Hive安装部署

Hive安装前需要安装好JDK和Hadoop。配置好环境变量。
根据元数据存储的介质不同,分为下面两个版本,其中derby属于内嵌模式。实际生产环境中则使用mysql来进行元数据的存储。
内置derby版
解压hive安装包
bin/hive启动即可使用
缺点:不同路径启动hive,每一个hive拥有一套自己的元数据,无法共享
在这里插入图片描述
hive命令如下,与mysql类似:

show databases;
create database itcast;
use itcast;
show tables;
create table t_test(id int);
show tables;
select * from t_test;

在这里插入图片描述
在这里插入图片描述
多了这两个文件:
derby.log:数据库日志
metastore_db:元数据数据库
在这里插入图片描述
cd到hive的bin目录,启动hive,就只有default数据库了,之前创建的itcast这个库没有了。

cd bin/
ll
./hive
show databases;

在这里插入图片描述
CTRL+C结束。在当前目录下又新生成了derby.log和metastore_db。
说明不同路径启动hive,每一个hive拥有一套自己的元数据,无法共享。
一般用于测试实验。
在这里插入图片描述
mysql版
解压、修改配置文件
vi conf/hive-site.xml
配置Mysql元数据库信息

hive安装手册

  1. 上传tar包
    hive安装包:apache-hive-1.2.1-bin.tar.gz
    上传到服务器
  2. 解压
    tar -zxvf apache-hive-1.2.1-bin.tar.gz
    可以重命名
    mv apache-hive-1.2.1-bin hive
    安装包目录结构如下图所示:
    在这里插入图片描述
  3. 安装mysql数据库
    推荐yum 在线安装
  4. 配置hive
    (a)配置HIVE_HOME环境变量
    vi conf/hive-env.sh
    配置其中的$hadoop_home
    在这里插入图片描述
    命令:which hadoop
    复制如下路径,不用全路径:
    在这里插入图片描述
    配置如下hadoop环境变量:
    在这里插入图片描述
    (b)配置元数据信息
    vi hive-site.xml
    添加如下内容:
<configuration>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBC metastore</description>
</property>

<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>root</value>
<description>username to use against metastore database</description>
</property>

<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>root</value>
<description>password to use against metastore database</description>
</property>
</configuration>

所有默认的配置文件,都放在hive-default.xml中,用户自定义配置,都放在hive-site.xml中
5. 安装hive和mysql完成后,将mysql的连接jar包拷贝到$HIVE_HOME/lib目录下,安装mysql驱动:mysql-connector-java-5.1.32.jar
如果出现没有权限的问题,在mysql授权(在安装mysql的机器上执行)

命令:mysql -uroot -p
#(执行下面的语句 *.*:所有库下的所有表 %:任何IP地址或主机都可以连接)
命令:GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY 'root' WITH GRANT OPTION;
命令:FLUSH PRIVILEGES;
  1. Jline包版本不一致的问题,需要拷贝hive的lib目录中jline.2.12.jar的jar包替换掉hadoop中的/home/hadoop/app/hadoop-2.6.4/share/hadoop/yarn/lib/jline-0.9.94.jar

启动hive
bin/hive

yum在线安装mysql

命令:yum install mysql mysql-server mysql-devel

完成后,用如下命名启动mysql
命令:/etc/init.d/mysqld start

启动mysql控制台:

mysql回车,进入mysql交互页面
mysql>USE mysql;
mysql>UPDATE user SET Password=PASSWORD('newpassword') WHERE user='root'; 首次登陆,修改newpassword密码
mysql>FLUSH PRIVILEGES; 刷新权限
mysql -u root -p
Enter Password:<your new password>
mysql>GRANT ALL PRIVILEGES ON *.* TO '用户名'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 授权远程连接命令,修改用户名和密码。
完成后就能远程管理mysql了。
mysql>FLUSH PRIVILEGES; 如果不放心,还可以再授权一下权限。

mysql服务名字 service mysqld start

GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '密码' WITH GRANT OPTION; 授权远程连接命令

service mysqld status可以查看到已经安装好了,正在运行
chkconfig mysqld on 设置后续开机启动
chkconfig mysqld --list

在这里插入图片描述

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