• 为了保证你在浏览本网站时有着更好的体验,建议使用类似Chrome、Firefox之类的浏览器~~
    • 如果你喜欢本站的内容何不Ctrl+D收藏一下呢,与大家一起分享各种编程知识~
    • 本网站研究机器学习、计算机视觉、模式识别~当然不局限于此,生命在于折腾,何不年轻时多折腾一下

AWS之hive单机版环境安装

Sql admin 2年前 (2017-07-30) 1132次浏览 0个评论 扫描二维码

今晚终于在 aws 上把 hive 单机版的环境终于安装好了,现在记录一下安装环境的所有步骤,以后学习 hive 可以直接在 aws 上面测试
hive 专题可以看到更多的学习资料哦


hive 需要依赖于 hadoop 环境,因此我们先安装 hadoop

hadoop 安装

java 环境安装

yum search java|grep jdk

首先查找先当前的所有 jdk 版本,默认搜索出来的都是 openjdk,本次博主安装的是 1.7 版本

java-1.6.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.6.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.7.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.7.0-openjdk-headless.x86_64 : The OpenJDK runtime environment without
java-1.8.0-openjdk.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk.i686 : OpenJDK Runtime Environment
java-1.8.0-openjdk-debug.x86_64 : OpenJDK Runtime Environment with full debug on
java-1.8.0-openjdk-devel.x86_64 : OpenJDK Development Environment
java-1.8.0-openjdk-devel.i686 : OpenJDK Development Environment
java-1.8.0-openjdk-headless.x86_64 : OpenJDK Runtime Environment
java-1.8.0-openjdk-headless.i686 : OpenJDK Runtime Environment
java-1.8.0-openjdk-headless-debug.x86_64 : OpenJDK Runtime Environment with full

所以接下的操作就是

yum install  java-1.7.0-openjdk.x86_64

安装完成以后需要配置一下 java 的环境变量

redhat 默认安装在

/usr/lib/jvm

在当前的文件夹中可以发现以下文件夹

java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64

接下来在自己的环境配置文件~/.bashrc 中加入以下

export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141-2.6.10.1.el7_3.x86_64/jre

至此可以在 bash 命令行检测当前 java 是否安装成功


hadoop 安装

由于楼主的 aws ec2 机器位于 jp,所以下载 hadoop 的节点选择了 jp 的节点

wget ftp://ftp.kddilabs.jp/infosystems/apache/hadoop/common/hadoop-2.7.3/hadoop-2.7.3.tar.gz

tar zxvf hadoop-2.7.3.tar.gz

cd hadoop-2.7.3/

bin/hadoop

如果出现 useage 内容则安装成功了

伪分布式环境的配置

接着就可以在本机配置并启动伪分布式环境,用来运行 hadoop 的示例程序了。

配置 hdfs
hadoop 使用 hdfs 作为其分布式文件系统,首先要对 hdfs 做相关配置。hadoop 使用 xml 作为其配置文件的格式。
首先在 etc/hadoop/core-site.xml 这个文件里作如下配置:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
</configuration>
接着在 etc/hadoop/hdfs-site.xml 文件里作如下配置:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>

这两个配置说明了 hdfs 的根信息以及冗余备份的数量。
配置 SSH 免 key 登陆
hadoop 是一个分布式系统,节点间通过 ssh 通信,为了避免在连接过程中人工输入密码,需要进行 ssh 免 key 登陆的配置,由于本例是在单机上模拟分布式过程,因此需要针对本机(localhost)进行免 key 登陆的配置。
依此输入如下命令进行配置:

ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 0600 ~/.ssh/authorized_keys
完成后尝试用 SSH 连接本机,如果不需要输入密码就能登陆,说明配置成功:
ssh localhost
运行示例程序

至此,所有配置都已完成,可以运行示例程序来进行验证了。

格式化文件系统
示例程序将在 hdfs 文件系统中运行,因此首先需要对该文件系统进行格式化:
bin/hdfs namenode -format
接着启动该文件系统:
sbin/start-dfs.sh
此外,可以在 hadoop 提供的 web 界面 http://localhost:50070/查看该文件系统的相关信息,如下图所示(如果看不到,请尝试使用 systemctl stop firewalld 命令暂时关闭防火墙)

hive 安装

与 hadoop 一样选取的节点是 jp 节点,你们可以选择自己最近的节点下载就好了,这样保证速度

wget ftp://ftp.kddilabs.jp/infosystems/apache/hive/hive-2.1.1/apache-hive-2.1.1-bin.tar.gz
tar -xzvf apache-hive-2.1.1-bin.tar.gz

同样在我们的配置文件中加入相应的 hive 环境变量设置

HIVE_HOME=/soft/apache-hive-2.1.1-bin
PATH=$PATH:$HIVE_HOME/bin

启动单机模式

Hive 和 Hadoop 一样,有 3 种启动模式,分别是单机模式,伪分布模式,分布模式。这里先来说一下单机模式的启动方式。
集群模式安装在 http://blog.csdn.net/lnho2015/article/details/51355511

修改配置文件

cd /soft/apache-hive-2.1.1-bin/conf
vi hive-site.xml //也可以用 hive-default.xml.template 去改,不过这个文件中的配置项太多了

输入以下内容后保存:

<?xml version="1.0" encoding="UTF-8" standalone="no"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
<property>
<name>hive.metastore.warehouse.dir</name>
<value>/soft/apache-hive-2.1.1-bin/warehouse</value>
<description>location of default database for the warehouse</description>
</property>
<property>
<name>javax.jdo.option.ConnectionURL</name>
<value>jdbc:derby:/soft/apache-hive-2.1.1-bin/metastore_db;create=true</value>
<description>JDBC connect string for a JDBC metastore</description>
</property>
</configuration>

初始化数据库

/soft/apache-hive-2.1.1-bin

bin/schematool -initSchema -dbType derby

此时会出现提示说没有设置好 hadoop_home 环境变量

只需要在配置文件中加入以下即可,注意 source 生效

export HADOOP_HOME=/soft/hadoop-2.7.3

出现以下几行说明初始化成功:

Starting metastore schema initialization to 2.0.0
Initialization script hive-schema-2.0.0.derby.sql
Initialization script completed
schemaTool completed

启动程序

mkdir -p /soft/apache-hive-2.1.1-bin/warehouse // 创建元数据存储文件夹
chmod a+rwx /soft/apache-hive-2.1.1-bin/warehouse // 修改文件权限
hive

这样就顺利的安装上了 hive,下面就来测试

which: no hbase in (/usr/local/sbin:/usr/local/bin:/usr/sbin:/usr/bin:/soft/apache-hive-2.1.1-bin/bin:/root/bin:/soft/apache-hive-2.1.1-bin/bin:/soft/apache-hive-2.1.1-bin/bin)
SLF4J: Class path contains multiple SLF4J bindings.
SLF4J: Found binding in [jar:file:/soft/apache-hive-2.1.1-bin/lib/log4j-slf4j-impl-2.4.1.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: Found binding in [jar:file:/soft/hadoop-2.7.3/share/hadoop/common/lib/slf4j-log4j12-1.7.10.jar!/org/slf4j/impl/StaticLoggerBinder.class]
SLF4J: See http://www.slf4j.org/codes.html#multiple_bindings for an explanation.
SLF4J: Actual binding is of type [org.apache.logging.slf4j.Log4jLoggerFactory]

Logging initialized using configuration in jar:file:/soft/apache-hive-2.1.1-bin/lib/hive-common-2.1.1.jar!/hive-log4j2.properties Async: true
Hive-on-MR is deprecated in Hive 2 and may not be available in the future versions. Consider using a different execution engine (i.e. tez, spark) or using Hive 1.X releases.
hive> show databases;
OK
default
test
Time taken: 1.316 seconds, Fetched: 2 row(s)
hive> 

参考资料
http://www.jianshu.com/p/2fab0eb11cde
http://blog.csdn.net/lnho2015/article/details/51307438


Deeplearn, 版权所有丨如未注明 , 均为原创丨本网站采用BY-NC-SA协议进行授权 , 转载请注明AWS 之 hive 单机版环境安装
喜欢 (0)
admin
关于作者:

您必须 登录 才能发表评论!