http://f.dataguru.cn/thread-498990-1-1.html
安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试。将安装过程和最后测试成功的界面抓图提交
安装Hive,有条件的同学可考虑用mysql作为元数据库安装(有一定难度,可以获得老师极度赞赏),安装完成后做简单SQL操作测试。将安装过程和最后测试成功的界面抓图提交
参考网址:
http://blog.csdn.net/xqj198404/article/details/9109715
http://www.cnblogs.com/xiaoluo501395377/archive/2013/04/07/3003278.html
官网找到最新版下载并解压
设置环境变量
exportHIVE_HOME=/home/hadoop/apache-hive-1.1.0-bin
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:$HIVE_HOME/lib
配置修改
配置文件位置/home/hadoop/apache-hive-1.1.0-bin/conf
cp hive-env.sh.template hive-env.sh
更改hive-env.sh
的内容:
HADOOP_HOME=/home/hadoop/hadoop-1.2.1
exportHIVE_CONF_DIR=/home/hadoop/apache-hive-1.1.0-bin/conf
cp hive-default.xml.template hive-site.xml
更改
hive-site.xml
中如下的内容
:
<property>
<name>hive.metastore.local</name>
<value>false</value>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:mysql://node1:3306/hive?createDatabaseIfNotExist=true</value>
<description>JDBC connect string for a JDBCmetastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionDriverName</name>
<value>com.mysql.jdbc.Driver</value>
<description>Driver class name for a JDBCmetastore</description>
</property>
<property>
<name>javax.jdo.option.ConnectionUserName</name>
<value>hive</value>
<description>Username to use against metastoredatabase</description>
</property>
<property>
<name>javax.jdo.option.ConnectionPassword</name>
<value>hive</value>
<description>password to use against metastoredatabase</description>
</property>
<!--<property>
<name>hive.metastore.uris</name>
<value>thrift://node1:9083</value>
<description>Thrift URI for the remote metastore. Used bymetastore client to connect to remote metastore.</description>
</property> -->
Mysql
安装
yum install -y mysql-server mysqlmysql-deve
service mysqld start
chkconfig mysqld on
/
usr/bin/mysqladmin -u root password 'mysql' //
为
root
账号设置密码
mysql -u root –p
GRANT ALL PRIVILEGES ON *.* TO 'root'@'%'IDENTIFIED BY 'mysql' WITH GRANT OPTION;
FLUSH PRIVILEGES;
create user hive identified by 'hive';
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@'
%' IDENTIFIEDBY 'hive' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@
'localhost'IDENTIFIED BY 'hive' WITH GRANT OPTION;
FLUSH PRIVILEGES;
GRANT ALL PRIVILEGES ON hive.* TO 'hive'@
'node1'IDENTIFIED BY 'hive' WITH GRANT OPTION;
FLUSH PRIVILEGES;
mysql
如果是本机的话,本机登陆mysql
的密码问题要注意
把mysql
的jar
包,放到hive
的lib
目录下
cp mysql-connector-java-5.1.20-bin.jarapache-hive-1.1.0-bin/lib/
先启动hadoop
,mysql
,再启动hive
报错
解决办法:
修改hadoop-env.sh
hive -hiveconfhive.root.logger=DEBUG,console //
启动调试看日志
启动报错
原因是机器使用了jdk1.6
,换成jdk1.7
即可
hive --service metastore & //
可以不使用
hive --service hiveserver2 & //
可以不使用
hive
启动时遇到问题解决方法
解决方案如下:
1. 查看hive-site.xml 配置,会看到配置值含有"system:java.io.tmpdir" 的配置项
2. 新建文件夹/home/hadoop/apache-hive-1.1.0-bin/iotmp
3. 将含有"system:java.io.tmpdir" 的配置项的值修改为如上地址
1. 查看hive-site.xml 配置,会看到配置值含有"system:java.io.tmpdir" 的配置项
2. 新建文件夹/home/hadoop/apache-hive-1.1.0-bin/iotmp
3. 将含有"system:java.io.tmpdir" 的配置项的值修改为如上地址
4.
将含有"${system:user.name}"
的配置项的值修改为hive
启动hive ,成功!
启动hive ,成功!
Create table
报错
解决办法
alter database hive character set latin1