Hadoop搭建:完全分布式(Linux版本)(三阶段)

目录

1.规划hadoop集群

2.配置文件:

2.1默认配置文件

2.2自定义配置文件

core-site.xml:核心配置文件

hdfs-site.xml:HDFS配置文件

yarn-site.xml:YARN配置文件

mapred-site.xml:MapReduce配置文件

2.3分发hadoop配置文件

3.群起集群

3.1配置workers

3.2 启动集群

3.2.1 第一次启动,需要在hadoop102节点格式化NameNode

3.3.2 启动HDFS

3.3.3 群启/停

3.3.4 Web端查看


1.规划hadoop集群

hadoop102namenode datanodenodemanager
hadoop103resourcemanager  datanodenodemanager
hadoop104secondarynamenodedatanodenodemanager

                 

2.配置文件:

2.1默认配置文件

要获取的默认文件

文件存放在Hadoop的jar包中的位置

[core-default.xml]

hadoop-common-3.1.3.jar/ core-default.xml

[hdfs-default.xml]

hadoop-hdfs-3.1.3.jar/ hdfs-default.xml

[yarn-default.xml]

hadoop-yarn-common-3.1.3.jar/ yarn-default.xml

[mapred-default.xml]

hadoop-mapreduce-client-core-3.1.3.jar/ mapred-default.xml

2.2自定义配置文件

        core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml四个配置文件存放在$HADOOP_HOME/etc/hadoop这个路径上,用户可以根据项目需求重新进行修改配置。

core-site.xml:核心配置文件

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- 指定NameNode的地址 -->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop102:9820</value>
</property>
<!-- 指定hadoop数据的存储目录 -->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/module/hadoop-3.1.3/data</value>
</property>

<!-- 配置HDFS网页登录使用的静态用户为atguigu -->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>atguigu</value>
</property>

<!-- 配置该atguigu(superUser)允许通过代理访问的主机节点 -->
    <property>
        <name>hadoop.proxyuser.atguigu.hosts</name>
        <value>*</value>
</property>
<!-- 配置该atguigu(superUser)允许通过代理用户所属组 -->
    <property>
        <name>hadoop.proxyuser.atguigu.groups</name>
        <value>*</value>
</property>
<!-- 配置该atguigu(superUser)允许通过代理的用户-->
    <property>
        <name>hadoop.proxyuser.atguigu.groups</name>
        <value>*</value>
</property>

</configuration>

hdfs-site.xml:HDFS配置文件

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- nn web端访问地址-->
	<property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop102:9870</value>
    </property>
	<!-- 2nn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop104:9868</value>
    </property>
</configuration>

yarn-site.xml:YARN配置文件

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- 指定MR走shuffle -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
</property>
<!-- 指定ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop103</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>
<!-- yarn容器允许分配的最大最小内存 -->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>4096</value>
</property>
<!-- yarn容器允许管理的物理内存大小 -->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
</property>
<!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
</configuration>

mapred-site.xml:MapReduce配置文件

<?xml version="1.0" encoding="UTF-8"?>
<?xml-stylesheet type="text/xsl" href="configuration.xsl"?>

<configuration>
	<!-- 指定MapReduce程序运行在Yarn上 -->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

2.3分发hadoop配置文件

[atguigu@hadoop102 hadoop]$ my_rsync.sh /opt/module/hadoop-3.1.3/etc/hadoop/

3.群起集群

3.1配置workers

[atguigu@hadoop102 hadoop]$ vim /opt/module/hadoop-3.1.3/etc/hadoop/workers
#在该文件中增加如下内容:
hadoop102
hadoop103
hadoop104

同步所有节点配置文件

[atguigu@hadoop102 hadoop]$ my_rsync /opt/module/hadoop-3.1.3/etc

3.2 启动集群

3.2.1 第一次启动,需要在hadoop102节点格式化NameNode

[atguigu@hadoop102 ~]$ hdfs namenode -format

注意格式化NameNode,会产生新的集群id,导致NameNode和DataNode的集群id不一致,集群找不到已往数据。如果集群在运行过程中报错,需要重新格式化NameNode的话,一定要先停止namenode和datanode进程,并且要删除所有机器的data和logs目录,然后再进行格式化。

3.2.2 启动HDFS

[atguigu@hadoop102 hadoop-3.1.3]$ sbin/start-dfs.sh
[atguigu@hadoop103 hadoop-3.1.3]$ sbin/start-yarn.sh

3.2.3 群启/停

#创建群启群停脚本
[atguigu@hadoop102 ~]$ cd /home/atguigu/bin
[atguigu@hadoop102 ~]$ touch my_cluster.sh
[atguigu@hadoop102 ~]$ chmod 744 my_cluster.sh
[atguigu@hadoop102 ~]$ vim my_cluster.sh
#!/bin/bash
if [ $# -lt 1 ]
then
    echo "No Args Input..."
    exit ;
fi
case $1 in
"start")
        echo " =================== 启动 HDFS ==================="
        ssh hadoop102 /opt/module/hadoop-3.1.3/sbin/start-dfs.sh
        echo " =================== 启动 YARN ==================="
        ssh hadoop103 /opt/module/hadoop-3.1.3/sbin/start-yarn.sh
;;
"stop")
        echo " =================== 关闭 HDFS ==================="
        ssh hadoop102 /opt/module/hadoop-3.1.3/sbin/stop-dfs.sh
        echo " =================== 关闭 YARN ==================="
        ssh hadoop103 /opt/module/hadoop-3.1.3/sbin/stop-yarn.sh
;;
*)
    echo "Input Args Error..."
;;
esac

分发/home/atguigu/bin目录,保证自定义脚本在三台机器上都可以使用

[atguigu@hadoop102 ~]$ my_rsync.sh /home/atguigu/bin/

使用群启群停脚本

[atguigu@hadoop102 ~]$ my_cluster.sh start

3.2.4 Web端查看

Web端查看HDFS的NameNode

        (a)浏览器中输入:http://hadoop102:9870

        (b)查看HDFS上存储的数据信息

Web端查看YARN的ResourceManager

        (a)浏览器中输入:http://hadoop103:8088

        (b)查看YARN上运行的Job信息

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值