写点什么

Hadoop 全分布式部署

  • 2022 年 5 月 01 日
  • 本文字数:2237 字

    阅读完需:约 7 分钟


👨🏻‍🎓博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家🌟🌈擅长领域:Java、消息中间件、大数据、运维。

🙏🏻如果本文章各位小伙伴们有帮助的话,🍭关注+👍🏻点赞+🗣评论+📦收藏。

🤝另本人水平有限,旨在创作简单易懂的文章,在文章描述时如有错,恳请各位大佬指正,在此感谢!!!

  • 集群规划



  • 检查三台机器之间是否可以 ping 通这里的三台主机 ip 分别如下:


    #hadoop1    192.168.123.75    #hadoop2     192.168.123.76    #hadoop3    192.168.123.77
复制代码


  • 在/etc/sudoers 中设置 hadoop 的权限(三台)


    root   ALL=(ALL)      ALL    hadoop ALL=(ALL)     NOPASSWD:ALL
复制代码


  • 修改分别修改三台机的 network 和 hostname 的名字为:

  • 192.168.123.75→master

  • 192.168.123.76→slave1

  • 192.168.123.77→slave2

  • 查看并永久关闭防火墙


    #查看防火墙状态    systemctl status firewalld.service    #关闭防火墙    systemctl stop firewalld.service    #永久关闭防火墙    systemctl disable firewalld.server
复制代码


  • 开启 SSH 免密登录

  • master:


        #生产密钥对        ssh-keygen -t rsa        #三连击回车        ssh-copy-id master        #将master的公钥传到远程主机上        scp -r /home/hadoop/.ssh/authorized_keys slave1:/home/hadoop/.ssh/authorized_keys         scp -r /home/hadoop/.ssh/authorized_keys slave2:/home/hadoop/.ssh/authorized_keys 
复制代码


- slave1:
复制代码


        #生产密钥对        ssh-keygen -t rsa        #三连击回车        ssh-copy-id master
复制代码


- slave2:
复制代码


        #生产密钥对        ssh-keygen -t rsa        #三连击回车        ssh-copy-id master
复制代码


- 验证登录其他节点是否无需密码,无需密码说明成功
复制代码


        ssh slave1
复制代码


  • 使用 xftp 上传jdk-8u144-linux-x64.tar.gzhadoop-2.6.0.tar.gz 到/usr/local/src/目录下

  • 解压文件,并且重命名


    tar -zxvf jdk-8u144-linux-x64.tar.gz    tar -zxvf hadoop-2.6.0.tar.gz
复制代码


    mv jdk1.8.0-bin jdk8    mv hadoop2.6.0-bin hadoop
复制代码


  • 在~/.bash_profile 配置环境变量


    export JAVA_HOME=/usr/local/src/jdk8    export PATH=$PATH:$JAVA_HOME/bin        export HADOOP_HOME=/usr/local/src/hadoop    export PATH=$PATH:$HADOOP_HOME/sbin
复制代码


    #使环境变量生效    source ~/.bash_profile
复制代码


- 测试jdk是否正常
复制代码


        java -version
复制代码


  • 在/usr/local/src/hadoop/etc/hadoop/下做以下配置

  • 配置 slaves


        #对应每台的host映射        master        slave1        slave2
复制代码


- 配置hadoop-env.sh、mapred-env.sh、yarn-env.sh,添加jdk路径
复制代码


        export JAVA_HOME=/use/local/src/jdk8
复制代码


- 配置core-site.xml
复制代码


        <configuration>                <property>                          <name>fs.defaultFS</name>                          <value>hdfs://master:9000</value>                </property>                <property>                          <name>hadoop.tmp.dir</name>                          <value>/usr/local/src/hadoop/data/tmp</value>                </property>        </configuartion>
复制代码


- 配置hdfs-site.xml
复制代码


        <configuration>                <property>                          <name>dfs.replicaiotn</name>                          <value>3</value>                </property>                <property>                          <name>dfs.namenode.secondary.http-address</name>                          <value>slave2:50090</value>                </property>        </configuartion>
复制代码


- 配置yarn-site.xml
复制代码


        <configuration>                <property>                          <name>yarn.nodemanager.aux-services</name>                          <value>mapreduce_shuffle</value>                </property>                <property>                          <name>yarn.resourcemanager.hostname</name>                          <value>slave1</value>                </property>        </configuartion>
复制代码


- 配置mapred-site.xml
复制代码


        <configuration>                <property>                          <name>mapreduce.framework.name</name>                          <value>yarn</value>                </property>        </configuartion>
复制代码


  • 分发配置文件及软件

  • 分发环境变量


        #目前master位于~/目录下        scp -r ~/.bash_profiel slave1:$PWD        scp -r ~/.bash_profiel slave2:$PWD
复制代码


    - 别忘了到slave1、slave2上source一把- 分发jdk
复制代码


        #当前master位于/usr/local/src/目录下        scp -r ./jdk8 slave1:$PWD        scp -r ./jdk8 slave2:$PWD
复制代码


- 分发hadoop
复制代码


        #当前master为于/usr/local/src/目录下        scp -r ./hadoop slave1:$PWD        scp -r ./hadoop slave2:$PWD
复制代码


  • 格式化 hdfs 磁盘


    #在集群的主节点上进行格式化这里为master,格式化status应该为0,不为0需要根据info进行修改    hdfs namenode -format
复制代码


  • 启动 hdfs 和 yarn


    #master节点上启动    start-dfs.sh    #在有resourcemanager所在的机器上使用    start-yarn.sh
复制代码


- 启动之后可以通过`http://master:9000`进行网页访问,可以看到集群信息
复制代码


发布于: 刚刚阅读数: 3
用户头像

Java、消息中间件、大数据、运维 2022.04.23 加入

华为云云享专家、51CTOtop红人、CSDN博主、2021年第十届“中国软件杯”大学生软件设计大赛-B3-高并发条件下消息队列的设计与实现国赛二等奖、2021年浙江省职业院校技能大赛高职组“大数据技术与应用”赛项一等奖

评论

发布
暂无评论
Hadoop全分布式部署_Java_芝士味的椒盐_InfoQ写作社区