章节内容
上一节我们完成了:
Metastore的基础概念
配置模式:内嵌模式、本地模式、远程模式
实机配置远程模式 并测试
背景介绍
这里是三台公网云服务器,每台 2C4G,搭建一个Hadoop的学习环境,供我学习。
之前已经在 VM 虚拟机上搭建过一次,但是没留下笔记,这次趁着前几天薅羊毛的3台机器,赶紧尝试在公网上搭建体验一下。
注意,如果你和我一样,打算用公网部署,那一定要做好防火墙策略,避免不必要的麻烦!!!
请大家都以学习为目的,也请不要对我的服务进行嗅探或者攻击!!!
但是有一台公网服务器我还运行着别的服务,比如前几天发的:autodl-keeper 自己写的小工具,防止AutoDL机器过期的。还跑着别的Web服务,所以只能挤出一台 2C2G 的机器。那我的配置如下了:
2C4G 编号 h121
2C4G 编号 h122
2C2G 编号 h123
HiveServer2
HiveServer是一个服务端接口,使远程客户端可以执行对Hive的查询并返回结果。
HiveServer2(HS2)是一种允许客户端对Hive执行查询的服务。
为Hive提供了一种允许客户端远程访问的服务
基于thrift协议,支持跨平台,跨语言编程对Hive访问
允许远程访问 Hive
实机配置
配置规划
修改core-site
需要修改 h121 h122 h123的 Hadoop 相关配置:
cd /opt/servers/hadoop-2.9.2/etc/hadoop vim core-site.xml • 1 • 2
增加如下的内容:
<!-- HiveServer2 连不上10000;hadoop为安装用户 --> <!-- root用户可以代理所有主机上的所有用户 --> <property> <name>hadoop.proxyuser.root.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.root.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.hadoop.groups</name> <value>*</value> </property>
修改 hdfs-site
cd /opt/servers/hadoop-2.9.2/etc/hadoop vim hdfs-site.xml • 1 • 2
增加如下内容:
<!-- HiveServer2 连不上10000;启用 webhdfs 服务 --> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property>
配置如下:
启动服务
# 启动 hiveserver2 服务 nohup hiveserver2 & # 检查 hiveserver2 端口 lsof -i:10000
此时访问 Web 页面:
h121.wzk.icu:10002 • 1
Beeline
在 h122 节点上启动 beeline
beeline • 1
连接测试
使用指令进行连接
!connect jdbc:hive2://h121.wzk.icu:10000 • 1
连接过程中,需要输入账号密码(你的 ROOT账号和密码)
测试命令
show databases; !help !quit
HCatalog
HCatalog 使用了Hive的元数据存储,这样就使MapReduce这种第三方可以通过Hive进行数据的读取,同时HCatalog还支持用户子啊MapReduce程序中只读取需要的分区表和字段,而不需要读取整个表,只提供一种逻辑上的视图来读取数据。
测试运行:
cd $HIVE_HOME/hcatalog/bin • 1
创建表测试:
./hcat -e "create table default.test1(id string, name string, age int)"