大数据组件-Hadoop全分布式部署_hadoop

????????‍????博主介绍:大家好,我是芝士味的椒盐,一名在校大学生,热爱分享知识,很高兴在这里认识大家????

????擅长领域:Java、大数据、运维、电子

????????如果本文章各位小伙伴们有帮助的话,????关注+????????点赞+????评论+????收藏,相应的有空了我也会回访,互助!!!

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



  • 集群规划

大数据组件-Hadoop全分布式部署_hdfs_02

  • 检查三台机器之间是否可以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.gz​​和​​hadoop-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​​进行网页访问,可以看到集群信息