0x01 Hive的获取
1. 官网下载
a. 为了统一,此处下载Hive2.3.3版本 :
http://archive.apache.org/dist/hive/
选择2.3.3/apache-hive-2.3.3-bin.tar.gz进行下载
ps:(221M,略大)在此也给出清华的镜像库下载,版本可能会不同, 但问题一般不大:
https://mirrors.tuna.tsinghua.edu.cn/apache/hive/stable-2/
0x02 上传安装包到集群
1. 上传安装包到虚拟机
PS:如果不是docker部署的集群,则直接上传到虚拟机即可,因为,每台虚拟机就是一个节点。
2. 复制安装包到master节点
docker cp apache-hive-2.3.3-bin.tar.gz hadoop-master:/root
sh master.sh
ll
0x03 安装Hive
1. 解压Hive
a. 解压安装包(-C为指定解压到/usr/local路径)
tar -zxvf apache-hive-2.3.3-bin.tar.gz -C /usr/local
2. 配置Hive
a. 修改配置文件 hive-env.sh ($HIVE_HOME/conf):
cd /usr/local/apache-hive-2.3.3-bin/conf
cp hive-env.sh.template hive-env.sh
vi hive-env.sh
=> 在里面随便找个地方,添加HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop-2.7.5
b.创建HDFS存储Hive元数据的文件目录
在HDFS(需启动HDFS)中新建/tmp和/user/hive/warehouse两个文件目录(默认),并对同组用户增加写权限,作为Hive的存储目录(创建过程中可能已经存在tmp,则不执行第一句),如果提示/tmp已经存在,也不管。
hadoop fs -mkdir /tmp
hadoop fs -mkdir -p /user/hive/warehouse
因为我们这里是使用root用户,所以可以不设置权限,如自己创建了其他用户操作,则要执行下面两行指令:
hadoop fs -chmod g+w /tmp
hadoop fs -chmod g+w /user/hive/warehouse
c. 配置环境变量(可看到docker生成节点时默认配好的其他环境变量)
vi /etc/profile
export HIVE_HOME=/usr/local/apache-hive-2.3.3-bin export PATH=$PATH:$HIVE_HOME/bin
- 使配置生效(echo一下有内容输入,说明已经配好)
source /etc/profile
#忽略步骤:
d. 替换YARN与Hive冲突的包(本实验的版本为:hadoop2.7.5、hive为2.3.3jar包没有发生冲突,略过此步骤)
把Hive的jline.jar覆盖YARN路径下的:
cd /usr/local/hadoop-2.7.5/share/hadoop/yarn/lib
备份一下YARN的(重命名)
mv jline-0.9.94.jar jline-0.9.94.jar.bak
cd /usr/local/apache-hive-2.3.3-bin/lib
拷贝Hive路径下的到YARN/lib路径下
cp jline-2.12.jar /usr/local/hadoop-2.7.5/share/hadoop/yarn/lib
0x04 Hive校验
1. 启动Hadoop集群
a. 查看进程(如有hadoop与zk进程,则不需执行b.c.步):
~/jps_all.sh
2. 启动Hive
a. 初始化元数据信息(选择一个路径,表示元数据信息在此目录下,当前路径下会生成一个文件目录metastore_db)
cd /usr/local/apache-hive-2.3.3-bin
./bin/schematool -dbType derby -initSchema
ps:如果去其他地方执行,在会在其他目录下创建文件目录 metastore_db
自行测试此命令:$HIVE_HOME/bin/schematool -dbType derby -initSchema
d. 查看Hive中的函数:
show functions;
e. 退出:
exit;
0xFF 总结
- 这里使用的部署方式是默认的内嵌模式,其实Hive常用的部署方式有三种:内嵌模式、本地Mysql方式、远程模式,自行查资料,或者等以后我的教程更新哈。