共计 4975 个字符,预计需要花费 13 分钟才能阅读完成。
今晚终于在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