在Hadoop基础上Hive的安装

来源:互联网 发布:日上免税店 知乎 编辑:程序博客网 时间:2024/06/05 05:37

写在开头
环境
Hadoop单机
Centos7
Hadoop-2.7.3
hadoop位置:/usr/loacl/hadoop

参考文章
Hadoop集群之Hive安装配置

Hive下载

下载源码包

#在hadoop目录下操作>>>cd /usr/local/hadoop#用wget下载>>>wget http://mirrors.cnnic.cn/apache/hive/hive-1.2.1/apache-hive-1.2.1-bin.tar.gz#也可以在图形界面下下载之后,上传压缩包#解压缩包>>>tar -zxvf apache-hive-1.2.1-bin.tar.gz #配置环境变量>>>vim /etc/profile#位置在之前配置的变量之后,大概12行左右,因为之前配置了jdk和hadoop变量export HIVE_HOME=/usr/local/hadoop/apache-hive-1.2.2-binexport PATH=$HIVE_HOME/bin:$PATH#适当位置添加"$HIVE_HOME/bin:"#保存退出#使文件生效>>>source /etc/profile

安装MySQL

详情见另一篇博客中——安装MySQL一部分
Centos7下安装MySQL

配置Hive

我们之前在hadoop目录下安装了Hive,位置为/usr/local/hadoop/apache-hive-1.2.1-bin

#进入hive配置目录下>>>cd /usr/local/hadoop/apache-hive-1.2.1-bin/conf#修改hive-default.xml.template #首先复制>>>cp hive-default.xml.template hive-default.xml#修改文件>>>vim hive-default.xml# 1. 第一步将<configuration></configuration>中内容删除大概是18-3908行# vim删除命令-->:18,3908d# 2.将下面<configuration></configuration>中内容复制进去,分别将3306喝9083前的user_name改为当前的用户名<configuration>    <property>        <name>javax.jdo.option.ConnectionURL</name>        <value>jdbc:mysql://user_name: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>hive<value>        <description>username to use against metastore database</description>    </property>    <property>          <name>javax.jdo.option.ConnectionPassword</name>        <value>hive</value>        <description>password to use against metastore database</description>      </property>      <property>      <name>hive.metastore.uris</name>      <value>thrift://user_name:9083</value>      </property>        </configuration>

下载JDBC

#命令行下载,也可以使用图形界面上传文件>>> wget http://cdn.mysql.com/Downloads/Connector-J/mysql-connector-java-5.1.36.tar.gz#将文件复制进Hive的lib目录下,原因,Hive的自带的那个版本低,可能失效>>> cp mysql-connector-java-5.1.33-bin.jar /usr/local/hadoop/apache-hive-1.2.1-bin/lib/

启动Hive

>>>hive --service metastore &>>>jps#结果会多出一个进程#进入hive目录>>>cd /usr/local/hadoop/apache-hive-1.2.1-bin/bin#启动hive,可能有点慢>>>hive#若出现hive的命令行即代表成功,如下hive>

部分报错原因
Logging initialized using configuration in jar:file:/home/hadoop/apache-hive-1.2.1-bin/lib/hive-common-1.2.1.jar!/hive-log4j.properties
Exception in thread “main” java.lang.RuntimeException: java.lang.RuntimeException: Unable to instantiate org.apache.hadoop.hive.ql.metadata.SessionHiveMetaStoreClient
at org.apache.hadoop.hive.ql.session.SessionState.start(SessionState.java:522)
解决方法,直接关闭防火墙

#这里的系统事Centos7,所以使用此命令>>>systemctl stop firewalld

hive metastore 启动出错解决

# 查看与hive相关进程是否启动>>>ps -ef | grep hive# kill相关进程,为进程号>>>kill num# 重新启动>>>./hive

更多问题见此文章
Hive常见问题汇总

0 0
原创粉丝点击