Hive架构 & 安装Hive并配置MYSQL作为metasto

2019-10-15  本文已影响0人  alexlee666

一、Hive架构

Hive 架构图

其中:

关于三种连接方式详解可以参考博客:https://www.cnblogs.com/qingyunzong/p/8715925.html#_label2

注:图中的HDFS是1.X版本的。


二、安装并配置MYSQL作为metastore

2.1 安装Hive

简单来说官网下载hive安装包,配置环境变量即可。

2.2 增加配置项到hdfs-site.xml等配置文件中

必须在hdfs-site.xml中添加如下配置,否则hadoop会自动在/Users/ycaha/tmp目录下创建name等目录,这样的结果就是机器重启后自动删除,从而导致重启机器后namenode因为找不到NameNode路径而无法启动。


<property>
  <name>dfs.namenode.name.dir</name>
  <value>/Users/ycaha/software-package-install/hadoop_install/namenode_name_dir</value>
</property>

<property>
  <name>dfs.datanode.data.dir</name>
  <value>/Users/ycaha/software-package-install/hadoop_install/datanode_data_dir</value>
</property>

<property>
  <name>dfs.replication</name>
  <value>3</value>
</property>

<property>
  <name>dfs.namenode.secondary.http-address</name>
  <value>127.0.0.1:9001</value>
</property>

还需要在core-site.xml中设置ha.zookeeper.quorum 和 hive.zookeeper.quorum:


<configuration>
  <!-- 指定hdfs的nameservice为ns1 -->
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://ns1/</value>
  </property>
  <!-- 指定hadoop临时目录 -->
  <property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/app/hadoop-2.4.1/tmp</value>
  </property>
  <!-- 指定zookeeper地址 -->
  <property>
    <name>ha.zookeeper.quorum</name>
    <value>s104:2181,s106:2181,s108:2181</value>
  </property>

</configuration>

之后必须要对HDFS的NameNode重新格式化:


hadoop namenode format

2.3 配置MYSQL

在mysql数据库中新建名为mysql的数据库,设置用户名密码均为hive(也可以是其他的)。

另附其他一些常用操作:

revoke  all  on  *.*  from tester;  --取消用户所有数据库(表)的所有权限 ;
delete  from mysql.user  where  user='tester';  --删除用户 ;
drop  database  [数据库名称]; --删除数据库

2.4 在hive-site.xml中添加MYSQL的user、pass等信息

<!-- 插入一下代码 -->

<property>
  <name>javax.jdo.option.ConnectionUserName</name>用户名(这4是新添加的,记住删除配置文件原有的哦!)
  <value>hive</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionPassword</name>密码
  <value>hive</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionURL</name>mysql
  <value>jdbc:mysql://127.0.0.1:3306/hive</value>
</property>

<property>
  <name>javax.jdo.option.ConnectionDriverName</name>mysql驱动程序
  <value>com.mysql.jdbc.Driver</value>
</property>

<!-- 到此结束代码 -->

三、运行hive并查看日志

运行hive shell并查看详细运行日志:

hive --hiveconf hive.root.logger=DEBUG,console


如有错误之处,敬请指正!

上一篇下一篇

猜你喜欢

热点阅读