图片 1

1. 安装环境说明

(1)hive1.2之后需要java1.7或者更高的版本,建议用1.8;

(2)hadoop版本2.x以上,hive2.0.0之后不再支持1.x;

在本文之前,hadoop环境已经安装,具体可见文章《编译hadoop2.9源码并搭建环境

for my honey!

2. 下载并编译hive源码

官网地址

我选择的是当前的稳定版2.3.2

解压到安装目录,进入源码目录之后执行编译命令

mvn clean package -Pdist -DskipTests

编译完成

1、前言

安装hive前提是要先安装hadoop集群,并且hive只需要再hadoop的namenode节点集群里安装即可,可以不在datanode节点的机器上安装。另外还需要说明的是,虽然修改配置文件并不需要你已经把hadoop跑起来,但是本文中用到了hadoop命令,在执行这些命令前你必须确保hadoop是在正常跑着的,而且启动hive的前提也是需要hadoop在正常运行,所以建议先将其他基础环境安装好,hive安装的环境基础包括:
Hadoop-2.7.3
JDK-1.8.0_92
Spark-2.1.1-bin-hadoop2.7

编译时遇到的问题总结

2、下载hive

下载地址:http://hive.apache.org/downloads.html
点击图中的Download a release now!

图片 1

无标题.png

按照步骤找到作一镜像,使用wget命令下载
wget
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz

2.1 缺少jar包pentaho-aggdesigner-algorithm:jar

给编译失败的这个项目的pom.xml添加下面的仓库或者添加maven的mirror

<repository>

    <releases>

                <enabled>true</enabled>

                <updatePolicy>always</updatePolicy>

                <checksumPolicy>warn</checksumPolicy>

    </releases>

    <id>conjars</id>

    <name>Conjars</name>

    <url>http://conjars.org/repo&lt;/url&gt;

    <layout>default</layout>

</repository> 

<mirror>

    <id>conjars</id>

    <name>Conjars</name>

    <url>http://conjars.org/repo&lt;/url&gt;

    <mirrorOf>*</mirrorOf>

</mirror>

如果依然无法下载那就手动下载pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar然后添加到本地maven仓库

mvn install:install-file
-Dfile=/Users/zl/Downloads/pentaho-aggdesigner-algorithm-5.1.5-jhyde.jar
-DgroupId=org.pentaho
-DartifactId=pentaho-aggdesigner-algorithm -Dversion=5.1.5-jhyde
-Dpackaging=jar

3、安装HIVE

#假设hive安装文件放在/data/soft目录下
#本集群将hive安装到/data/spark目录下
#进入安装目录
cd /data/spark
#解压hive
tar -zxvf /data/soft/apache-hive-2.1.1-bin.tar.gz
#切换至root账户配置hive环境变量
vim /etc/profile


export HIVE_HOME=/data/soft/apache-hive-2.1.1
export HIVE_CONF_DIR=$HIVE_HOME/conf
export PATH=$PATH:$HIVE_HOME/bin


#root账户下使配置文件的修改生效
source /etc/profile

2.2 缺少jar包javax.jms:jms:jar:1.1

这个包在中央仓库确实是没有的,但是在jboss仓库里面有,可以采用同样的处理方式

https://repository.jboss.org/nexus/content/repositories/thirdparty-releases/

手动下载地址

4、配置hive文件

3. 搭建环境

编译完的安装包在目录packaging/target下

4.1、修改HIVE配置文件

#进入hive配置文件存放目录
cd /data/soft/apache-hive-2.1.1-bin/conf
#把初始化的文件 复制一份出来 并且改名


cp hive-env.sh.template hive-env.sh
cp hive-default.xml.template hive-site.xml
cp hive-log4j2.properties.template hive-log4j2.properties
cp hive-exec-log4j2.properties.template hive-exec-log4j2.properties


配置文件全部在conf目录下

4.2、修改hive-env.sh

#打开hive-env.sh文件
vim hive-env.sh


#hadoop_home路径
HADOOP_HOME=/data/spark/hadoop-2.7.3
#hive配置文件存放路径
export HIVE_CONF_DIR=/data/spark/apache-hive-2.1.1-bin/conf
#hive相关jar存放路径
export HIVE_AUX_JARS_PATH=/data/spark/apache-hive-2.1.1-bin/lib


(1) 修改配置文件hive-site.xml

mv hive-default.xml.template hive-site.xml

将${system:java.io.tmpdir}全部换成/work/data/hive_data/tmp

将${system:user.name}全部替换成自己的用户名

hive.metastore.warehouse.di=/work/data/hive_data/warehouse

datanucleus.schema.autoCreateAll=true

hive.metastore.schema.verification=false

下面两个是非必须的,只是为了一次性修改好,以后用的话直接用

hive.repl.rootdir的值修改为/work/data/hive_data/repl_rootdir

hive.repl.cmrootdir的值修改为/work/data/hive_data/repl_cmrootdir

4.3、在hdfs中创建文件并授权

#hive中存储的数据和产生的临时文件需要存储在hdfs中,因此需要再hdfs中创建相应文件
#存放hive中具体数据目录
hadoop fs -mkdir /data/hive/warehouse
#存放hive运行产生的临时文件
hadoop fs -mkdir /data/hive/tmp
#存放hive日志文件
hadoop fs -mkdir /data/hive/log
#修改文件权限
hadoop fs -chmod -R 777 /data/hive/warehouse
hadoop fs -chmod -R 777 /data/hive/tmp
hadoop fs -chmod -R 777 /data/hive/log

(2)hive-log4j2.properties

mv hive-log4j2.properties.template hive-log4j2.properties

hive默认使用Derby数据库,基于Derby数据库的配置已经完成,本文使用mysql数据库,配置继续hive-site.xml文件

javax.jdo.option.ConnectionURL=jdbc:mysql://localhost:3306/hive?useUnicode=true&characterEncoding=utf8&autoReconnect=true&rewriteBatchedStatements=true&useSSL=false

javax.jdo.option.ConnectionDriverName=com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName=hive

javax.jdo.option.ConnectionPassword=123qwe

下载mysql-connector-java

下载地址:https://cdn.mysql.com//Downloads/Connector-J/mysql-connector-java-5.1.45.zip

解压得到mysql-connector-java-5.1.45.jar,拷贝到hive的lib目录下

4.4、修改hive-site.xml文件

#设置hive数据存储目录、临时目录、日志存放目录


<property>
  <name>hive.exec.scratchdir</name>
  <value>hdfs://master:9000/data/hive/temp</value>
</property>
<property>
   <name>hive.metastore.warehouse.dir</name>
  <value>hdfs://master:9000/data/hive/warehouse</value>
</property>
<property>
  <name>hive.querylog.location</name>
  <value>hdfs://master:9000/data/hive/log</value>
</property>

<!—该配置是关闭hive元数据版本认证,否则会在启动spark程序时报错–>
<property>
  <name>hive.metastore.schema.verification</name>
  <value>false</value>
</property>


注:1、在配置hdfs文件路径时必须填写完整的hdfs绝对路径,如hdfs://master:9000/data/hive/temp
master:9000为集群namenode所在节点的IP和端口号
2、以上配置需要再hive-site.xml文件中找到需要配置的参数,
并修改其默认值。如果只是复制以上配置到hive-site.xml
文件会在运行时被默认值覆盖而无法运行

启动Hive 的 Metastore Server服务进程

hive –service metastore &

4.5、 修改hive-site.xml文件中mysql连接库配置

#由于本集群采用mysql存储hive元数据信息,因此需要配置mysql连接信息


<!—配置mysql IP 端口以及放元数据的库名称–>
<property>
  <name>javax.jdo.option.ConnectionURL</name>
  <value>jdbc:mysql://000.000.000.000:3036/hive?createDatabaseIfNotExist=true</value>
</property>
<!—配置mysql启动器名称 –>
<property>
  <name>javax.jdo.option.ConnectionDriverName</name>
   <value>com.mysql.jdbc.Driver</value>
</property>
<!—配置连接mysql用户名 –>
<property>
  <name>javax.jdo.option.ConnectionUserName</name>
  <value>******</value>
</property>
<!—配置连接mysql用户名登录密码–>
<property>
  <name>javax.jdo.option.ConnectionPassword</name>
  <value>********</value>
</property>


注:1、同样以上配置信息需要找到hive-site.xml文件中相应的配置属性,并修改为相应的值
2、连接mysql的用户名必须拥有很高的操作mysql的权限否则初始化时会提示权限不足

问题1:metastore.sh: line 29: export: ` -Dproc_metastore  not a valid identifier

查看这个脚本发现=号后面多了一个空格,去掉即可

4.6、修改hive-site.xml临时文件目录

1、在本地创建一文件
  mkdir $HIVE_HOME/temp
2、在配置文件 hive-site.xml 里面
  把{system:java.io.tmpdir}改成$HIVE_HOME/tmp/
  把{system:user.name}改成{user.name}

启动hiveserver服务

hive –service hiveserver2 &

进入hive客户端 

hive

测试语句

create table test (key string);

show tables ;

至此,安装已经完成。

4.7、配置JDBC驱动包

1、下载jdbc驱动包
 地址https://dev.mysql.com/downloads/connector/j/5.1.html
2、 解压后将jdbc-connector-java.jar文件拷贝到 $HIVE_HOME/lib文件夹下

5、HIVE运行

1、 初始化hive元数据
  $HIVE_HOME/bin/schematool -dbType mysql –initSchema
2、 后台运行hiveserver2服务
  $HIVE_HOME/bin/hive –service hiveserver2&
3、 启动beeline
  beeline
4、 连接hive
  !connect
jdbc:hive2://master:10000/default

admin

相关文章

发表评论

电子邮件地址不会被公开。 必填项已用*标注