完整版搭建hadoop集群

学习目标:

  1. 完整版搭建hadoop集群(在三台机器上搭建)
  2. 搭建HDFS系统
  3. 在root用户下

搭建Hadoop(版本号 Hadoop3.2.1)环境依赖:

  1. 需要三台主机实现ssh免密
  2. .实现三台主机时钟同步
  3. 需要设置java环境变量
  4. 需要三台linux主机,编号为 001,002,003
    001: 192.168.152.44
    002: 192.168.152.33
    003: 192.168.152.22
  5. 需要Hadoop安装包(3.2.1版本)

操作步骤:

1.实现三台主机ssh免密(三台主机共用一套ssh密钥)

 1. 首先机器上需要有ssh服务,如果没有,使用 yum -y install ssh下载
   	
 2. 选择001主机进行免密操作,首先使用命令   ssh-keygen 生成公私钥,使用默认配置即可(一直回车)

在这里插入图片描述
3. 使用 ll -a 来查看是否生成,后缀名为 .ssh
在这里插入图片描述

 4. cd .ssh进入该文件夹,使用 cat  id_rsa.pub  >> authorized_keys,将自己的公钥放到 authorized_keys文件里边
 
 5.使用远程文件传输命令scp将 该 .ssh文件拷贝到另外两台主机中
 	 scp  -r  .ssh  root@192.168.152.22:/root/
 	 scp   -r .shh  root@192.168.152.33:/root/
 	 
 6.验证: 在 001主机使用 ssh  192.168.152.22命令后,成功登录 003号主机。
  1. 实现三台主机时钟同步

       1. 选择 001 主机作为本地时钟服务器,(三台主机需要下载 ntp ntpdate服务,自行下载)
      
       2. 让 001 主机定时更新时钟,vi  /etc/crontab/文件写入   */ 1 *  *  *  *  root  ntpdate -u  ntp5.aliyun.com  
    

在这里插入图片描述

	  4. 开启时钟服务器: systemctl start ntpd.service
	  
	  5. 关闭防火墙 : sysytemctl stop firewalld;sysytemctl disable firewalld
	  
	  6. 重新加载 crond.service : systemctl reload crond.service
	  
	  7. 让 002,003主机中自动校正时间,与本地服务器同步。vi /etc/crontab/文件中写入*/ 1 *  *  *  *  root  ntpdate   -u   192.168.152.44,保存退出
	  
	  8. 分别重新加载 crond.service : systemctl reload crond.service
	  
	  9. 时钟服务器搭建完毕
  1. 设置java环境变量

    1,java安装包下载到/usr/java/jdk1.8.0_131/ 在 /etc/profile中设置环境变量
      
    	export JAVA_HOME=/usr/java/jdk1.8.0_131
    	export JRE_HOME=$JAVA_HOME/jre
    	export CLASSPATH=$JAVA_HOME/lib:$JRE_HOMElib:$CLASSPATH
    	export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH
    	更新配置服务  source  etc/profile
    

4.解压 Hadoop安装包到 /usr 目录下 : rpm -ivh hadoop-3.2.1.rmp /usr

5.配置 Hadoop 环境变量

    export HADOOP_HOME=/usr/hadoop/hadoop-3.2.1
	export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
	export HDFS_NAMENODE_USER=root
	export HDFS_DATANODE_USER=root
	export HDFS_SECONDARYNAMENODE_USER=root
	export YARN_RESOURCEMANAGER_USER=root
	export YARN_NODEMANAGER_USER=root
	
	更新配置服务  source  etc/profile

6,开始搭建 Hadoop 集群框架(确保所有主机防火墙关闭状态)

	1,首先添加一些主机映射关系 vi /etc/hosts
	
		192.168.152.44 nihuan003
		192.168.152.22  nihuan
		192.168.152.33 nihuan002
		保存退出
		
	2,需要配置几个关键文件:
	
		a 配置 hadoop-env.sh文件
		
		  # The java implementation to use. By default, this environment
		  # variable is REQUIRED on ALL platforms except OS X!
		    export JAVA_HOME=/usr/java/jdk1.8.0_131
		    
	    b 配置  core-site.xml 文件 确定  临时文件夹的位置和 master 主机
	    
	    <configuration>
			<property>
				<name>hadoop.tmp.dir</name>
				<value>file://usr/hadoop/hadoop-3.2.1/tmp</value>
			</property>
			<property>
				<name>fs.defaultFS</name>
				<value>hdfs://nihuan003</value>
			</property>
		</configuration>
		
	   c 配置  hdfs-site.xml ,确定 分块大小,副本集个数,冷备机等
	   
	   <configuration>
		   	<property>
				<name>dfs.replication</name>
				<value>1</value>
		        </property>
			<property>
				<name>dfs.namenode.secondary.http-address</name>
				<value>nihuan002:50090</value>
			</property>
			<property>
				<name>dfs.namenode.name.dir</name>
				<value>file:/usr/hadoop/hadoop-3.2.1/dfs/name</value>
			</property>
			 <property>
		                <name>dfs.datanode.data.dir</name>
		                <value>file:/usr/hadoop/hadoop-3.2.1/dfs/data</value>
		        </property>
			 <property>
		                <name>dfs.permissions.enabled</name>
		                <value>false</value>
		        </property>
			 <property>
		                <name>dfs.blocksize</name>
		                <value>1M</value>
		        </property>
		
		</configuration>
		
	   d,配置 workers:确定工作机
			nihuan
			
		e,配置 yarn-site.xml
		
		<property>	
    			<name>yarn.resourcemanager.hostname</name>
   				<value>nihuan003</value>
		</property>
		<property>
		        <name>yarn.nodemanager.aux-services</name>
		        <value>mapreduce_shuffle</value>
		</property>
		<property>
		        <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
		        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
		</property>

		f,配置 mapred-site.xml
		
		<property>
    		<name>mapreduce.framework.name</name>
    		<value>yarn</value>
		</property>


	   g,使用 scp 命令将配置好的Hadoop拷贝给另外两台主机
	   		
	   		scp  -r  /usr/hadoop   root@nihuan002:/usr/
	   		scp  -r  /usr/hadoop   root@nihuan:/usr/
	   	
			
  3,配置完毕后,进行格式化:使用命令  hdfs  namenode  -format   ,至此集群搭建完毕

7,启动 hdfs 服务:

     start-dfs.sh     start-all.sh

学习时间:

1、 周一至周五早上9点—晚上9点
2、 周六上午 9 点-上午 11 点
3、 周日下午 3 点-下午 6 点


学习产出:

出现该错误的原因可能是主机的 /etc.hosts文件中关于主机的的映射关系出现错误 第二个错误可能是 ssh免密配置错误,没有全部配置ssh免密

在这里插入图片描述
在这里插入图片描述

出现该错误的原因可能是 Hadoop的 etc/hadoop/hadoop-env.sh中没有设置Java的主目录路径,或者路径设置在错误的地方
在这里插入图片描述
在这里插入图片描述
在这里插入图片描述


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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值