分布式Hive环境搭建

分布式搭建hive环境

环境准备:
系统:Ubuntu 14.04
IP:192.168.110.101
    192.168.110.102
    192.168.110.103
Hadoop版本:2.6.4
MySQL
  1. 需要事先准备好Hadoop集群,并启动。
  2. 安装MySQL
  3. 在MySQL上创建hive元数据库,并对hive进行授权
安装完MySQL后,新建hive数据库,用来保存hive的元数据
mysql> create database hive;
将hive数据库下的所有表的所有权限赋给hadoop用户,并配置mysql为hive-site.xml中的连接密码,然后刷新系统权限关系表
mysql> CREATE USER  'hadoop'@'%'  IDENTIFIED BY 'mysql';
     mysql>  grant all privileges on *.* to root@'%' identified by '******' //***表示数据库连接密码    
     mysql> flush privileges;
'需要注意的是,在ubuntu系统里,默认情况下MySQL只允许本地登录,所以需要修改配置文件将地址绑定注释。'
sudo vi /etc/mysql/my.cnf
找到 # bind-address = 127.0.0.1    注释掉这一行就可以啦

4.安装jar包到hive
需要下载MySQL的jdbc连接器mysql-connector-5.*.*.jar,然后将下载后的jdbc放到hive安装包的lib目录下
下载链接:http://dev.mysql.com/downloads/connector/j/

由于安装的是hive2.1,故需要在MySQL执行
mysql> SOURCE /home/**/app/hive/scripts/metastore/upgrade/mysql/hive-schema-2.1.0.mysql.sql;

5.配置hive-site.xml

# cd /opt/hive/conf/ 
# cp hive-default.xml.template hive-site.xml                            
# vim hive-site.xml

------------------------------------------------------------
<property>
  <name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://hadoop1:3306/hive_metadata?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>    //我这里是用root用户操作的,要与5.1步骤授权一致。                                                  
</property>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>123456</value>
</property>
<property>
  <name>hive.metastore.warehouse.dir</name>
  <value>/user/hive/warehouse</value>
</property>
<property>                                                      
    <name>datanucleus.schema.autoCreateAll</name>  
    <value>true</value>  //我安装时报错,加上这个完美解决
    <description>creates necessary schema on a startup if one doesn't exist. set this to false, after creating it once</description>  
 </property>

6.元数据初始化
初始化hive的元数据库(使用MySQL数据库)

# cd /opt/hive/bin
# schematool -initSchema -dbType mysql

7.启动验证hive
启动验证hive

hive

猜你喜欢

转载自blog.csdn.net/yangyang_yangqi/article/details/79405691