我是靠谱客的博主 风趣黑猫,这篇文章主要介绍Hadoop集群部署(二),小型集群部署,现在分享给大家,希望可以做个参考。

整体规划

 

hadoop101

hadoop102

hadoop103

HDFS

 

NameNode

DataNode

 

DataNode

SecondaryNameNode

DataNode

YARN

 

NodeManager

ResourceManager

NodeManager

 

NodeManager

 

正常而言,部署一个集群最少需要6个节点,三台布置NameNode,ResourceManager,SecondaryNameNode。剩下三台分别部署成对的NodeManager和DataNode。

这是因为:

  • Hadoop中规定,NodeManager和DataNode必须成对出现。
  • NameNode(NN)是目录,ResourceManager(RM)是总体资源管理,SecondaryNameNode(SNN)是定期对NN备份。这三者消耗的资源较多,所以通常需要独立分配在三个节点上。

 

部署

安装JDK和hadoop

解压JDK和Hadoop到特定文件夹,注意目文件夹不要设置root用户所属,这是因为,一档母文件夹设置为root,那么后面你在文件夹中读写就需要sudo,在文件夹创建的文件还是属于root,软件运行过程也是需要sudo权限……一系列问题,本来很多软件里面需要依靠用户来区分保护范围,如果你全都sudo,那显然不太好。总而言之,设置好母文件夹的权限很重要。

然后就是配置环境变量。

sudo vim /etc/profile.d/my_env.sh
#JAVA_HOME
export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin
hadoop
##HADOOP_HOME
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin

重启或更新一下,可以使用java和hadoop查看是否安装成功。

配置hadoop

主要涉及hadoop目录下etc/hadoop中配置文件的配置。

配置core-site.xml,指定NameNode目录。注意,此处hadoop102类似的地址需要在hosts文件中指定。

<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:8020</value>
    </property>
    <property>
        <name>hadoop.data.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
    </property>
    <property>
        <name>hadoop.proxyuser.atguigu.hosts</name>
        <value>*</value>
    </property>
    <property>
        <name>hadoop.proxyuser.atguigu.groups</name>
        <value>*</value>
    </property>
</configuration>

 

配置hdfs-site.xml,在这里指定SecondNameNode的节点。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file://${hadoop.data.dir}/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file://${hadoop.data.dir}/data</value>
  </property>
    <property>
    <name>dfs.namenode.checkpoint.dir</name>
    <value>file://${hadoop.data.dir}/namesecondary</value>
  </property>
    <property>
    <name>dfs.client.datanode-restart.timeout</name>
    <value>30</value>
  </property>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>hadoop103:9868</value>
  </property>
</configuration>
配置yarn-site.xml,yarn配置,指定ResourceManager的节点。
<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop102</value>
    </property>
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
        <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
</configuration>

配置mapred-site.xml。MapReduce的配置,指定调度器为yarn。

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
</configuration>

 

配置workers,告诉hadoop当前有多少个节点。

hadoop102

hadoop103

hadoop104

分发集群配置

利用上文提及的xsync,xcall分发配置,需要分发的配置有:

  • 环境变量
  • hadoop,jdk本体,包含配置文件

然后利用xcall sudo reboot重启所有机子。

启动

格式化

hdfs namenode -format

启动HDFS,在101节点启动。

start-dfs.sh

启动Yarn,在102节点启动。

start-yarn.sh

如果配置成功,运行不会报错,使用jps指令应该能看到:

101: NN, DN, NM

102: RM, DN, NM

103: SNN, DN, NM

我配置之后看不到DN,正常启动了。原因是没有格式化好,解决方法是删掉data和logs重新格式化。

配置历史服务器以及日记据集

这两主要作用是查看历史,以及聚集运行生成的日记文件。

停止hadoop。

stop-dfs.sh

stop-yarn.sh

部署历史服务器到101节点,mapred-site.xml :

<!-- 历史服务器端地址 -->
<property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop101:19888</value>
</property

部署日记聚集到101, 修改yarn-site.xml

    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property> 
        <name>yarn.log.server.url</name> 
        <value>http://hadoop101:19888/jobhistory/logs</value> 
    </property>
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
</property>

分发配置,重新启动hadoop。

最后

以上就是风趣黑猫最近收集整理的关于Hadoop集群部署(二),小型集群部署的全部内容,更多相关Hadoop集群部署(二)内容请搜索靠谱客的其他文章。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(109)

评论列表共有 0 条评论

立即
投稿
返回
顶部