hive的三种模式及配置

hive依赖于hadoop集群和mysql数据库,hadoop集群安装不在详述,mysql见3(3)

1、配置分布

 

  NameNode DataNode Zookeeper DFSZKFC JournalNode hive(单用户) hive(多用户) mysql
node01 1     1        
node02   1 1   1      
node03   1 1   1      
node04   1 1   1   1(服务端)  
node05 1     1   1 1(客户端)  
node06               1

 

2、local模式(内嵌derby)

此模式是基于hive内嵌derby数据库,一般用作Unit Test,只需在hive-site.xml配置即可

  
  
  
  
  javax.jdo.option.ConnectionURL  
  jdbc:derby:;databaseName=metastore_db;create=true  #指定derby地址和数据库库名
  
  
  javax.jdo.option.ConnectionDriverName  
  org.apache.derby.jdbc.EmbeddedDriver  #derby驱动
  
  
  hive.metastore.local  
  true  #本地模式
   
  
  hive.metastore.warehouse.dir  
  /user/hive/warehouse  
  

 

3、单用户模式(mysql)

 

    通过网络连接到一个数据库中,是最经常使用到的模式

(1)复制mysql驱动包到$HIVE_HOME/lib下

(2)在$HIVE_HOME/conf下hive-site.xml配置以下内容





  hive.metastore.warehouse.dir
  /data/hive/warehouse#hdfs目录


  hive.metastore.local
  true


  javax.jdo.option.ConnectionURL
  jdbc:mysql://192.168.1.76/hive_remote?createDatabaseIfNotExist=true#msql地址


  javax.jdo.option.ConnectionDriverName
  com.mysql.jdbc.Driver#数据库驱动


  javax.jdo.option.ConnectionUserName
  root #mysql用户名


  javax.jdo.option.ConnectionPassword
  123456 #密码

 

(3)安装mysql

 

    yum源安装:yum -y install mysql-server

    启动mysql服务:service mysqld start

    连接mysql:mysql(无密码,直接进入)

    修改root用户权限(允许所有主机连接root用户,密码为123456)

    GRANT ALL PRIVILEGES ON *.* TO 'root'@'%' IDENTIFIED BY '123456' WITH GRANT OPTION;

    刷新生效:flush privileges;

    退出连接:quit;

4、多用户模式

(1)服务端配置,hive-site.xml





  hive.metastore.warehouse.dir
  /data/hive/warehouse#hdfs存储目录,和客户端保持一致


  hive.metastore.local #元数据在本机
  true


  javax.jdo.option.ConnectionURL
  jdbc:mysql://192.168.1.76/hive_remote?createDatabaseIfNotExist=true#msql地址


  javax.jdo.option.ConnectionDriverName
  com.mysql.jdbc.Driver#数据库驱动


  javax.jdo.option.ConnectionUserName
  root #mysql用户名


  javax.jdo.option.ConnectionPassword
  123456 #密码

 

(2)客户端配置,hive-site.xml

 





  hive.metastore.warehouse.dir
  /data/hive/warehouse #hdfs存储目录,和服务端保持一致


  hive.metastore.local
  false #元数据不在本机


  hive.metastore.uris
  thrift://192.168.1.74:9083 #服务端通信地址、端口

 

(4)启动hive服务端程序

 

    $HIVE_HOME/bin/hive --service metastore 

(5)客户端连接测试

    连接:$HIVE_HOME/bin/hive

hive> show tables;
OK
tt
Time taken: 0.187 seconds, Fetched: 1 row(s)
hive>

 

 

 

你可能感兴趣的:(Bigdata,Hive)