Hive的安装(常用的是独立模式)
1.内嵌模式安装
这样安装的话元数据保存在Derby数据库中,只能允许一个会话连接,只适合用于简单的测试。
<1>.解压
tar -xzvf hive-0.10.0
<2>.配置环境
/etc/profileexport HIVE_HOME={$hive_install}PATH中加入$HIVE_HOME 并保证有HADOOP_HOME的配置
也可以在hive-site.xml中配置
<3>.新建Hive所需要的目录
在HDFS上建立tmp和/user/hive/warehouse
命令:hadoop目录下
bin/hadoop fs -mkdir /tmp
bin/hadoop fs -mkdir /user/hive/warehouse
bin/hadoop fs -chmod g+w /tmp
bin/hadoop fs -chnod g+w /user/hive/warehouse
也可以在hive-site.xml中配置
<4>.启动Hive
在命令行下输入hive,如果能够进入hive的shell界面并能够浏览,表明Hive能够使用啦
2.独立模式安装
<1>安装好mysql服务器端和mysql客户端,并启动mysql服务
<2>为Hive建立相应的mysql帐号,并赋予足够的权限
create user 'hive' identified by '123456';
( 如果出现提示信息ERROR 1396 (HY000): Operation CREATE USER failed for 'hive'@'%'mysql中已经有该账户【可以使用drop user进行删除】)
grant all privileges on *.* to 'hive'@'%' with grant option;
flush privileges; 强制写出
为了使远程用户可以访问到mysql,修改/etc/mysql/my.cnf 文件,将bind-address注释掉
重启mysql
sudo /etc/ini.d/mysql restart
然后Hive帐号测试远程登录mysqlmysql -h 192.168.10.241-u hive -p
<3>建立Hive专用的元数据库
create database hive
<4>在本地安装mysql客户端
<5>配置/conf/hive-site.xml(自己新建或者拷贝hive-default.xml.template进行修改)
<property> <name>hive.metastore.local</name> <value>true</value> <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description> </property> <property> <name>javax.jdo.option.ConnectionURL</name> <!--Hive连接数据库的URL--> <value>jdbs:mysql:192.168.10.241:3306/hive>createDatabaseIfNotExist=true</value> <description>JDBC connect string for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionDriverName</name><!--Hive连接数据库的驱动名--> <value>com.mysql.jdbc.Driver</value> <description>Driver class name for a JDBC metastore</description> </property> <property> <name>javax.jdo.option.ConnectionUserName</name><!--Hive连接数据库的username--> <value>root</value> <description>username to use against metastore database</description> </property> <property> <name>javax.jdo.option.ConnectionPassword</name><!--Hive连接数据库的password--> <value>123456</value> <description>password to use against metastore database</description> </property> <property> <name>hive.metastore.warehouse.dir</name><!--Hive在HDFS上的数据存储目录--> <value>/hive/warehouse</value> <description>the hive data save localtion with hdfs</description> </property> <property> <name>hive.exec.scratchdir</name> <!--Hive的数据临时文件目录--> <value>/tmp/hive-asheng</value> <description>the hive data tmp save localtion</description> </property>
<6>把mysql的jdbc驱动包放到Hive/lib下
<7>启动Hive
启动hive shell:
hive目录下执行命令bin/hive
执行命令show tables
如果不报错 则安装成功 那么进入Hive的新建表则可以在mysql的Hive的数据库中看到相应的元数据信息啦~
3.远程模式安装
远程模式安装是把metastore配置到远程的机器上,可以配置多个,在独立模式的基础上需要在hive-site.xml中增加配置信息
<!--用于远程模式安装的附加信息-->
<property> <name>hive.metastore.local</name> <value>false</value> <description>controls whether to connect to remove metastore server or open a new metastore server in Hive Client JVM</description> </property> <property> <name>hive.metastore.uris</name> <value>uri1,uri2</value><!--可以配置多个uri,他们之间用分号隔开即可--> <description>JDBC connect string for a JDBC metastore</description> </property>