hadoop完全分布式搭建

一、在搭建伪分布式的前提下

                   https://blog.csdn.net/qq_16555103/article/details/87926120     -------- 伪分布式搭建

二、步骤如下

  •             linux版本:Centos 6.5
1、克隆3台虚拟机,分别为:
	-》ai7-server2
	-》ai7-server3
	-》ai7-server4

 

2、配置上面克隆出来的虚拟机的网络环境,步骤如下:
	-》网卡
		- 网卡位置:cd /etc/sysconfig/network-scripts
		- 因为克隆出来的虚拟机的网卡名称被自动改成了ifcfg-eth1,但是我们克隆出来的虚拟机的网卡文件名称还是
		  ifcfg-eth0,所以现在network服务是启动不起来的。解决方案是把ifcfg-eth0的名称改成ifcfg-eth1,命令是
		  mv ifcfg-eth0 ifcfg-eth1
		- 使用命令:sudo vi ifcfg-eth1,修改网卡文件信息,内容如下:
			-- 使用dd命令,删除UUID这一行
			-- 使用dd命令,删除HWADDR这一行
			-- 使用shift + a,修改为DEVICE=eth1
			-- 使用shift + a,修改为NAME="System eth1"
			-- 使用shift + a,修改IPADDR=192.168.109.13(注意修改成自己的IP)
			-- 最后使用shift + zz保存并退出
		- 重新启动网卡服务,使用命令:sudo service network restart
	-》主机名
		- 主机名文件位置:cd /etc/sysconfig/network
		- 使用命令:sudo vi /etc/sysconfig/network修改主机名配置文件,修改内容如下:
			-- HOSTNAME=ai7-server2
			-- 使用shift + zz保存并退出
            -- 重启虚拟机 sudo reboot,否则主机名配置不会生效
	-》IP映射
		- hosts位置:/etc/hosts
		- 使用命令:sudo vi /etc/hosts 修改文件,内容如下:
			-- 192.168.109.12 ai7-server1
			   192.168.109.13 ai7-server2
			   192.168.109.14 ai7-server3
			   192.168.109.15 ai7-server4
	-》使用命令:sudo reboot 重启虚拟机,使以上的配置信息生效(千万不要忘记这一步)
3、配置ssh免密设置,详情查看hadoop伪分布式搭建
4、配置Hadoop的完全分布式模式
	-》规划节点上的服务进程
		- ai7-server2	namenode	datanode	secondarynamenode	resourcemanager		nodemanager
		- ai7-server3	datanode	nodemanager
		- ai7-server4	datanode	nodemanager
	-》配置步骤:
		- 配置hadoop-2.7.3/etc/hadoop/core-site.xml文件,修改内容如下:
			<configuration>
                        <!-- ------定义namenode在那一台节点上 -->
				<property>
					<name>fs.defaultFS</name>
					<value>hdfs://ai7-server2:8020</value>     
				</property>
                        <!-- -------定义工作目录 -->
				<property>
				  <name>hadoop.tmp.dir</name>
				  <value>/opt/modules/hadoop-2.7.3/data/tmp</value>   
				</property>
			</configuration>
			
			注意事项:修改成自己的主机名,注意也许和我的主机名不一样
		- 配置hadoop-2.7.3/etc/hadoop/hdfs-site.xml文件,修改内容如下:
			<configuration>
				<!--修改副本数-->
				<property>
					<name>dfs.replication</name>
					<value>3</value>
				</property>
				
				<!--关闭权限检测-->
				<property>
					<name>dfs.permissions.enabled</name>
					<value>false</value>
				</property>
			</configuration>
		- 配置hadoop-2.7.3/etc/hadoop/mapred-site.xml文件,修改内容如下:
			<configuration>
				<!--指定mapreduce程序运行在yarn平台上-->
				<property>
					<name>mapreduce.framework.name</name>
					<value>yarn</value>
				</property>
				
				<!--指定历史服务在哪个节点上-->
				<property>
					<name>mapreduce.jobhistory.address</name>
					<value>ai7-server2:10020</value>
				</property>
				
				<!--历史服务web端界面地址-->
				<property>
					<name>mapreduce.jobhistory.webapp.address</name>
					<value>ai7-server2:19888</value>	  
				</property>
			</configuration>
		- 配置hadoop-2.7.3/etc/hadoop/yarn-site.xml文件,修改内容如下:
			<configuration>
				<!--指定启动运行mapreduce上的nodemanager的运行服务-->
				<property>
					<name>yarn.nodemanager.aux-services</name>
					<value>mapreduce_shuffle</value>
				</property>

				<!--指定resourcemanager主节点机器,可选项,不一定要配置,默认是本机,但是指定了之后在其他机器上启动,就会报错-->
				<property>
					<name>yarn.resourcemanager.hostname</name>
					<value>ai7-server2</value>
				</property> 
				
				<!--开启日志聚合功能-->
				<property>
					<name>yarn.log-aggregation-enable</name>
					<value>true</value>
				</property>
				
				<!--日志保存时间,单位是秒,建议3-7天-->
				<property>
					<name>yarn.log-aggregation.retain-seconds</name>
					<value>106800</value>
				</property> 
			</configuration>
		- 配置hadoop-2.7.3/etc/hadoop/salves文件,修改内容如下:
			ai7-server2
			ai7-server3
			ai7-server4
	-》将ai7-server2上的配置文件发送到ai-server3和ai7-server4上
		- 要发送的配置文件如下:
			-- core-site.xml
			-- hdfs-site.xml
			-- mapred-site.xml
			-- yarn-site.xml
			-- slaves
		- 跨节点拷贝发送配置文件,步骤如下:
			1. cd /opt/modules/hadoop-2.7.3/etc/hadoop/  cd到hadoop配置文件目录下
			2. scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves ai7-server3:/opt/modules/hadoop-2.7.3/etc/hadoop/
			3. scp core-site.xml hdfs-site.xml mapred-site.xml yarn-site.xml slaves ai7-server4:/opt/modules/hadoop-2.7.3/etc/hadoop/
	-》把ai7-server2,ai-server3和ai7-server4这三台节点上Hadoop的工作目录和日志目录删除掉
		- 命令:rm -rf /opt/modules/hadoop-2.7.3/data/tmp   删除工作目录
		- 命令:rm -rf /opt/modules/hadoop-2.7.3/logs   	删除工作目录
	-》重新格式化namenode节点
		- bin/hdfs namenode -format
		- 注意,是在ai7-server2节点上进行格式化
	-》启动集群命令:sbin/start-all.sh
	-》如果启动集群报如下错误:
	ai7-server2: starting namenode, logging to /opt/modules/hadoop-2.7.3/logs/hadoop-coder-namenode-ai7-server2.out
	ai7-server4: starting datanode, logging to /opt/modules/hadoop-2.7.3/logs/hadoop-coder-datanode-ai7-server4.out
	: Name or service not knownstname ai7-server2
	: Name or service not knownstname ai7-server3
	
	那么说明slaves文件出现了脏数据,我们只需要把它删除掉,然后在虚拟机里使用vi命令创建并重新编译即可

 

 

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值