Hadoop分布式部署

环境准备
准备三台虚拟机

克隆三个虚拟机linux00、linux01、linux02均为NAT模式;

防火墙
#关闭防火墙服务
systemctl stop firewalld.service  

#禁止防火墙开启启动
systemctl disable firewalld.service 

#检查防火墙状态
firewall-cmd --state		
主机名
vi /etc/hostname
hosts文件
vi /etc/hosts

#添加
192.168.126.134 linux00
192.168.126.135 linux01
192.168.126.136 linux02

免密登录
#三台机分别执行
ssh-keygen

ssh-copy-id linux00
ssh-copy-id linux01
ssh-copy-id linux02

#可直接进入
ssh linux01
时钟同步
#阿里云时钟同步
ntpdate ntp4.aliyun.com

#定时同步
crontab -e

*/1 * * * * /usr/sbin/ntpdate ntp4.aliyun.com;
安装java
#解压
tar -xvzf jdk-8u65-linux-x64.tar.gz -C /usr/java
#配置环境变量
vim /etc/profile

export JAVA_HOME=/usr/java/jdk1.8.0_51
export PATH=:$JAVA_HOME/bin:$PATH

#生效
source /etc/profile

#分发,
scp -r /usr/java/jdk1.8.0_51/ linux01:/usr/java/
scp -r /usr/java/jdk1.8.0_51/ linux02:/usr/java/

scp /etc/profile linux01:/etc/
scp /etc/profile linux02:/etc/

source /etc/profile
部署规划
服务linux00linux01linux02
NameNode
HDFSSecondaryNameNodeDataNodeDataNode
DataNode
YARNResourceManageNodeManagerNodeManager
NodeManager
部署步骤
解压安装包
cd /home
tar -zxf hadoop-3.2.4.tar.gz -C /home
环境变量
sudo vi /etc/profile

export HADOOP_HOME=/home/hadoop-3.2.4
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

source /etc/profile

#三个文件hadoop-env.sh mapred-env.sh yarn-env.sh添加JAVA_HOME环境变量
hadoop-env.sh mapred-env.sh yarn-env.sh

export JAVA_HOME=/usr/java/jdk1.8.0_51
配置文件
  • core-site.xml
     <configuration>
		//HDFS默认访问路径
        <property>
           <name>fs.defaultFS</name>
           <value>hdfs://linux00:8020</value>
        </property>
       	//数据文件存放目录,默认/tmp目录
        <property>
           <name>hadoop.tmp.dir</name>
           <value>file:/opt/hadoop-3.2.4/tmp</value>
        </property>
     </configuration>
  • hdfs-site.xml
     <configuration>
     	//数据块副本数量,默认为3
        <property>
           <name>dfs.replication</name>
           <value>2</value>
        </property>
        <property><!--不检查用户权限-->
           <name>dfs.permissions.enabled</name>
           <value>false</value>
        </property>
        //nameNode节点数据存放目录
        <property>
           <name>dfs.namenode.name.ditr</name>
           <value>file:/opt/hadoop-3.2.4/tmp/dfs/name</value>
        </property>
        
        //dataNode节点数据存放目录
        <property>
           <name>dfs.datanode.data.dir</name>
           <value>file:/opt/hadoop-3.2.4/tmp/dfs/data</value>
        </property>
     </configuration>
  • mapred-site.xml
 <configuration>
       <!--指定MapReduce任务执行框架为YARN-->
        <property>
           <name>mapreduce.framework.name</name>
           <value>yarn</value>
        </property>
       <!--为MapReduce应用程序主进程添加环境变量-->
        <property>
           <name>yarn.app.mapreduce.am.env</name>
           <value>HADOOP_MAPRED_HOME=/home/hadoop-3.2.4</value>
        </property>
       <!--为MapReduce Map任务添加环境变量-->
        <property>
           <name>mapreduce.map.env</name>
           <value>HADOOP_MAPRED_HOME=/home/hadoop-3.2.4</value>
        </property>
       <!--为MapReduce Reduce任务添加环境变量-->
        <property>
           <name>mapreduce.reduce.env</name>
           <value>HADOOP_MAPRED_HOME=/home/hadoop-3.2.4</value>
        </property>
  • yarn-site.xml
    
        <! -- NodeManager上运行的附属服务,需配置成mapreduce_shuffle才可运行MapReduce程序。YARN提供了该配置项用于在NodeManager上扩展自定义服务,MapReduce的Shuffle功能正是一种扩展服务。-->
        <property>
           <name>yarn.nodemanager.aux-services</name>
           <value>mapreduce_shuffle</value>
        </property>
  
         <!--ResourceManager所在的主机名。客户端提交应用程序、ApplicationMaster申请资源、
NodeManager汇报心跳和领取任务等,都需要知道ResourceManager的位置,以便进行通信-->
         <property>
             <name>yarn.resourcemanager.hostname</name>
             <value>linux00</value>
         </property>
     </configuration>
  • 修改workers文件
linux00
linux01
linux02
安装文件分发
scp -r hadoop-3.2.4/ linux01:/home
scp -r hadoop-3.2.4/ linux02:/home
格式化NameNode
hdfs namenode -format
启动命令
start-all.sh

参考文档https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/ClusterSetup.html

在这里插入图片描述

hadoop命令

参考文档

https://hadoop.apache.org/docs/r1.0.4/cn/commands_manual.html

# 显示根目录 / 下的文件和子目录,绝对路径
hadoop fs -ls /
# 新建文件夹,绝对路径
hadoop fs -mkdir /hello
# 上传文件
hadoop fs -put hello.txt /hello/
# 下载文件
hadoop fs -get /hello/hello.txt
# 输出文件内容
hadoop fs -cat /hello/hello.txt
运行jar包中的程序
hadoop jar word.jar com.hadoop.mr.WordCountDriver /word/input /out
Hadoop WEB 端口
DaemonWeb InterfaceNotes
NameNodehttp://nn_host:port/Default HTTP port is 9870.
ResourceManagerhttp://rm_host:port/Default HTTP port is 8088.
MapReduce JobHistory Serverhttp://jhs_host:port/Default HTTP port is 19888.
  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值