当前位置:   article > 正文

hadoop集群搭建篇(伪分布,完全分布)_hadoop从伪分布式模式怎么切换到完全分布式模式怎么操

hadoop从伪分布式模式怎么切换到完全分布式模式怎么操

要点如下:

  • 1,服务器搭建: virtualBox + Centos7
  • 2,  centos7:  网络配置
  • 3,centos 上安装jdk, hadoop

第一步: 安装centos, 配置网络

我使用ubuntu16 桌面版, 安装virtualbox后,创建虚拟机: 添加centos7镜像文件

点击 ‘start’, 开始安装centos7....

安装完成后, 需要关机,centos虚拟机还需以下配置:

  1. 默认只有一块网卡(NAT模式),且没有开启--->设置为开启, dhcp自动分配ip
  2. 为virtualbox添加虚拟网卡:host network manager
  3. 动态ip不方便管理虚拟机--->添加第二块网卡, 设置静态ip( 仅主机模式)

点击"File"---->host network manager : "create"

重启虚拟机, 配置网卡

  1. 登录后, 输入命令:  ip addr --->查看现有的网络配置, 可以看到3个网卡【lo, enp0s3, enp0s8】
  2. 修改网络配置文件: cd /etc/sysconfig/network-scripts/  && ls
  3. 修改centos7主机名: vim /etc/hostname  --> 改为:node

此时只有两个网络配置文件:ifcfg-enp0s3 ,ifcfg-lo   ----->复制一份文件,对应刚添加的新网卡 enp0s8

  1.  cp ifcfg-enp0s3 ifcfg-enp0s8
  2. vim ifcfg-enp0s3

             

注意:网卡enp0s8的网段要和 virtualbox的一致

重启网卡,再次查看网络: service network restart  && ip addr


第二步:安装jdk, hadoop

因为centos7 mini版, 界面不美观,输入也不方便,所以我使用ubuntu 16 远程登录来控制虚拟机,具体操作如下

  1. 先配置ubuntu16 本机免密码登录, 再复制公钥到虚拟机centos7: ssh-keygen -t rsa -P ''"
  2. 使用scp 命令, 拷贝jdk , hadoop 压缩包到centos7虚拟机:   scp jdk-8u171-linux-x64.tar.gz hadoop-2.7.3.tar.gz node:~
  3. 远程登录centos7, 解压文件, 配置环境变量:  ssh node 

伪分布式

  1. core-site.xml:    【namenode通信端口  + hdfs工作目录】
  2. hdfs-site.xml:  【block备份数】
  3. mapred-site.xml:【mapreduce的管理框架】
  4. yarn-site.xml:  【yarn服务器地址+ 指定的服务】

完全分布式

在伪分布基础上:(修改) 

1,添加物理机: 分离datanode-->部署在多个slave节点

2, 配置slaves文件: 加入datanode主机名

3,修改系统ip映射: /etc/hosts--> 加入datanode 节点主机名ip映射

4,在master节点修改: hdfs-site.xml-->备份数3, 再同步master节点配置文件

5,删除工作目录, 重新格式化namenode

第一种:不分离secondarynamenode        ===>nm ,2nm 共用一个机器

在伪分布式的基础上, 修改slaves文件, 删除localhost--->替换为真实slave节点主机名;  重新format namenode即可

第二种:分离secondarynamenode            ====>nm一台机器, 2nm一台机器

更改hdfs-site.xml:加入以下内容

  1. <property>
  2. <name>dfs.namenode.secondary.http-address</name>
  3. <value>某某主机名:50090</value>
  4. </property>

编写脚本:更改 ip, hostname(克隆master机器后的slave机器)

  1. #!/bin/bash
  2. #修改Ip
  3. if [[ -n $1 && -n $2 && -n $3 ]]
  4. then
  5. sed -i "s@192.168.56.11$1@192.168.56.11$2@g" /etc/sysconfig/network-scripts/ifcfg-enp0s8
  6. service network restart
  7. #修改hostname
  8. echo "$3">/etc/hostname
  9. #重启
  10. reboot
  11. else
  12. echo "需要三个参数: 原ip 目标ip 目标hostname...."
  13. fi

解压安装jdk, hadoop:  (以root用户身份运行脚本)

  1. #!/bin/bash
  2. #脚本作用: 解压安装hadoop
  3. #创建安装目录
  4. mkdir -p /soft/{jdk,hadoop}
  5. tar -zxvf jdk-8u171-linux-x64.tar.gz -C /soft/jdk
  6. tar -zxvf hadoop-2.7.3.tar.gz -C /soft/hadoop
  7. (cd /soft/jdk ; mv jdk* jdk8)
  8. (cd /soft/hadoop ; mv hadoop* hadoop2.7)
  9. #jdk,hadoop环境变量配置
  10. echo "JAVA_HOME=/soft/jdk/jdk8" >> /etc/profile
  11. echo "HADOOP_HOME=/soft/hadoop/hadoop2.7" >> /etc/profile
  12. echo 'PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/sbin:$HADOOP_HOME/bin' >> /etc/profile
  13. echo 'export JAVA_HOME=/soft/jdk/jdk8'>>/soft/hadoop/hadoop2.7/etc/hadoop/hadoop-env.sh
  14. #验证是否安装成功
  15. source /etc/profile
  16. java -version
  17. hadoop version

core-site.xml

  1. <!--namenode通信端口+ hdfs工作目录-->
  2. <?xml version="1.0" encoding="UTF-8"?>
  3. <configuration>
  4. <property>
  5. <name>hadoop.tmp.dir</name>
  6. <value>/home/centos/hadoop-tmp</value>
  7. </property>
  8. <property>
  9. <name>fs.defaultFS</name>
  10. <value>hdfs://localhost:9000</value>
  11. </property>
  12. </configuration>

hdfs-site.xml

  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <configuration>
  3. <property>
  4. <name>dfs.replication</name>
  5. <value>1</value>
  6. </property>
  7. </configuration>

 mapred-site.xml

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <property>
  4. <name>mapreduce.framework.name</name>
  5. <value>yarn</value>
  6. </property>
  7. <!-- hadoop 3.x 要加一下配置,否则跑任务报错这个提示
  8. <property>
  9. <name>yarn.app.mapreduce.am.env</name>
  10. <value>HADOOP_MAPRED_HOME=${/xx/bb}</value>
  11. </property>
  12. <property>
  13. <name>mapreduce.map.env</name>
  14. <value>HADOOP_MAPRED_HOME=${/xx/bb}</value>
  15. </property>
  16. <property>
  17. <name>mapreduce.reduce.env</name>
  18. <value>HADOOP_MAPRED_HOME=${/xx/bb}</value>
  19. </property>
  20. -->
  21. </configuration>

yarn-site.xml

  1. <?xml version="1.0"?>
  2. <configuration>
  3. <property>
  4. <name>yarn.resourcemanager.hostname</name>
  5. <value>node</value>
  6. </property>
  7. <property>
  8. <name>yarn.nodemanager.aux-services</name>
  9. <value>mapreduce_shuffle</value>
  10. </property>
  11. </configuration>

启动服务

  1. #1,修改slaves或 workers文件,添加worker节点
  2. #2,配置本机免密登录 所有worker节点
  3. ./bin/hdfs namenode -format
  4. ./sbin/start-dfs.sh
  5. #3, 配置hadoop PATH环境变量,使用jps查看进程
  6. #4, 执行测试任务:hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.3.jar pi 1 1

声明:本文内容由网友自发贡献,不代表【wpsshop博客】立场,版权归原作者所有,本站不承担相应法律责任。如您发现有侵权的内容,请联系我们。转载请注明出处:https://www.wpsshop.cn/w/菜鸟追梦旅行/article/detail/611300
推荐阅读
相关标签
  

闽ICP备14008679号