hadoop完全分布式

准备工作

三台虚拟机,关闭防火墙,关闭selinux

查看防火状态 systemctl status firewalld

暂时关闭防火墙 systemctl stop firewalld

永久关闭防火墙 systemctl disable firewalld

查看 selinux状态 getenforce

暂时关闭 selinux setenforce 0

永久关闭 selinux 在/etc/selinux/config文件中将SELINUX改为disabled

修改主机名:hostnamectl set-hostname 主机名称

修改映射文件/etc/hosts 使得三台主机可以互ping

配置ssh免密登录

ssh-keygen -t rsa 生成私钥与公钥

 

 

 

 ssh-copy-id hadoop01 将公钥复制到需要远程连接的机器上 

注意:也需要分发给自己,否则启动hadoop进程的时候会要求输入密码

 

 

解压jdk与hadoop压缩包 解压到/usr/local/src/目录下

 

 

 

配置jdk与Hadoop环境变量

如果觉得环境变量太长可以把后面的版本号删除

 在/etc/profile文件中修改配置文件

修改Hadoop配置文件

evn文件    hadoop-env.sh  yarn-env.sh  mapred-env.sh

在env.sh中配置java环境

注意:三个env文件中都要配置java,否则无法启动集群

 

 

 

配置HDFS相关文件

配置core-site.xml

复制代码
<configuration>
  <property>    <!-- 指定HDFS中NameNode的地址 -->
     <name>fs.defaultFS</name>
     <value>hdfs://master:9000</value>
  </property>
  <property>    <!-- 指定Hadoop运行时产生文件的存储目录 -->
     <name>hadoop.tmp.dir</name>
     <value>/usr/local/src/hadoop/data/tmp</value>
  </property>
</configuration>
复制代码

 

配置hdfs-site.xml

复制代码
<configuration>
        <property>
                <name>dfs.replication</name>
                <value>4</value>
        </property>
            <property>
                <name>dfs.namenode.name.dir</name>
                <value>/usr/local/src/hadoop/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>/usr/local/src/hadoop/data</value>
        </property>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>slave2:50090</value>
        </property>
</configuration>
复制代码

配置yarn-site.xml

复制代码
<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn-resourcemanager.hostname</name>
                <value>slave1</value>
        </property>
</configuration>
复制代码

配置mapred-site.xml

<configuration>
<property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
</property>
</configuration>

配置slave文件  写入其他主机名称

 全部配置完之后分发给其他集群

 

 scp命令说明  

-r是传输文件夹,如果只是传输文件,可以不需要加-r

root是传输给root用户,如果要传输给其他用户也可以修改为其他用户的名称

@后面加主机名 hadoop02是主机名

:后面加传输的目录下

 

格式化NameNode

第一次开启必须要格式化

注意:如果需要重新格式化,将namenode存放的路径的目录删除即可

[hadoop@hadoop01 hadoop-2.7.2]$ bin/hdfs namenode -format

启动HDFS

在NameNode节点启动

[hadoop@hadoop01 hadoop-2.7.2]$ sbin/start-dfs.sh

[hadoop@hadoop01 hadoop-2.7.2]$ jps

启动Yarn

在Resourcemanager节点启动

[hadoop@hadoop02 hadoop-2.7.2]$ sbin/start-yarn.sh

[hadoop@hadoop02 hadoop-2.7.2]$ jps

 

使用jps查看进程与节点是否对应

 hadoop01 192.168.112.101hadoop02 192.168.112.102hadoop03 192.168.112.103
HDFS

NameNode

DataNode

DataNode

SecondaryNameNode

DataNode

YARN NodeManager

ResourceManager

NodeManager

NodeManager

 

启动HDFS:start-dfs.sh

启动Yarn:start-yarn.sh

关闭HDFS:stop-dfs.sh

关闭Yarn:stop-yarn.sh

 

 

 

 

 最终全部启动

 

posted @   gudeman  阅读(282)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· 震惊!C++程序真的从main开始吗?99%的程序员都答错了
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 单元测试从入门到精通
· 上周热点回顾(3.3-3.9)
· winform 绘制太阳,地球,月球 运作规律
点击右上角即可分享
微信分享提示