栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 系统运维 > 运维 > Linux

2021-10-21 虚拟机配置Hadoop 集群教程(参考Hadoop+Spark 大数据巨量分析与机器学习)

Linux 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

2021-10-21 虚拟机配置Hadoop 集群教程(参考Hadoop+Spark 大数据巨量分析与机器学习)

  • 配置完伪分布式虚拟机后,可以继续配置hadoop集群。配置伪分布式hadoop可以参考:http://dblab.xmu.edu.cn/blog/2441-2/ 教程里也有配置集群,但是是用物理机配置的,我们这里还是选择用虚拟机配置。
规划
  • 一台主要计算机master,在HDFS担任NameNode角色、在MapReduce担任ResourceManager;
  • 有多台计算机data1、data2、data3,在HDFS中担任DataNode角色、在MapReduce中担任NodeManager角色;
  • 结构图如下,ip地址应根据自身情况而定;
Step1. 把Single Node Cluster 复制到 data1
  • 通过复制虚拟机减少不必要的操作


Step2. 设置VirtualBox网卡
  • 四台虚拟机,每台都设置两张网卡,网卡1设置为“NAT网卡”,网卡2设置为“仅主机适配器”,用于创建内部网络,内部网络连接虚拟主机与Host主机。

    在设置Host-Only网络时若显示界面未指定,可以到虚拟机管理中,点击主机网络管理器,添加一块虚拟网卡。
  • 我们将配置虚拟主机master、data1、data2、data3的IP为:
    192.168.47.100
    192.168.47.101
    192.168.47.102
    192.168.47.103
Step3. 设置data1服务器
  • 编辑网络配置文件设置固定ip
    sudo gedit /etc/network/interfaces

    # interfaces(5) file used by ifup(8) and ifdown(8)
    auto lo
    iface lo inet loopback
    # NAT interface
    auto enp0s3
    iface enp0s3 inet dhcp
    # host only interface
    auto enp0s8
    iface enp0s8 inet static
    address         192.168.47.101
    netmask         255.255.255.0
    network         192.168.47.0
    brodcast        192.168.47.255
    
  • 设置hostname主机名
    sudo gedit /etc/hostname
    将内容改为data1

  • 设置hosts文件
    sudo gedit /etc/hosts

    127.0.0.1	localhost
    127.0.1.1	hadoop
    
    192.168.47.100  master
    192.168.47.101  data1
    192.168.47.102  data2
    192.168.47.103  data3
    
    # The following lines are desirable for IPv6 capable hosts
    ::1     ip6-localhost ip6-loopback
    fe00::0 ip6-localnet
    ff00::0 ip6-mcastprefix
    ff02::1 ip6-allnodes
    ff02::2 ip6-allrouters
    
  • 编辑core-site.xml文件
    sudo gedit /usr/local/hadoop/etc/hadoop/core-site.xml

    
    	
    		hadoop.tmp.dir
    		file:/usr/local/hadoop/tmp
    		Abase for other temporary directories.
    	
    	
    		fs.defaultFS
    		hdfs://master:9000
    	
    
    
  • 编辑yarn-site.xml文件
    sudo gedit /usr/local/hadoop/etc/hadoop/yarn-site.xml

    
    
    	
    	   yarn.nodemanager.aux-services
    	   mapreduce_shuffle
    	
    	
    	   yarn.nodemanager.aux-services.mapreduce.shuffle.class
    	   org.apache.hadoop.mapred.ShuffleHandler
    	
    	
    	   yarn.resourcemanager.resource-tracker.address
    	   master:8025
    	
    	
    	   yarn.resourcemanager.scheduler.address
    	   master:8030
    	
    	
    	   yarn.resourcemanager.address
    	   master:8050
    	
    
    
  • 编辑mapred-site.xml文件
    sudo gedit /usr/local/hadoop/etc/hadoop/mapred-site.xml


	
		mapred.job.tracker
		master:54311
	

  • 编辑hdfs-site.xml
    sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml
    
    	
    		dfs.replication
    		3
    	
    	
    		dfs.datanode.data.dir
    		file:/usr/local/hadoop/hadoop_data/hdfs/datanode
    	
    
    
  • 重启data1,终端输入ifconfig得到结果如下:

    打开浏览器,确认对外网络连接正常
  • data1关机
Step4. 复制data1到data2、data3、master
  • 将data1虚拟机复制到data2、3和master虚拟机,名称可以在复制时更改。选择重置mac地址,完全复制,需要等待一段时间。复制好后结果如下:
Step5. 设置data2、data3服务器
  • sudo gedit /etc/network/interfaces
    sudo gedit /etc/hostname
  • 启动data2虚拟机,设置data2固定IP地址
    改ip地址为127.168.47.102和名字data2
  • 启动data3虚拟机,设置data2固定IP地址
    改ip地址为127.168.47.103和名字data3
Step6. 设置master服务器

在NameNode服务器中需要设置:固定IP,hostname,hdfs-site.xml,masters,slaves

  • 启动master虚拟机,设置ip和hostname

  • 编辑hdfs-site.xml文件
    sudo gedit /usr/local/hadoop/etc/hadoop/hdfs-site.xml

    
    	
    		dfs.replication
    		3
    	
    	
    		dfs.namenode.name.dir
    		file:/usr/local/hadoop/hadoop_data/hdfs/namenode
    	
    
    
  • 编辑master文件,告诉Hadoop系统哪一台服务器是NameNode
    sudo gedit /usr/local/hadoop/etc/hadoop/master
    将文件内容设置为master

  • 编辑slaves文件,高速Hadoop系统哪些服务器是DataNode
    sudo gedit /usr/local/hadoop/etc/hadoop/slaves
    将内容设置为:
    data1
    data2
    data3

Step7. master连接到data1、data2、data3,创建HDFS目录

之前我们已经创建了master与data1、2、3服务器。接下来要创建NameNode(master)的SSH连接到DataNode(data1、2、3),并创建HDFS相关目录。

  • 启动四台服务器

  • 在master服务器的终端程序中输入ssh data1通过SSH登录到data1虚拟机

  • 连接到data1后我们将在data1中创建HDFS相关目录如下,在master的终端中输入下列程序
    删除hdfs所有目录:
    sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
    创建DataNode存储目录:
    sudo mkdir -p /usr/local/hadoop/hadoop_data/hdfs/datanode
    将目录的所有者更改为hduser
    sudo chown hduser:hduser -R /usr/local/hadoop

  • 输入exit命令注销,再次登录data2,参照上述做法创建HDFS目录

  • date3操作类似

Step8. 创建并格式化NameNode HDFS目录
  • 重新创建NameNode HDFS目录
    在master的终端程序中输入下列命令,创建NameNode HDFS目录:
    删除之前的HDFS目录
    sudo rm -rf /usr/local/hadoop/hadoop_data/hdfs
    创建NameNode目录
    mkdir -p /usr/local/hadoop/hadoop_data/hdfs/namenode
    将目录所有者更改为hduser
    sudo chown -R hduser:hduser /usr/local/hadoop
  • 格式化NameNode HDFS目录
    cd /usr/local/hadoop
    ./bin/hadoop namenode -format
Step9. 启动Hadoop Multi Node Cluster
  • 启动Hadoop Multi Node Cluster
    到此为止,我们已经完成了Hadoop cluster的构建,可以在master终端中输入下列命令开始操作:
    start-dfs.sh
    start-yarn.sh
    或者
    start-all.sh
转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/338798.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号