Apache hive安装

来源:互联网 发布:百度大数据分析工具 编辑:程序博客网 时间:2024/05/18 13:06

前面的《Apache hadoop2.6.4安装》文章中已经安装了hadoop系统了,接下来我们继续基于hadoop平台,安装hive
在安装 hive之前,首先要安装mysql ,请参考《yum在cnetos下安装mysql》
http://search.maven.org 网站上搜索mysql-connector-java
找到对应的mysql的驱动文件,并且下载下来。我这里的mysql版本为5.1.73, 因此我下载了对应的mysql驱动文件。
接下来开始正式安装hive
通过sftp把hive的安装包上传到linux上面。
并且把hive解压到apps目录下面:

tar -zxvf hive.tar -C ./apps

进入到以下目录:

[hadoop@mini1 conf]$ cd /home/hadoop/apps/hive/conf

并且编辑hive-env.sh文件

[hadoop@mini1 conf]$ vi hive-env.sh

修改

# Set HADOOP_HOME to point to a specific hadoop install directoryHADOOP_HOME=/home/hadoop/apps/hadoop-2.6.4

编辑hive-site.xml文件,并且添加以下配置信息。

[hadoop@mini1 conf]$ vi hive-site.xml 
<configuration><property><name>javax.jdo.option.ConnectionURL</name><value>jdbc:mysql://localhost:3306/hive?createDatabaseIfNotExist=true</value><description>JDBC connect string for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionDriverName</name><value>com.mysql.jdbc.Driver</value><description>Driver class name for a JDBC metastore</description></property><property><name>javax.jdo.option.ConnectionUserName</name><value>root</value><description>username to use against metastore database</description></property><property><name>javax.jdo.option.ConnectionPassword</name><value>root</value><description>password to use against metastore database</description></property></configuration>

至此,hive已经安装完成,接下来把mysql的驱动包传送到hive的lib目录下面
alt+p 打开sftp功能。

cd /home/hadoop/apps/hive/libput mysql-connector-java-5.1.37.jar

然后通过root用户配置/etc/profile文件,添加HIVE_HOME

export HIVE_HOME=/home/hadoop/apps/hiveexport PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$HIVE_HOME/bin

然后source /etc/profile
然后启动hive
会遇到错误,查看是jline的包的问题,直接把hive的jline覆盖到yarn里面的jline的jar包

cp /hive/apache-hive-1.2.1-bin/lib/jline-2.12.jar ./

可能在启动hive的时候,会报错
java.sql.SQLException: Access denied for user ‘root’@’bigdata’ (using password: YES)

sudo service mysqld stopsudo mysqld_safe –skip-grant-tables &sudo service mysqld restartmysql –uroot –prootuse mysql; update user set password=PASSWORD('root')where user='root'; flush privileges; quit service mysqld restart

可以解决

启动hive:

执行hive命令:

运行hive之前首先要确保meta store服务已经启动,nohup hive --service metastore > metastore.log 2>&1 &hive

或者是启动beeline:
先启动hiveserver2:

nohup hive --service hiveserver2 > hiveserver2.log 2>&1 &---然后启动beelinebeeline!connect:jdbc:hive2://localhost:10000
原创粉丝点击