Hadoop集群完全分布式模式配置

这篇文章讲述的是hadoop集群的完全分布式的配置,如有错误或不当之处,还望各位大神批评指正。

一、安装前准备

要安装hadoop你需要先完成以下几件事:

二、安装jdk

1. 下载系统版本对应的jdk

网址:https://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
在这里插入图片描述

2. 将下载的jdk拷贝到Linux(两种方法)

  • 第一种方法:
    1. 使用secureCRT,或者xshell登录到Linux
    2. 安装rz,sz命令
      yum install lrzsz
      
    3. 使用rz命令上传文件
      # 输入命令
      rz
      # 选择jdk文件
      
  • 第二种方法:
    1. 使用secureCRT登录到Linux
    2. 选择菜单“file”,选择子菜单“connect SFTP session”,或者直接输入快捷键Alt+P
    3. 将jdk文件拖入即可,入下图
      在这里插入图片描述

3. 解压jdk文件包

	tar -zxvf jdk-8u201-linux-x64.tar.gz   

4. 配置jdk环境变量

打开文件/etc/profile

	#打开文件/etc/profile
	vi /etc/profile

在文件末尾加入如下内容(注意将JAVA_HOME变量值替换为你自己的jdk目录)

	export JAVA_HOME=/home/hadoop/jdk1.8.0_201
	export PATH=$JAVA_HOME/bin:$PATH 
	export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 

5. 使环境变量生效

	source /etc/profile

6. 检查是否配置成功

输入java -version命令,如果出现以下内容则安装jdk成功
在这里插入图片描述

三、安装hadoop

  • 安装hadoop与安装jdk类似需要以下几步

1. 下载hadoop安装包

网址:https://www.apache.org/dyn/closer.cgi/hadoop/common/hadoop-3.1.2/hadoop-3.1.2-src.tar.gz

2. 将安装包拷贝到Linux

与jdk安装包的拷贝类似,这里不再赘述

3. 解压hadoop安装包

	tar -zxvf hadoop-3.2.0.tar.gz

4. 配置hadoop环境变量

打开文件/etc/profile

	#打开文件/etc/profile
	vi /etc/profile

在文件末尾加入如下内容(注意将HADOOP_HOME变量值替换为你自己的jdk目录)

export  HADOOP_HOME=/home/hadoop/hadoop-3.2.0
# 在PATH变量后追加hadoop命令行
export  PATH=.:$HADOOP_HOME/bin:

5. 使环境变量生效

	source /etc/profile

6. 检查安装是否生效

输入hadoop version若出现如下内容则安装hadoop成功
在这里插入图片描述

四、hadoop完全分布式配置

1. 配置hadoop-env.sh

  • 进入hadoop目录
  • 输入命令打开hadoop-env.sh文件
    	vim etc/hadoop/hadoop-env.sh
    
  • 找到JAVA_HONE这一行,输入以下内容:
export JAVA_HOME=/home/hadoop/jdk1.8.0_201

在这里插入图片描述

2. 配置core-site.xml (临时文件目录、NAMENODE)

  • 进入hadoop目录
  • 输入命令打开core-site.xml 文件
    	vim etc/hadoop/core-site.xml 
    
  • 在configuration标签中加入如下内容
<property>
    <name>hadoop.tmp.dir</name>
    <value>/home/hadoop/hadoop/hadoop-3.2.0/hdfs/tmp</value>
</property>
<property>
  <name>io.file.buffer.size</name>
   <value>131072</value>
</property>
<property>
  <name>fs.defaultFS</name>
  <value>hdfs://hadoop101:9000</value>
</property>

在这里插入图片描述

3. 配置hdfs-site.xml (副本数,NodeManager,namenode和DataNode的存放位置,管理网址)

  • 进入hadoop目录
  • 输入命令打开hdfs-site.xml 文件
    	vim etc/hadoop/hdfs-site.xml 
    
  • 找到configuration,输入以下内容:
<property>
 <name>dfs.replication</name>
   <value>3</value>
 </property>
 <property>
   <name>dfs.namenode.name.dir</name>
   <value>/home/hadoop/hadoop/hadoop-3.2.0/hdfs/name</value>
   <final>true</final>
</property>
<property>
  <name>dfs.datanode.data.dir</name>
  <value>/home/hadoop/hadoop/hadoop-3.2.0/hdfs/data</value>
  <final>true</final>
</property>
<property>
 <name>dfs.namenode.secondary.http-address</name>
  <value>hadoop103:9001</value>
</property>
<property>
 <name>dfs.namenode.http-address</name>
  <value>hadoop001:50070</value>
</property>
<property>
  <name>dfs.webhdfs.enabled</name>
  <value>true</value>
</property>

在这里插入图片描述

4. 配置yarn-site.xml(resourceManager,yarn管理网址)

  • 进入hadoop目录
  • 输入命令打开yarn-site.xml文件
    	vim etc/hadoop/yarn-site.xml
    
  • 找到configuration标签,输入以下内容:
<property>
 <name>yarn.resourcemanager.address</name>
   <value>hadoop102:18040</value>
 </property>
 <property>
   <name>yarn.resourcemanager.scheduler.address</name>
   <value>hadoop102:18030</value>
 </property>
 <property>
   <name>yarn.resourcemanager.webapp.address</name>
   <value>hadoop102:18088</value>
 </property>
 <property>
   <name>yarn.resourcemanager.resource-tracker.address</name>
   <value>hadoop102:18025</value>
 </property>
 <property>
   <name>yarn.resourcemanager.admin.address</name>
   <value>hadoop102:18141</value>
 </property>
 <property>
    <name>yarn.nodemanager.aux-services</name>
    <value>mapreduce_shuffle</value>
 </property>
 <property>
    <name>yarn.resourcemanager.hostname</name>
    <value>hadoop102</value>
 </property>
 <property>
    <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
 </property>>

 <property>
    <name>mapreduce.jobhistory.address</name>
    <value>hadoop102:10020</value>
 </property>
 <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>hadoop102:19888</value>
 </property>
 <property>
 <name>mapreduce.jobhistory.intermediate-done-dir</name>
    <value>/home/hadoop/hadoop/hadoop-3.2.0/hdfs/tmp</value>
    </property>
 <property>
    <name>mapreduce.jobhistory.done-dir</name>
    <value>/home/hadoop/hadoop/hadoop-3.2.0/hdfs/done</value>
 </property>

在这里插入图片描述

5. 配置mapred-site.xml

  • 进入hadoop目录
  • 输入命令打开mapred-site.xml 文件
    	vim etc/hadoop/mapred-site.xml 
    
  • 在configuration标签中加入如下内容
<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>
 </property>
<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop/hadoop-3.2.0/</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop/hadoop-3.2.0/</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=/home/hadoop/hadoop/hadoop-3.2.0/</value>
</property>

在这里插入图片描述

6. 配置workers(老版本是slavers,DATANODE)

  • 进入hadoop目录
  • 输入命令打开mapred-site.xml 文件
    	vim etc/hadoop/workers
    
  • 添加如下内容(注意每行末尾不要有空格)
hadoop101
hadoop102
hadoop103

在这里插入图片描述
至此hadoop集群中的一台机器(hadoop101)配置完毕,其他两台主机配置相同,可以一台一台配置,也可以使用脚本xsync,脚本参考:https://blog.csdn.net/u013634252/article/details/88070694

五、启动hadoop集群

1. 启动HDFS

	start-dfs.sh

2. 格式化namenode(一次即可)

	hdfs namenode -format

注意:只在刚配置好集群时候格式化,格式化中途如有任何情况中断,或让你输入东西,证明你多次格式化了namenode,此时需要删除你在hdfs-site.xml中设置的name节点位置和data节点位置,再重新格式化

3. 启动YARN

	start-yarn.sh

注意要在配置ResourceManager那个节点上启动

4. 启动日志

	 mr-jobhistory-daemon.sh start historyserver

六、测试MapReduce(wordcount为例)

  • 使用hadoop自带的wordcount案例

1. 新建input.txt文件,并往里边随便放点单词

	vim input.txt

在这里插入图片描述

2. 在HDFS里新建文件夹/wordcount/input

	hdfs dfs -mkdir -p /wordcount/input

3. 将输入文件input.txt文件放入HDFS

	hdfs dfs -put input.txt /wordcount/input

4. 执行MapReduce

	yarn jar /home/hadoop/hadoop-3.2.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.2.0.jar wordcount /wordcount/input /wordcount/output 
  • 如果出现如下内容则证明hadoop集群已经搭好
    在这里插入图片描述

5. 查看MapReduce结果

	hdfs dfs -cat /wordcount/output/part-r-00000 

在这里插入图片描述
至此,完全分布式的hadoop集群搭建完毕!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值