hive单用户及多用户的实现(已经实现多用户)
2016-06-06 14:03
387 查看
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;
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;
相关文章推荐
- 像素
- 新概念2背诵500遍后的感受
- 批处理学习之实现复制和剪切文件夹
- (转)ASP.NET MVC 给ViewBag赋值Html格式字符串的显示问题总结
- idea中的汉语注释出现乱码的解决方案
- ViewPager实现图片循环滚动
- VMware vSphere常见问题汇总(二十五)
- iOS 设置的字体的大小与PS字体大小的关系
- string <==>liststring
- 第十五周程序阅读-范型程序设计(1)
- POJ 2084 Game of Connections 递推/卡特兰数
- 使用React.js 重新构建HipChat
- win10 安装sqlserver2000
- 微信客服接口
- Google Android开发者文档系列-创建有内容分享特性的应用之文件共享(序言)
- Android改变mediaController的位置
- TCP洪水攻击(SYN Flood)的诊断和处理
- kafka和flume整合
- Android UI设计之<十>自定义ListView,实现QQ空间阻尼下拉刷新和渐变菜单栏效果
- 安装DirectX SDK报错s1023的解决