作者 :“大数据小禅” 简介:随着版本的迭代,Hadoop也在不断的进行更新与增加新特性,根据生产与业务的需求,掌握最基础的环境搭建是比较重要的,之前的文章已经进行了Hadoop2的安装,Hadoop3的安装也是基于2的前置环境之上,免密与集群前置准备小伙本们可以看一下之前的文章。 Hadoop2详细搭建教程: Hadoop2安装教程对应的安装包可以通过最下方公众号联系我分享。
1.Hadoop3.1.x版本集群规划
Hadoop由Apache基金会开源,是一个分布式的储存与计算平台。目前Hadoop已经更新到了3.x以上的版本,相比于Hadoop2.x,Hadoop3增加了更多便于开发的新特性。
如何选择Hadoop的版本?
框架版本的选择一般需要考虑到其他大数据组件的版本之间的项目依赖,建议选择是最新版本的前半年所发布的版本。因为最新版本的Hadoop很可能会遇到一些坑,所以使用一些经过考验的版本较合适。这里采用的版本是Hadoop3.1.3。根据你的集群情况,在进行集群的搭建之间建议先规划好集群,方便后续的扩展与调试。
可以参考下面的集群规划表:
node1 | node2 | node3 | |
---|---|---|---|
HDFS | NameNode,DataNode | DataNode | DataNode,SecondaryNameNode |
YARN | NodeManager | Resourcemanager,NodeManager | NodeManager |
2.集群前置环境
搭建集群之前需要准备好三台机器,这里我们选用本地的虚拟机环境,当然选择相应的云主机也是一样的,这里主要看个人情况进行选择。前置环境主要是机器之间的免密,静态IP的固定与主机名字的修改。具体的配置可以参照之前发布的一篇搭建Hadoop2的文章。
3.配置核心文件
跟之前配置Hadoop2的时候不同,这次的搭建还配置了历史服务器与日志的聚集。应用运行完成以后,将程序运行日志信息上传到HDFS系统上。日志聚集可以方便的查看到程序运行详情,方便开发调试。配置历史服务器可以方便查看程序的历史运行情况,需要配置一下历史服务器。
配置文件的路径为hadoop-3.1.3/etc/hadoop,主要对以下的文件进行修改,添加相关的配置。
core-site.xml
代码语言:javascript复制 <property>
<name>fs.defaultFSname>
<value>hdfs://node1:8020value>
property>
<property>
<name>hadoop.tmp.dirname>
<value>/app/hadoop-3.1.3/datavalue>
property>
<property>
<name>hadoop.http.staticuser.username>
<value>hadoopvalue>
property>
hdfs-site.xml
代码语言:javascript复制 <property>
<name>dfs.namenode.http-addressname>
<value>node1:9870value>
property>
<property>
<name>dfs.namenode.secondary.http-addressname>
<value>node3:9868value>
property>
<property>
<name>dfs.replicationname>
<value>1value>
property>
yarn-site.xml
代码语言:javascript复制 <property>
<name>yarn.nodemanager.aux-servicesname>
<value>mapreduce_shufflevalue>
property>
<property>
<name>yarn.resourcemanager.hostnamename>
<value>node2value>
property>
<property>
<name>yarn.nodemanager.env-whitelistname>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOMEvalue>
property>
<property>
<name>yarn.scheduler.minimum-allocation-mbname>
<value>512value>
property>
<property>
<name>yarn.scheduler.maximum-allocation-mbname>
<value>4096value>
property>
<property>
<name>yarn.nodemanager.resource.memory-mbname>
<value>4096value>
property>
<property>
<name>yarn.nodemanager.vmem-check-enabledname>
<value>falsevalue>
property>
<property>
<name>yarn.log-aggregation-enablename>
<value>truevalue>
property>
<property>
<name>yarn.log.server.urlname>
<value>http://node1:19888/jobhistory/logsvalue>
property>
mapred-site.xml
代码语言:javascript复制 <property>
<name>mapreduce.framework.namename>
<value>yarnvalue>
property>
<property>
<name>mapreduce.jobhistory.addressname>
<value>node1:10020value>
property>
<property>
<name>mapreduce.jobhistory.webapp.addressname>
<value>node1:19888value>
workers
代码语言:javascript复制node1
node2
node3
4.集群的启动
修改完成配置文件之后,需要将hadoop的安装包分配到其他集群,这里参考Hadoop2的集群搭建文章。在启动之前需要在主节点,这里是node1进行格式化命令hdfs namenode -format。
之后在node1运行 sbin/start-dfs.sh,这里有一点要注意的是sbin/start-yarn.sh需要在配置了ResourceManager的节点进行启动,也就是node2里面启动。启动完成后可以看到对应的进程。
5.总结
总的来说,Hadoop3的访问端口号与配置会与Hadoop2有些许不同,感兴趣的小伙伴也可以试着搭建一下各个版本。后续将会把大数据中的常用组件进行集群的搭建总结,避免一些同学在环境的安装在耗费太多的时间。