前往小程序,Get更优阅读体验!
立即前往
首页
学习
活动
专区
工具
TVP
发布
社区首页 >专栏 >配置Hadoop集群客户端

配置Hadoop集群客户端

原创
作者头像
张子阳
修改2018-08-24 08:27:33
3.5K0
修改2018-08-24 08:27:33
举报
文章被收录于专栏:分布式系统和大数据处理

在Hadoop和Spark集群搭建好了以后,如果我们需要向集群中发送、获取文件,或者是执行MapReduce、Spark作业,通常是搭建一个外围的、集群的客户端,在这个客户端上进行操作。而不是直接在集群的NameNode或者DataNode上进行。此时,集群和客户端的结构如下图所示(简化图,没有考虑NameNode的高可用),本文将介绍如何快速搭建一个集群客户端(有时也叫gateway)。

图1. Hadoop集群和客户端结构

说明:在网络配置方面,可以遵循集群仅开放内网访问,而客户端开放外网访问,所有对集群的访问和管理,均通过客户端来完成。

Step1. 配置hosts

在这篇文章中,客户端的主机名是dc1(DataClient1的缩写,192.168.0.150),Hadoop集群中的NameNode主机名是hadoop01(192.168.0.34)。首先配置hosts让两台机器相互“认识”一下。

修改hadoop01的hosts:

代码语言:javascript
复制
# vim /etc/hosts

192.168.0.150 dc1

修改dc1的hosts:

代码语言:javascript
复制
# vim /etc/hosts

192.168.0.34 hadoop01

提示:当数据中心的服务器很多时,配置hosts可能不够方便,此时可以部署一台DNS(Domain Name Service)服务器,用于解析主机名。

Step2. 配置ssh免密码登录

请参考:linux上配置ssh实现免密登录

Step3. 复制~/.bashrc文件

除此以外,还要配置一下$HADOOP_HOME、$JAVA_HOME等环境变量。

代码语言:javascript
复制
# scp -P 60034 ~/.bashrc dc1:~/.bashrc

Step4. 安装java和hadoop

只需要将hadoop01上的Hadoop和Java文件夹复制到dc1就可以了。

代码语言:javascript
复制
# scp -P 60034 -r $HADOOP_HOME dc1:$HADOOP_HOME
代码语言:javascript
复制
# scp -P 60034 -r $JAVA_HOME dc1:$JAVA_HOME

此时,可能会疑惑,这样不是就和安装和配置Hadoop集群(3节点) 一样了,好像又往集群中添加了一台机器一样。这里最大的不同是:

1、不需要运行hadoop进程(DataNode、NameNode、ResourceManager、NodeManager等),即不需要执行start-dfs.sh/start-yarn.sh。

2、也没有修改$HADOOP_CONF_DIR/slaves文件,因此并未加入集群。而只是作为集群的客户端使用。

因为我们上面是将整个$HADOOP_HOME拷贝到了dc1,其中包含了所有的配置文件,因此,也无需再次进行配置。

Step5. 验证安装

因为我在Hadoop集群上已经放有一些测试文件,通过命令行界面,对文件进行一下获取和发送,可以验证客户端与集群工作良好。

1.从集群下载文件到客户端

代码语言:javascript
复制
# hdfs dfs -get /user/root/tmp/file1.txt ~/tmp

2.在客户端重命名后上传到集群

代码语言:javascript
复制
# mv ~/tmp/file1.txt ~/tmp/file1_2.txt
# hdfs dfs -put ~/tmp/file1_2.txt /user/root/tmp

至此,一个简单的Hadoop集群客户端就搭建好了。除了在客户端上执行HDFS的文件操作以外,还可以运行Hive,Hive本身就是一个客户端的工具。同时,也可以运行Spark的Driver程序,它是Spark集群的客户端。而Spark集群中的Worker通常是和HDFS的DataNode部署在同一台服务器上,以提升数据访问效率。

感谢阅读,希望这篇文章能给你带来帮助!

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

原创声明:本文系作者授权腾讯云开发者社区发表,未经许可,不得转载。

如有侵权,请联系 cloudcommunity@tencent.com 删除。

评论
登录后参与评论
0 条评论
热度
最新
推荐阅读
相关产品与服务
云服务器
云服务器(Cloud Virtual Machine,CVM)提供安全可靠的弹性计算服务。 您可以实时扩展或缩减计算资源,适应变化的业务需求,并只需按实际使用的资源计费。使用 CVM 可以极大降低您的软硬件采购成本,简化 IT 运维工作。
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档