当前位置:   article > 正文

Hive的部署_hive部署

hive部署

部署方法一:内嵌模式

使用hadoop用户操作。

1、将hive包通过Xftp上传到服务器/home/hadoop/app目录下。
2、解压hive压缩包:

tar -zxvf apache-hive-1.2.1-bin.tar.gz
设置软连接ln -s apache-hive-1.2.1-bin hive

3、设置hive配置文件hive-env.sh,添加上HADOOP_HOME

cd /home/hadoop/app/apache-hive-1.2.1-bin/conf
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
添加如下信息(路径根据实际修改):

export HADOOP_HOME=/home/hadoop/app/hadoop
  • 1

1

4、创建HDFS存储Hive元数据的文件目录

在HDFS中新建/tmp和/usr/hive/warehouse 两个文件目录(默认),并对同组用户增加写权限,作为Hive的存储目录(创建过程中可能已经存在tmp,则不执行第一句)。
hdfs dfs -mkdir /tmp
hdfs dfs -mkdir -p /usr/hive/warehouse

5、替换冲突的包

cd /home/hadoop/app/hadoop/share/hadoop/yarn/lib/
查看是否有jline相关jar包,如果有:
mv jline-0.9.94.jar jline-0.9.94.jar.bak
如果没有:
cd /home/hadoop/app/hive/lib
cp jline-2.12.jar /home/hadoop/app/hadoop/share/hadoop/yarn/lib

6、修改环境变量

(1)如果是在root用户下配置的环境变量,切换到root用户下。
su root输入密码
vi /etc/profile,增加如下配置:
2
使配置文件生效:source /etc/profile
(2)如果是在hadoop用户下配置的环境变量,修改文件:vi ~/.bashrc
增加的配置跟上图相同。
使配置文件生效:source ~/.bashrc

7、切换到hadoop用户,进入hive执行界面:

su hadoop
hive
注意:启动hive如报如下错误:
3
原因是spark升级到spark2以后,原有lib目录下的大JAR包被分散成多个小JAR包,原来的spark-assembly-*.jar已经不存在,所以hive没有办法找到这个JAR包,解决办法是修改hive/bin下的hive文件:
cd /home/hadoop/app/hive/bin(路径根据实际修改)
vi hive
找到以下内容:
4

将标红处修改为:sparkAssemblyPath=ls ${SPARK_HOME}/jars/*.jar
保存后重启hive,问题解决。
5

8、测试是否可以成功查询

show tables;
6
show functions;
7

部署方法二:本地mysql模式

1、安装mysql,参照我的上一篇《Mysql在线安装》
2、配置hive-site.xml为本地Mysql模式,将hive-site.xml上传到/home/hadoop/app/hive/conf目录下。

6

3、用xftp上传mysql-connector-java-5.1.32.jar到/home/hadoop/app/hive/lib目录下。

mysql-connector-java-5.1.32.jar是mysql驱动包。(需要自己去下载)


hive命令行显示当前数据库

在 hive命令行显示当前数据库两种方式。

1、可以在hive命令行执行以下语句显示当前数据库:

hive> select current_database();

2、可以设置hive属性在命令行显示当前数据库:

set hive.cli.print.current.db=true;
注: 这是当前的session窗口有效;

3、永久修改,向hive-site.xml文件添加一下配置:
<property>
   <name>hive.cli.print.current.db</name>
   <value>true</value>
 </property>
  • 1
  • 2
  • 3
  • 4

到此,完成了hive的部署

hive-site.xml文件内容如下:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?><!--
   Licensed to the Apache Software Foundation (ASF) under one or more
   contributor license agreements.  See the NOTICE file distributed with
   this work for additional information regarding copyright ownership.
   The ASF licenses this file to You under the Apache License, Version 2.0
   (the "License"); you may not use this file except in compliance with
   the License.  You may obtain a copy of the License at

       http://www.apache.org/licenses/LICENSE-2.0

   Unless required by applicable law or agreed to in writing, software
   distributed under the License is distributed on an "AS IS" BASIS,
   WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
   See the License for the specific language governing permissions and
   limitations under the License.
--><configuration>
  <!-- WARNING!!! This file is auto generated for documentation purposes ONLY! -->
  <!-- WARNING!!! Any changes you make to this file will be ignored by Hive.   -->
  <!-- WARNING!!! You must make your changes in hive-site.xml instead.         -->
<property>
    <name>javax.jdo.option.ConnectionDriverName</name>
    <!-- mysql的驱动程序 -->
    <value>com.mysql.jdbc.Driver</value>
    <description>Driver class name for a JDBC metastore</description>
</property>
<property>
    <name>javax.jdo.option.ConnectionURL</name>
    <!-- mysql的连接地址 意思是hive在MySQL里面没有的话自动创建 -->
    <value>jdbc:mysql://slave2:3306/hive?characterEncoding=UTF-8&amp;createDatabaseIfNotExist=true</value>
    <description>JDBC connect string for a JDBC metastore</description>
</property>
<property>
    <name>javax.jdo.option.ConnectionUserName</name>
    <!-- 连接MySQL的用户名 -->
    <value>root</value>
    <description>Username to use against metastore database</description>
  </property>
<property>
    <name>javax.jdo.option.ConnectionPassword</name>
    <!-- 连接MySQL的密码 -->
    <value>123456</value>
    <description>password to use against metastore database</description>
</property>
<property>
    <name>hive.querylog.location</name>
    <value>/home/hadoop/app/hive/iotmp</value>
    <description>Location of Hive run time structured log file</description>
  </property>
<property>
    <name>hive.exec.local.scratchdir</name>
    <value>/home/hadoop/app/hive/iotmp</value>
    <description>Local scratch space for Hive jobs</description>
  </property>
<property>
    <name>hive.downloaded.resources.dir</name>
    <value>/home/hadoop/app/hive/iotmp</value>
    <description>Temporary local directory for added resources in the remote file system.</description>
</property>
</configuration>

  • 1
  • 2
  • 3
  • 4
  • 5
  • 6
  • 7
  • 8
  • 9
  • 10
  • 11
  • 12
  • 13
  • 14
  • 15
  • 16
  • 17
  • 18
  • 19
  • 20
  • 21
  • 22
  • 23
  • 24
  • 25
  • 26
  • 27
  • 28
  • 29
  • 30
  • 31
  • 32
  • 33
  • 34
  • 35
  • 36
  • 37
  • 38
  • 39
  • 40
  • 41
  • 42
  • 43
  • 44
  • 45
  • 46
  • 47
  • 48
  • 49
  • 50
  • 51
  • 52
  • 53
  • 54
  • 55
  • 56
  • 57
  • 58
  • 59
  • 60
  • 61
声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/从前慢现在也慢/article/detail/570129
推荐阅读
相关标签
  

闽ICP备14008679号