虚拟机伪分布式安装hadoop的配置


1. java -> jdk-7u67-linux-x64.tar.gz
2. hadoop ->  hadoop-2.5.0.tar.gz
3. IP/host -> 192.168.47.100/bigdata.001.com
4. CentOS -> 6.7
  • 设置IP。 

 虚拟机 -> 编辑 -> 虚拟网络编辑器。

  1.    虚拟机必须NAT模式。在虚拟机设置界面去设置。
  2.   本虚拟机的IP的网段,本虚拟机可以设置本IP网段的任意地址。 192.168.47.XXX(000, 2这两个地址不可以)
         

    3.  /etc/sysconfig/network-scripts/ifcfg-XXX 在该文件中设置IP地址
          

  • hostname的配置
        1. 在/etc/hosts 添加本机的IP与对应的域名
         
         
         2. 配置HOSTNAME
          
        
       3. 重启,并将 192.168.47.105  bigdata.001.com
            
    
          4. 可以使用 ping 命令来 ping 通虚拟机与实体机。

  •    环境配置 
           
禁用selinux
    vi /etc/sysconfig/selinux
    SELINUX=disabled

关闭防火墙
   看状态service iptables status
   设置关闭service iptables stop
   自启关闭chkconfig iptables off

  • 安装Oracle的JDK
查看自带的JDK
      rpm -qa | grep java
卸载自带的JDK
      rpm -e --nodeps 卸载内容(卸载多文件使用空格)

解压JDK
     tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/

配置java环境
     vi /etc/profile

    ##JAVA_HOME
    export JAVA_HOME=/opt/moduels/jdk1.7.0_67
    export PATH=$JAVA_HOME/bin:$PATH

    source /etc/profile

    java -version

  • Hadoop配置 --- HDFS
解压Hadoop
    tar -zxf hadoop-2.5.0.tar.gz -C /opt/moduels/

可清理文档: hadoop-2.5.0/share/doc目录

确保环境正确;
    路径:/opt/moduels/hadoop-2.5.0
    命令:bin/hadoop


Hadoop指定的java安装路径
    etc/hadoop/hadoop-env.sh
    //虽然官方文档没有写,但是同目录下mapred-env.sh和yarn-env.sh也做相同修改
    export JAVA_HOME=/opt/moduels/jdk1.7.0_67

Hadoop三种运行模式
     本地单机模式:使用本地文件系统
     伪分布式模式:HDFS文件系统
     完全分布式模式:HDFS文件系统(真实集群)

修改 etc/hadoop/core-site.xml
      //默认文件系统访问入口,1.x系列端口号为9000
      //hadoop.tmp.dir为hadoop系统生成文件的临时目录

     <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://bigdata.001.com:8020</value><!--可以用IP来代替主机名-->
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/moduels/hadoop-2.5.0/data/tmp</value>
        </property>
     </configuration>


修改 hdfs-site.xml
     //修改副本数量
    <configuration>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
    </configuration>

修改slaves, 配置本机的主机名
    //从节点机器位置主机名
    bigdata.001.com

格式化namenode
    命令:bin/hdfs namenode -format
    查看结果:data/tmp文件夹生成文件
     //只能格式化一次,如果有需求,将tmp文件夹下内容删除再格式化  
     //多次格式化会导致集群ID不一致,手动修改集群ID也可以修复多次格式化问题
     可以通过下列两个路径下的文件进行对比
     /opt/app/hadoop-2.5.0/data/tmp/dfs/data/current
     /opt/moduels/hadoop-2.5.0/data/tmp/dfs/name/current


启动 namenode和datanode
    命令:
          sbin/hadoop-daemon.sh start namenode 
          sbin/hadoop-daemon.sh start datanode
    验证:
          使用jps查看

浏览器界面
     http://bigdata.001.com:50070/
     http://192.168.47.105:50070/



使用命令
     /user/root 是hadoop 内部创建的一个根目录地址,可以在浏览器上看到
     创建: bin/hdfs dfs -mkdir -p /user/root/lee
     上传: bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
     读取: bin/hdfs dfs -text /user/root/lee/core-site.xml
     下载: bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml 

启动 SecondaryNameNode
    //文件操作记录会进行存储为编辑日志edits文件
    //namenode格式化之后生成镜像文件,namenode启动时会读取镜像文件
    //SecondaryNameNode用于合并这两个文件,减少namenode启动时间
    文件地址:hadoop-2.5.0/data/tmp/dfs/name/current
    流程:SecondaryNameNode读取两种文件 -> 合并为fsimage文件 -> 生成新的edits文件 
    
    修改hdfs-site.xml文件,指定secondarynamenode机器位置和交互端口号:50090
       <property>
            <name>dfs.namenode.secondary.http-address</name>
            <value>192.168.47.105:50090</value>
        </property>
    启动:sbin/hadoop-daemon.sh start secondarynamenode
    检验:jps
    外部访问界面:http://lee.cniao5.com:50090
    //无法防止数据丢失,后续会介绍

  • Hadoop配置——YARN与MapReduce
修改mapred-site.xml.template //.template表示不生效
    删除.template
    mv mapred-site.xml.template mapred-site.xml

修改mapred-site.xml
    //使MapReduce运行YARN上面
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>



修改yarn-site.xml
    //MapReduce运行服务
    <configuration>
        <!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
    </configuration>

    //resourcemanager默认为启动的机器
    //伪分布式可以不进行配置,配置一般使用主机名
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.47.105</value>
    </property>

启动YARN
    命令:
    sbin/yarn-daemon.sh start resourcemanager
    sbin/yarn-daemon.sh start nodemanager 
    //MapReduce不需要启动
    //使用jps查看

外部管理界面
    192.168.47.105:8088

MapReduce历史服务器
    修改mapred-site.xml
        //内部交互地址
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>192.168.47.105:10020</value>
        </property>
        //外部交互地址
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>192.168.47.105:19888</value>
        </property>
    启动:sbin/mr-jobhistory-daemon.sh start historyserver
    检验:jps
    //历史服务器需要重启HDFS与YARN

  • 检验
使用单词统计进行检验
      创建input文件夹  bin/hdfs dfs -mkdir -p mapreduce/input
      上传统计文件    bin/hdfs dfs -put /opt/datas/file.input /user/root/mapreduce/input
 
//输出目录不需要提前存在,任务运行完自动创建,防止任务结果覆盖

//在yarn运行job时候都必须要打jar包

  单词统计命令   
      bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output

 查看结果
   //_SUCCESS表示成功 结果在part-r-00000
   bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000

  • 常见问题
集群ID不一致
   删除data/tmp,重新格式化

进程启动失败
  这个问题需要分析log,log位置/logs

尽量用IP来代替主机名

  • 使用到的命令
ervice iptables stop
chkconfig iptables off
rpm -qa | grep java
rpm -e --nodeps
tar -zxf jdk-7u67-linux-x64.tar.gz -C /opt/moduels/
sbin/hadoop-daemon.sh start namenode 
sbin/hadoop-daemon.sh start datanode
bin/hdfs dfs -mkdir -p /user/root/lee
bin/hdfs dfs -put etc/hadoop/core-site.xml /user/root/lee
bin/hdfs dfs -text /user/root/lee/core-site.xml
bin/hdfs dfs -get /user/root/lee/core-site.xml /home/cniao/core-site.xml
sbin/hadoop-daemon.sh start secondarynamenode
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
sbin/mr-jobhistory-daemon.sh start historyserver
bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.0.jar wordcount /user/root/mapreduce/input /user/root/mapreduce/output
bin/hdfs dfs -text /user/root/mapreduce/output/part-r-00000















免责声明!

本站转载的文章为个人学习借鉴使用,本站对版权不负任何法律责任。如果侵犯了您的隐私权益,请联系本站邮箱yoyou2525@163.com删除。



 
粤ICP备18138465号  © 2018-2025 CODEPRJ.COM