hive单用户及多用户的实现
网友 CSDN博客

1. 启动Hadoop集群,hdfs和yarn--->start-dfs.sh  start-yarn.sh

2. 关掉安全模式,hadoop dfsadmin -safemode leave(注意:每次进入时,都要先关闭h15和h18)

3. apache-Hive-1.2.1-bin.tarTar包上传解压,进去conf目录(单用户则安装1个节点,多用户则安装2个节点)

4. 解压目录conf下复制一个配置文件,#cp hive-default.xml.template  hive-site.xml

5. 清空修改hive-site.xml内容

6. 单用户模式:(多用户则不用配置)

<property>  

  <name>hive.metastore.warehouse.dir</name>  

  <value>/user/hive_remote/warehouse</value>  

</property>  

<property>  

  <name>hive.metastore.local</name>  

  <value>true</value>  

</property>  

<property>  

  <name>javax.jdo.option.ConnectionURL</name>  

  <value>jdbc:MySQL://192.168.142.115:3306/hive_remote?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>hive</value>  

</property>  

<property>  

  <name>javax.jdo.option.ConnectionPassword</name>  

  <value>password</value>  

</property>  

7. 多用户模式分服务器端和客户端

a) Mysql h15服务器端的hive目录下hive-site.xml

<property>  

  <name>hive.metastore.warehouse.dir</name>  

  <value>/user/hive/warehouse</value>  

</property>  

   

<property>  

  <name>javax.jdo.option.ConnectionURL</name>  

  <value>jdbc:mysql://192.168.142.115: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>1714****</value>  

</property>  

b) Mysql h18客户端的hive目录下hive-site.xml

<property>  

  <name>hive.metastore.warehouse.dir</name>  

  <value>/user/hive/warehouse</value>  

</property>  

   

<property>  

  <name>hive.metastore.local</name>  

  <value>false</value>  

</property>  

  

<property>  

  <name>hive.metastore.uris</name>  

  <value>thrift://h15:9083</value>  h15是hive服务器的ip

</property>  

将hadoop  “/home/hadoop-2.5.1/share/hadoop/yarn/lib”中的jline-0.9.94.jar包替换成hive中新版本的包jline-2.12.jar.

注意:在h18上也要替换

 

8. 安装mysql库,上面的配置文件里面的mysql地址就配置这个地址

9. 将mysql jdbc的驱动包mysql-connector-Java-5.1.32-bin.jar放到hive/lib目录下

10. 复制hive到h18上

#scp -r /home/hive-1.2.1 root@h18:/home

同时修改conf/hive-site.xml文件为客户端的配置

<property>  

  <name>hive.metastore.warehouse.dir</name>  

  <value>/user/hive/warehouse</value>  

</property>  

   

<property>  

  <name>hive.metastore.local</name>  

  <value>false</value>  

</property>  

  

<property>  

  <name>hive.metastore.uris</name>  

  <value>thrift://h15:9083</value>  h15是hive服务器的ip

</property>  

11. yum –y install mysql-server

12. mysql –uroot –p 进去mysql,默认密码是空

   a)use mysql

   b)delete from user where user='';

   c)update user set host='%' where host='localhost';

   d)update user set password=PASSWORD('1714004716') where user='root';

   e)flush privileges;

13. 单用户启动bin/hive

14. 多用户启动,先在服务器端h15上启动:\sh hive  --service metastore

   然后再客户端h18上访问:hive 

 

注意:需要先启动mysql

注意:mysql的my.cnf文件中不要添加编码格式

错误:

Could not create ServerSocket on address 0.0.0.0/0.0.0.0:9083.

说明hive服务器端已经启动,需要杀死后,重新启动,或者重启hadoop集群

 

com.mysql.jdbc.exceptions.jdbc4.MySQLSyntaxErrorException: Specified key was too long; max key length is 767 bytes

解决:需要进入mysql目录下删除创建的hive库

Mysql》  drop database hive;


CIO之家 www.ciozj.com 公众号:imciow
关联的文档
也许您喜欢