• hadoop2.7【单节点】单机、伪分布、分布式安装指导


    问题导读

    1.从本文部署实际部署,总结本地模式、伪分布、分布式的区别是什么?
    2.单机是否是伪分布?
    3.本地模式是否可以运行mapreduce?







    hadoop2.7发布,这一版不太适合用于生产环境,但是并不影响学习:由于hadoop安装方式有三种,并且三种安装方式都可以在前面的基础上继续配置,分别是:

    • 本地模式
    • 伪分布
    • 分布式



    ###############################################
    1.准备

    安装jdk1.7参考
    linux(ubuntu)安装Java jdk环境变量设置及小程序测试

    测试:
    Java -version
    <ignore_js_op> 

    安装ssh

    1. sudo apt-get install ssh
    复制代码
    1.   $ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    2.   $ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    3.   $ export HADOOP\_PREFIX=/usr/local/hadoop
    复制代码


    最后达到无密码登录

    1. ssh localhost
    复制代码


    <ignore_js_op> 


    安装rsync

    1. sudo apt-get install rsync
    复制代码


    修改网卡:
    注释掉127.0.1.1 ubuntu
    添加新的映射
    10.0.0.81 ubuntu


    这里必须修改,否则后面会遇到连接拒绝等问题

    2.安装

    进入配置文件目录

    我这里是

    ~/hadoop-2.7.0/etc/hadoop

    <ignore_js_op> 


    修改配置文件:
    etc/hadoop/hadoop-env.sh

    添加JAVA_HOME、HADOOP_COMMON_HOME

    1. export JAVA_HOME=/usr/jdk
    2. export HADOOP_COMMON_HOME=~/hadoop-2.7.0
    复制代码


    配置环境变量

    sudo nano /etc/environment

    增加hadoop配置
    将下面添加到变量PATH中

    1. /home/aboutyun/hadoop-2.7.0/bin:/home/aboutyun/hadoop-2.7.0/sbin:
    复制代码




    <ignore_js_op> 

    ########################################################
    3.本地模式验证[可忽略]

    所谓的本地模式:在运行程序的时候,比如wordcount是在本地磁盘运行的
    上面已经配置完毕,我们对其测试,分别执行面命令:
    注意: bin/hadoop的执行条件是在hadoop_home中,我这里是

    1.   $ mkdir input
    复制代码
    1. $ cp etc/hadoop/*.xml input
    复制代码
    1. $bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.0.jar grep input output 'dfs[a-z.]+'
    复制代码

    <ignore_js_op> 


    1. $ cat output/*
    复制代码

    <ignore_js_op> 


    ##################################################################
    上面本地模式,我们知道就可以,我们下面继续配置伪分布模式
    4.伪分布模式

    我这里的全路径:/home/aboutyun/hadoop-2.7.0/etc/hadoop


    修改文件etc/hadoop/core-site.xml
    添加如下内容:
    含义:接收Client连接的RPC端口,用于获取文件系统metadata信息。

    1. <configuration>
    2.   <property>
    3.         <name>fs.defaultFS</name>
    4.         <value>hdfs://localhost:9000</value>
    5.     </property>
    6. </configuration>
    复制代码




    <ignore_js_op> 


    修改etc/hadoop/hdfs-site.xml:
    添加如下内容:
    含义:备份只有一份

    1. <configuration>
    2.     <property>
    3.         <name>dfs.replication</name>
    4.         <value>1</value>
    5.     </property>
    6. </configuration>
    复制代码

    <ignore_js_op> 


    ###################################
    补充重要:
    由于系统重启后,找不到namenode进程,这是因为系统在重启后被删除,所以加入下面配置

    [XML] 纯文本查看 复制代码
    1
    2
    3
    4
    5
    6
    7
    8
    <property>
                 <name>dfs.namenode.name.dir</name>
                 <value>file:/home/aboutyun123/dfs/name</value>
           </property>
          <property>
                  <name>dfs.datanode.data.dir</name>
                  <value>file:/home/aboutyun123/dfs/data</value>
           </property>



    同时,注意权限

    <ignore_js_op> 


    ###################################



    5.伪分布模式

    1.格式化namenode

    1. hdfs namenode -format
    复制代码

    有的地方使用

    1. bin/hdfs namenode -format
    复制代码

    如果配置的环境变量直接使用hdfs namenode -format即可

    2.启动集群

    1. start-dfs.sh
    复制代码

    <ignore_js_op> 


    这时候单节点伪分布就已经安装成功了

    #####################################################
    验证[可忽略]
    输入下面

    1. http://localhost:50070/
    复制代码

    如果是在虚拟机中安装,但是在宿主主机中访问,需要输入虚拟机ip地址
    这里虚拟机ip地址是10.0.0.81

    <ignore_js_op> 

    所以,我这里是

    1. http://10.0.0.81:50070/
    复制代码



    <ignore_js_op> 


    配置到这里也是可以的,我们同样可以运行wordcount,也就是我们的mapreduce不运行在yarn上。如果想让程序运行在yarn上,继续下面配置
    #####################################################

    6.配置Yarn

    1.修改配置文件
    修改配置文件mapred-site.xml
    编辑文件etc/hadoop/mapred-site.xml,添加下面内容由于etc/hadoop中没有mapred-site.xml,所以对mapred-queues.xml.template复制一份

    1. cp mapred-site.xml.template mapred-site.xml
    复制代码

    然后编辑文件mapred-site.xml
    添加

    1. <property>
    2.         <name>mapreduce.framework.name</name>
    3.         <value>yarn</value>
    4.     </property>
    复制代码


    最后形式:
    <ignore_js_op> 


    修改配置文件yarn-site.xml

    添加如下内容:

    1.   <property>
    2.         <name>yarn.nodemanager.aux-services</name>
    3.         <value>mapreduce_shuffle</value>
    4.     </property>
    复制代码




    <ignore_js_op> 


    2.启动yarn

    1. start-yarn.sh
    复制代码


    <ignore_js_op> 

    (由于我这里已经配置了环境变来那个,所以在哪个地方都可以运行start-yarn.sh)
    如果你没有配置环境变量,则需要进入hadoop_home,执行下面命令

    1. sbin/start-yarn.sh
    复制代码


    3.验证
    启动yarn之后,输入

    1. http://localhost:8088/
    复制代码

    即可看到下面界面

    <ignore_js_op> 

  • 相关阅读:
    界面间传值
    消息通知中心
    ios外部链接或者app唤起自己的app
    iOS跳转第三方应用举例一号店和京东
    ios 传递JSON串过去 前面多了个等号
    react-native 配置 在mac 上找不到.npmrc
    webView 获取内容高度不准确的原因是因为你设置了某个属性
    WKWebView 加载本地HTML随笔
    关于attibutedText输出中文字符后的英文和数字进行分开解析的问题
    iOS 企业包碰到的问题
  • 原文地址:https://www.cnblogs.com/snowbook/p/5681312.html
Copyright © 2020-2023  润新知