zftang
作者zftang·2020-04-16 14:05
其它·小白一枚

Hive部署文档

字数 5075阅读 811评论 0赞 0

一、环境准备

1 、服务器选择

本地虚拟机
操作系统 :CentOS 6.5
Cpu : 1 核
内存: 2G
硬盘 :20G

2 、配置选择

JDK:1.8 ( jdk-8u161-linux-x64.rpm )
Hadoop:2.8.2 (hadoop-2.8.4.tar.gz)
Hive : 2.3 (apache-hive-2.3.4-bin.tar.gz)

3 、下载地址

JDK :
http://www.oracle.com/technetwork/java/javase/downloads
Hadopp:
http://www.apache.org/dyn/closer.cgi/hadoop/common
Hive
http://mirror.bit.edu.cn/apache/hive/

二、服务器的相关配置

在配置 Hadoop+Hive 之前,应该先做一下配置。
做这些配置为了方便,使用 root 权限。

1 、更改主机名

[root@master conf]# vi /etc/sysconfig/network

:主机名称更改之后,要重启(reboot)才会生效。**

2 、做 IP 和主机名的映射

[root@master bin]# vi /etc/hosts

3 、关闭防火墙

[root@master bin]# service iptables stop

永久关闭命令:

[root@master bin]# chkconfig iptables off

三、 Hadoop 安装和配置

备注:本次搭建单机 Hadoop ,安装配置简述如下:

1 、环境变量设置

编辑 /etc/profile 文件 :

[root@master bin]# vi /etc/profile

配置文件 :

export HADOOP_HOME=/home/hadoop/hadoop2.8

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"

export PATH=.:$JAVA_HOME/bin:${HADOOP_HOME}/bin:$PATH

2 、配置文件更改

先切换到 /home/hadoop/hadoop2.8/etc/hadoop/ 目录下

2.1 、修改 core-site.xml

[ root@master hadoop]# vi core-site.xml

添加 :

hadoop.tmp.dir

/root/hadoop/tmp

Abase for other temporary directories.

fs.default.name

hdfs://192.168.1.5:9000

2.2 、修改 hadoop-env.sh

输入 :

[root@master hadoop]# vi hadoop-env.sh

将 ${JAVA_HOME} 修改为自己的 JDK 路径

export JAVA_HOME=${JAVA_HOME}

修改为:

export JAVA_HOME=/usr/java/default

2.3 、修改 hdfs-site.xml

输入 :

[root@master hadoop]# vi hdfs-site.xml

添加:

dfs.name.dir

/root/hadoop/dfs/name

Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.

dfs.data.dir

/root/hadoop/dfs/data

Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.

dfs.replication

2

dfs.permissions

true

need not permissions

2.4 、修改 mapred-site.xml

如果没有 mapred-site.xml 该文件,就复制 mapred-site.xml.template 文件并重命名为 mapred-site.xml 。

输入 :

[root@master hadoop]# vi mapred-site.xml

修改这个新建的 mapred-site.xml 文件,在节点内加入配置 :

mapred.job.tracker

192.168.1.5:9001

mapred.local.dir

/root/hadoop/var

mapreduce.framework.name

yarn

3 、 Hadoop 启动

启动之前需要先格式化
切换到 /home/hadoop/hadoop2.8/bin 目录下
输入 :

[root@master bin]# ./hadoop namenode -format

格式化成功后,再切换到 /home/hadoop/hadoop2.8/sbin 目录下
启动 hdfs 和 yarn
输入 :

[root@master sbin]# start-dfs.sh

[root@master sbin]# start-yarn.sh

启动成功后,输入 jsp 查看是否启动成功
在浏览器输入 ip+8088 和 ip +50070 界面查看是否能访问
能正确访问则启动成功

四、 Mysql 安装 ( 这里不做介绍 )


五、 Hive 环境安装和配置


1 、文件准备

将下载下来的 Hive 的配置文件进行解压
在 linux 上输入 :

[root@master opt]# tar -xvf apache-hive-2.3.4-bin.tar.gz

然后移动到 /opt/hive 里面,将文件夹重命名为 hive2.3

输入

[root@master opt]#mv apache-hive-2.3.4-bin /opt/hive

[root@master opt]#mv apache-hive-2.3.4-bin hive2.3

2 、环境配置

编辑 /etc/profile 文件
输入 :

[root@master sbin]# vi /etc/profile

添加 :

export HIVE_HOME=/opt/hive/hive2.3

export HIVE_CONF_DIR=${HIVE_HOME}/conf

export PATH=.:$JAVA_HOME/bin:${HADOOP_HOME}/bin:${HIVE_HOME}/bin$PATH

输入如下命令使配置生效:

[root@master sbin]# source /etc/profile

3 、配置更改

3.1 、新建文件夹

在修改配置文件之前,需要先在 root 目录下建立一些文件夹。

[root@master sbin]# mkdir /root/hive/

[root@master sbin]# mkdir /root/hive/warehouse/

新建完该文件之后,需要让 hadoop 新建 /root/hive/warehouse 和 /root/hive/ 目录。
执行命令:

$HADOOP_HOME/bin/hadoop fs -mkdir -p /root/hive/

$HADOOP_HOME/bin/hadoop fs -mkdir -p /root/hive/warehouse

给刚才新建的目录赋予读写权限,执行命令:

$HADOOP_HOME /bin/hadoop fs -chmod 777 /root/hive/
$HADOOP_HOME/bin/hadoop fs -chmod 777 /root/hive/warehouse

检查这两个目录是否成功创建
输入 :

$HADOOP_HOME /bin/hadoop fs -ls /root/

$HADOOP_HOME /bin/hadoop fs -ls /root/hive/

3.2 、修改 hive-site.xml


切换到 /opt/hive/hive2.3/conf 目录下
将 hive-default.xml.template 拷贝一份,并重命名为 hive-site.xml
然后编辑 hive-site.xml 文件

[root@master conf]#cp hive-default .xml.template hive-site.xml

[root@master conf]# vi hive-site .xml

编辑 hive-site.xml 文件,添加 :

hive.metastore.warehouse.dir

/root/hive/warehouse

hive.exec.scratchdir

/root/hive

hive.metastore.uris

javax.jdo.option.ConnectionURL

jdbc:mysql://192.168.1.5:3306/hive?createDatabaseIfNotExist=true

javax.jdo.option.ConnectionDriverName

com.mysql.jdbc.Driver

javax.jdo.option.ConnectionUserName

root

javax.jdo.option.ConnectionPassword

root

hive.metastore.schema.verification

false

:由于hive-site.xml文件中的配置过多,可以通过FTP将它下载下来进行编辑。也可以直接配置自己所需的,其他的可以删除。MySQL的连接地址中的master是主机的别名,可以换成ip**


3.3 、修改 hive-env.sh

修改 hive-env.sh 文件,没有就复制 hive-env.sh.template ,并重命名为 hive-env.sh

在这个配置文件中添加

export HADOOP_HOME=/home/hadoop/hadoop2.8

export HIVE_CONF_DIR=/opt/hive/hive2.3/conf

export HIVE_AUX_JARS_PATH=/opt/hive/hive2.3/lib


3.4 、添加数据驱动包

由于 Hive 默认自带的数据库是使用 mysql ,所以这块就是用 mysql
将 mysql 的驱动包 上传到 /opt/hive/hive2.3/lib

**

六、 Hive Shell 测试

在成功启动 Hadoop 之后
切换到 Hive 目录下
输入 :

[root@master lib]# cd /opt/hive/hive2.3/bin

首先初始化数据库
初始化的时候注意要将 mysql 启动

[root@master lib]# schematool -initSchema -dbType mysql

**

执行成功之后,可以看到 hive 数据库和一堆表已经创建成功了

切换到 cd /opt/hive/hive2.3/bin
进入 hive ( 确保 hadoop 以及成功启动 )
输入 :

[root@master lib]# cd /opt/hive/hive2.3/bin

[root@master bin]# hive

进入 hive 之后
做一些简单的操作
新建一个库,然后在建一张表
基本操作和普通的关系型数据库差不多
创建库 :

hive> create database wszhao;

hive> create table wszhao.test(id int,name string) row format delimited fields terminated by '\t';

说明: terminated by '\t'表示文本分隔符要使用Tab,行与行直接不能有空格**

查看刚才建立的库:**

**

如果觉得我的文章对您有用,请点赞。您的支持将鼓励我继续创作!

0

添加新评论0 条评论

Ctrl+Enter 发表

作者其他文章

相关问题

相关资料

X社区推广