虚拟机与Windows下Hadoop的环境配置与安装

Hadoop 的配置与安装

需要jdk已经配置,这是前提!!

准备工作

将hadoop安装包上传到虚拟机中。
在这里插入图片描述

  1. 检查IPhostname的映射是否正确

    #查看本机ip
    ip addr
    

在这里插入图片描述

#查看hostname
hostname

在这里插入图片描述

#查看hosts配置信息
vim /etc/hosts

对应好!

  1. 解压hadoop安装包在这里插入图片描述

    #对应目录解压安装包
    tar -zxvf hadoop-3.1.3.tar.gz -C /opt/software/
    

在这里插入图片描述

#顺手改个名字,方便使用
mv hadoop-3.1.3/ hadoop313

在这里插入图片描述

  1. 配置本机免密

    #1、进入用户目录下
    cd ~
    
    #2、生成秘钥
    ssh-keygen -t rsa
    

    秘钥生成中一直按回车即可。
    在这里插入图片描述

完成后可以看到在目录中生成了 .ssh 文件

在这里插入图片描述

#激活授权秘钥
cat  id_rsa.pub>>authorized_keys

进入.ssh文件夹可以看到两个文件在这里插入图片描述

用cat查看这两个文件,一个是公钥,一个是私钥

cat id_rsa.pub
cat id_rsa

在这里插入图片描述

测试一下自己连接自己

#连接
ssh root@你自己的hostname

#########
yes/no 选择 yes
提示输入密码,输入你的密码(root账户的密码)
#########

#退出
logout

在这里插入图片描述

#免密配置
cat  id_rsa.pub>>authorized_keys

新增了两个文件

在这里插入图片描述

测试一下免密登录
在这里插入图片描述

环境变量配置

#1、打开配置文件
vim /etc/profile.d/myenv.sh

#2、添加hadoop环境变量
#-------------------
export HADOOP_HOME=/opt/software/hadoop313
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
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
#-------------------

在这里插入图片描述

#3、激活环境变量
source /etc/profile

#4、#查看配置时候生效
echo $HADOOP_HOME

在这里插入图片描述

配置文件配置

  1. 配置 hadoop-env.sh

    系统环境变量里没配就在这配

    #打开
    vim hadoop-env.sh
    
  2. 配置 core-site.xml

    vim core-site.xml 
    
    #配置文件
    ####################################################
    <configuration>
    <!--配置namenode的地址-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://192.168.158.202:9820</value>
    </property>
    <!--配置数据存储目录-->
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/software/hadoop313/data</value>
    </property>
    <!--配置HDFS网页登录使用的静态用户为root-->
    <property>
        <name>hadoop.http.staticuser.user</name>
        <value>root</value>
    </property>
    <!--配置root允许通过代理访问的主机节点-->
    <property>
        <name>hadoop.proxyuser.root.hosts</name>
        <value>*</value>
    </property>
    <!--配置root允许通过代理用户所属组-->
    <property>
        <name>hadoop.proxyuser.root.groups</name>
        <value>*</value>
    </property>
    <!--配置root允许通过代理的用户-->
    <property>
        <name>hadoop.proxyuser.root.user</name>
        <value>*</value>
    </property>
    </configuration>
    ####################################################
    
  3. 配置 hdfs-site.xml

    vim hdfs-site.xml 
    
    ##########################################
    <configuration>
    <!--配置namenode web访问地址-->
    <property>
        <name>dfs.namenode.http-address</name>
        #自己的
        <value>192.168.158.202:9870</value>
    </property>
    <!--配置secondary namenode web 访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        #自己的
        <value>192.168.158.202:9868</value>
    </property>
    <!--配置hdfs副本数量-->
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    
    </configuration>
    ##########################################
    
  4. 配置 yarn-site.xml

    vim yarn-site.xml 
    
    ####################################################
    <configuration>
    <!--配置mr的执行方式-->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!--配置ResourceManager的地址-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        #自己的
        <value>wantest03</value>
    </property>
    <!--配置环境变量的继承-->
    <property>
        <name>yarn.nodemanager.env-whitelist</name>
       <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    <!--配置yarn容器允许分配的最小内存-->
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>512</value>
    </property>
    <!--配置yarn容器允许分配的最大内存-->
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>1536</value>
    </property>
    <!--配置yarn容器允许管理的物理内存大小-->
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>1536</value>
    </property>
    <!--配置关闭yarn对物理内存和虚拟内存限制的检查,jdk8运行于centsos6以上为导致虚拟内存过大-->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    <!--配置关闭yarn对物理内存和虚拟内存的限制检查-->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
    <!--开启日志聚集-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!--配置日志聚集服务器地址-->
    <property>
        <name>yarn.log.server.url</name>
        #自己的
        <value>http://192.168.158.202:19888/jobhistory/logs</value>
    </property>
    <!--配置日志保留时间为7天-->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
    <configuration>
    ####################################################
    
  5. 配置mapred-site.xml

    vim mapred-site.xml
    
    ####################################################
    <configuration>
    <!--配置mapreduce运行于yarn上:默认为local,也可以指定spark阶段了解的mesos-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!--配置历史服务器地址-->
    <property>
        <name>mapreduce.jobhistory.address</name>
        #自己的
        <value>192.168.158.202:10020</value>
    </property>
    <!--配置历史服务器web端地址-->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        #自己的
        <value>192.168.158.202:19888</value>
    </property>
    </configuration>
    ####################################################
    

格式化namenode

#1、进入hadoop安装目录
cd /opt/software/hadoop313

#2、执行格式化
./bin/hdfs namenode -format

在这里插入图片描述

#3、启动服务
start-all.sh

#4、检测服务开启状态
jps

在这里插入图片描述

开启正常

虚拟机内部操作检查

先检查能否正常上传/下载文件至hadoop

hdfs dfs -ls /
hdfs dfs -mkdir -p /kb12/hd/cha01
hdfs dfs -put a.txt /kb12/hd/cha01
hdfs dfs -cat /kb12/hd/cha01/*

在这里插入图片描述

创建一个 wc01.log 文件上传至hadoop

#创建文件
vim wc01.log
#在hadoop中创建文件夹
hdfs dfs -mkdir /input
#上传文件至hadoop
hdfs dfs -put wc01.log /input
#查看文件
hdfs dfs -cat /input/wc01.log

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

在这里插入图片描述

跑一个自带的测试 wordcount 看看能否成功

#进入文件目录
/opt/software/hadoop313/share/hadoop/mapreduce/
#运行文件
hadoop jar hadoop-mapreduce-examples-3.1.3.jar wordcount /input/wc01.log /output

在这里插入图片描述

有的可以一遍过,结果为:

在这里插入图片描述

卡在 map 0% reduce 0%

在这里插入图片描述

#在yran配置中添加初始分配内存
vim yarn-site.xml 

<property>
        <name>yarn.app.mapreduce.am.resource.mb</name>
        <value>256</value>
</property>

在这里插入图片描述

可能有的还是不行

#关闭安全模式
hdfs dfsadmin -safemode leave

#在系统环境变量中添加
export HADOOP_HOME=/opt/software/hadoop313
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
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

#在mapred-site.xml添加
vim mapred-site.xml

<property>
  <name>yarn.app.mapreduce.am.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.map.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>
<property>
  <name>mapreduce.reduce.env</name>
  <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
</property>

windows下hadoop配置

  1. 准备windows下hadoop环境

    获取与自己hadoop版本对应的 hadoop.dllwinutils.exe

    https://github.com/cdarlint/winutils

    将hadoop.dell放入Windows/System32下
    在这里插入图片描述

    将linux下的hadoop安装文件夹拷贝至本地,将winutils.exe放入本地的hadoop文件夹的bin目录下

在这里插入图片描述

  1. 配置windows环境变量

    系统变量:

在这里插入图片描述

环境变量:

在这里插入图片描述

  1. 配置Windows本地hosts

    填写虚拟机的ip和对应的主机名

在这里插入图片描述

在这里插入图片描述

  1. 在windows下跑一个 wordcount

    创建一个空项目,将hadoop中搞的4个配置文件复制一份到resources中

在这里插入图片描述

运行代码,应该得到和在linux中进行wordcount测试差不多样子的结果

在这里插入图片描述

可以看到hadoop的 /out 文件下有了计算的结果,完成的任务中也可以查看到任务

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值