Hadoop那些事儿---Hive安装与配置

Posted 光光-Leo

tags:

篇首语:本文由小常识网(cha138.com)小编为大家整理,主要介绍了Hadoop那些事儿---Hive安装与配置相关的知识,希望对你有一定的参考价值。

我在安装Hive的过程中遇到了好多问题,捣鼓了好久,所以下面的有些操作可能不是必要的操作。

1.配置YARN

YARN 是从 MapReduce 中分离出来的,负责资源管理与任务调度。YARN 运行于 MapReduce 之上,提供了高可用性、高扩展性。
伪分布式环境不启动YARN也可以,一般不影响程序运行,所以在前边的Hadoop安装与配置中没有配置YARN。

我在安装Hive的过程中,由于一个异常牵扯到了yarn下的jar,所以我觉得还是有必要先把yarn配置一下(这步可能不是必要的)

找到目录usr/local/hadoop/hadoop2(前边的路径是我的路径,可能和你们的不同)/etc/hadoop

使用下面的命令:

mv ./etc/hadoop/mapred-site.xml.template ./etc/hadoop/mapred-site.xml

对mapred-site.xml.template文件进行重命名
使用下面命令:

gedit ./etc/hadoop/mapred-site.xml 

开始编辑,由于我已经为用户分配了整个安装目录的操作权限,所以直接右键打开也可以编辑,写入如下配置:

<configuration>
        <property>
             <name>mapreduce.framework.name</name>
             <value>yarn</value>
        </property>
</configuration>

同样找到yarn-site.xml文件,加入如下配置:

<configuration>
        <property>
             <name>yarn.nodemanager.aux-services</name>
             <value>mapreduce_shuffle</value>
            </property>
</configuration>

在hadoop已经启动的前提下,使用下面命令即可启动yarn:

./sbin/start-yarn.sh      # 启动YARN
./sbin/mr-jobhistory-daemon.sh start historyserver  # 开启历史服务器,才能在Web中查看任务运行情况

2.安装Hive

首先创建hive文件夹并分配权限:

cd /usr/local
sudo mkdir hive
sudo chown hadoop ./hive
sudo chmod -R 777 ./hive

然后下载hive,我的hadoop使用的是2.6.0版本,hive安装的是1.2.1版本,下载地址如下:
hive1.2.1

下载完成后,先将目录切换到下载目录,
然后使用下面命令进行解压:

tar zxvf apache-hive-1.2.1-bin.tar.gz

然后将解压好的文件夹中的文件全部拷贝到/usr/local/hive目录下

接下来配置环境变量,使用如下命令进入配置文件:

vim ~/.bashrc

输入E开启可编辑模式,移动光标到文件上部,加入如下配置:

export HIVE_HOME=/usr/local/hive
export PATH=$PATH:$HIVE_HOME/bin
export CLASSPATH=$CLASSPATH:/usr/local/Hadoop/lib/*:.
export CLASSPATH=$CLASSPATH:/usr/local/hive/lib/*:.

ESC+shift+z+z 组合键退出编辑,使用下面命令使配置生效:

source ~/.bashrc

然后将Hive配置到hadoop环境中:

cd $HIVE_HOME/conf
cp hive-env.sh.template hive-env.sh

生成hive-env.sh文件后,加入以下行:

export HADOOP_HOME=/usr/local/hadoop

到这里hive就算安装成功了,接下来我们需要安装外部数据库配置metastore,这里我们使用默认支持的Derby数据库

3.Derby安装与配置

首先使用下面命令下载derby:

 cd ~
 wget http://archive.apache.org/dist/db/derby/db-derby-10.4.2.0/db-derby-10.4.2.0-bin.tar.gz

下载完成后,命令行切换到下载目录,使用下面命令进行解压:

tar zxvf db-derby-10.4.2.0-bin.tar.gz

使用下面命令创建derby文件夹并授权:

cd /usr/local
sudo mkdir derby
sudo chown hadoop ./derby
sudo chmod -R 777 ./derby

将解压好的文件夹中的文件拷贝到derby文件夹下。

使用上面用到的方式,进行环境变量的配置,配置信息如下:

export DERBY_HOME=/usr/local/derby
export PATH=$PATH:$DERBY_HOME/bin
export CLASSPATH=$CLASSPATH:$DERBY_HOME/lib/derby.jar:$DERBY_HOME/lib/derbytools.jar

同样适用下面命令生效:

source ~/.bashrc

接下来创建用于存放metastore数据的目录

mkdir $DERBY_HOME/data

接下来配置hive的metastore:

cd $HIVE_HOME/conf
cp hive-default.xml.template hive-site.xml

首先通过复制获取到hive-site.xml,
然后加入如下配置:

<property>
       <name>javax.jdo.option.ConnectionURL</name>
       <value>jdbc:derby:;databaseName=metastore_db;create=true</value>
       <description>JDBC connect string for a JDBC metastore </description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionDriverName</name>
      <value>org.apache.derby.jdbc.EmbeddedDriver</value>
      <description>Driver class name for a JDBC metastore</description>
    </property>
    <property>
      <name>javax.jdo.option.ConnectionUserName</name>
      <value>APP</value>
      <description>username to use against metastore database</description>
    </property>

    <property>
      <name>javax.jdo.option.ConnectionPassword</name>
      <value>mine</value>
      <description>password to use against metastore database</description>
    </property> 

配置完成后使用如下命令进行验证:

cd $HIVE_HOME
bin/hive

如果成功了,那恭喜你,如果报错了也别害怕,本宝宝在这一步出异常捣鼓了好久

a.如果是与system:java.io.tmpdir有关的那个错,
查看hive-site.xml配置,会看到配置值含有”system:java.io.tmpdir”的配置项
2.新建文件夹/usr/local/hive/iotmp
3.将含有”system:java.io.tmpdir”的配置项的值修改为如上地址

b.如果是Found class jline.Terminal, but interface was expecte
将/usr/local/hive/lib/jline-2.12.jar拷贝到/usr/local/hadoop/hadoop2/share/hadoop/yarn/lib下,并删除旧版本的对应jar包。

修改完后重新验证即可,出现下面情况则表示安装成功

[email protected]-VirtualBox:/usr/local/hadoop/hadoop2$ cd $HIVE_HOME
[email protected]-VirtualBox:/usr/local/hive$ bin/hive

Logging initialized using configuration in jar:file:/usr/local/hive/lib/hive-common-1.2.1.jar!/hive-log4j.properties
hive> show tables
    > ;
OK
Time taken: 1.006 seconds
hive> 









以上是关于Hadoop那些事儿---Hive安装与配置的主要内容,如果未能解决你的问题,请参考以下文章

关于Hive数据仓库的那些事儿Hive架构

HDFS监控背后那些事儿,构建Hadoop监控共同体

YARN 资源调度那些事儿

Hadoop 之 Hive 安装与配置

Ubuntu16.04下Hive的安装与配置

关于Hive数据仓库的那些事儿模式设计