Hadoop伪分布式模型

# java -version
# vim /etc/profile.d/java.sh
  export JAVA_HOME=/usr
# yum install java-1.8.0-openjdk-devel
# mkdir /bdapps
# tar xf hadoop-2.7.4.tar.gz -C /bdapps/
# cd /bdapps
# ln -sv hadoop-2.7.4 hadoop
# cd hadoop/
# vim /etc/profile.d/hadoop.sh                 编辑环境配置文件
     export HADOOP_PREFIX=/bdapps/hadoop
     export PATH=$PATH:${HADOOP_PREFIX}/bin:${HADOOP_PREFIX}/sbin
     export HADOOP_YARN_HOME=${HADOOP_PREFIX}
     export HADOOP_MAPPERD_HOME=${HADOOP_PREFIX}
     export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
     export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
# ./etc/profile.d/hadoop.sh
# ls
    bin/     存放二进制程序文件
    include/     头文件目录
    lib/      库文件目录
    sbin/     脚本
    etc/hadoop    .sh格式文件是配置hadoop运行环境 .xml结尾的文件实配置文件
# groupadd hadoop                创建用户和组
# useradd -g hadoop yarn 
# useradd -g hadoop hdfs
# useradd -g hadoop mapred

# mkdir -pv /data/hadoop/hdfs{nn,snn,dn}           创建数据库
# chown -R hdfs:hadoop /data/hadoop/hdfs
# ll
# mkdir logs                  创建日志目录
# chown -R yarn:hadoop logs
# chown -R yarn:hadoop ./*

配置hadoop
# cd etc/hadoop
# vim core-site.xml        包含了NameNode的一些信息
   <configuration>
        <property>
             <name>fs.defaultFS</name>          
             <value>hdfs://localhost:8020</value>     
             <final>true</final>
        </property>
   </configuration>

# vim hdfs-site.xml     配置HDFS相关的属性
 <configuration>
 <property>
 <name>dfs.replication</name>
 <value>1<value>
 </propery>
 <property>
 <name>dfs.namenode.name.dir</name>
 <value>file:///data/hadoop/hdfs/nn</value>
 </propery>
 <property>
 <name>dfs.datanode.data.dir</name>
 <value>file:///data/hadoop/hdfs/dn</value>
 </propery>
 <property>
 <name>fs.checkpoint.dir</name>
 <value>file:///data/hadoop/hdfs/snn<value>
 </propery>
 <property>
 <name>fs.checkpoint.dir</name>
 <value>file:///data/hadoop/hdfs/snn<value>
 </propery>
 </configuration>

注意,如果需要其他用户对hdfs有写入权限,还需要添加
 <property>
     <name>dfs.premissions</name>       不做严格权限限制
     <value>false<value>
 </propery>

# cp mapred-site.xml.template mapred-site.xml
# vim mapred-site.xml    定义MapReduce
<configuration>
  <property>
    <name>mapred.framwork.name</name>
    <value>yarn</value>
  </property>
</configuration>

# vim yarn-site.xml
<configuration>
  <property>
    <name>yarn.resourcemanager.address</name>
    <value>localhost:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduleraddress</name> #调度器地址
    <value>localhost:8030</value>
  </property> 
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name> #资源追踪器地址
    <value>localhost:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name> #管理地址
    <value>localhost:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name> 
    <value>localhost:8088</value>
  </property>
    <property>
    <name>yarn.nodemanager.aux-service</name> #辅助服务
    <value>mapreduce_shuffle</value>
  </property> 
  <property>
    <name>yarn.nodemanager.auxservice.mapreduce_shuffle.class</name> #shuffle类
    <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  </property>
    <property>
    <name>yarn.resourcemanager.scheduler.class</name> 
    <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value>
  </property>  
</configuration>

格式化HDFS

以hadoop用户运行如下命令

# su - hdfs
$ hadoop namenode -format

其中的“Storage directory /hadoop/temp/dfs/name has been successfully formatted”一行信息表明对应的存储已经格式化成功。

启动hadoop

$ hadoop-daemon.sh start namenode

$ jps                   查看正在运行的Hadoop进程

$ hadoop-daemon.sh start secondarynamenode   启动辅助名称节点
$ hadoop-daemon.sh start datanode    
$ hdfs dfs -ls /    查看目录
$ hdfs dfs -mkdir /test
    drwxr-xr-x - hdfs supergroup             
$ hdfs -dfs -put /etc/fstab /test/fstab
$ hdfs dfs -lsR /   查看是否上传成功
$ hdfs dfs -cat /test/fstab     (对应cat /data/hadoop/dfs/dn/current/...)
$ su -yarn
$ yarn-daemon.sh start resourcemanager
$ jps
$ yarn-daemon.sh start nodemanager

HDFS和YARN ResourceManager各自提供了一个Web接口,通过这些接口可检查HDFS集群以及YARN集群的相关状态信息

HDFS-NameNode     http://<NameNodeHost>:50070

YARN-ResourceManager     http://<ResourceManagerHost>:8088

运行测试程序

hadoop-YARN自带了许多样例程序,它们位于hadoop安装路径下/share/hadoop/mapreduce目录中,其中hadoop-mapreduce-example可做mapreduce程序测试

# su - hdfs
$ yarn jar /bdapps/hadoop//share/hadoop/mapreduce/hadoop-mapreduce-example-2.7.4.jar


 

原创文章,作者:nene,如若转载,请注明出处:http://www.178linux.com/89608

(0)
nenenene
上一篇 2017-12-08
下一篇 2017-12-08

相关推荐

  • N26 第四周博客作业

    1、复制/etc/skel目录为/home/tuser1,要求/home/tuser1及其内部文件的属组和其它用户均没有任何访问权限。 演示:     [root@47d523181d25 /]# cp -r /etc/skel/ /home/tuser1     [root@47d523…

    Linux干货 2017-02-25
  • 最简单的Linux系统——更加深入了解Linux启动过程

    自制一个最简单的Linux: 1、有一个新的磁盘,并创建分区 2、挂载分区,创建目录 3、拷贝内核文件 4、创建MBR和grub.conf文件 5、创建/etc/fstab文件,设置开机自动挂载 6、拷贝一个bash程序 7、卸载分区,以新磁盘重启系统

    Linux干货 2016-09-11
  • 交换分区创建和磁盘配额的使用

    一、交换分区的建立与启用:     交换分区是作为内存的一个辅助分区,在内存吃紧时,交换分区会作为内存的一部分使用,但是效率比起内存来说会很低下,在一个硬盘分区时最好使用柱面较小的柱面作为交换分区,因为在机械硬盘转速一定的情况下,越靠近外面的磁道,线速度越大,读取到的扇区越多,一定程度上有利于提高性能   &…

    Linux干货 2016-08-29
  • 用户和组的四大配置文件简介

    一. 用户的由来 linux系统拥有的就是资源,最重要的事就是对资源的分配,资源分给谁?在linux上资源的访问是对用户赋予不同的权限实现,也就是说能访问资源的单位是用户。那用户在获取资源之前要实现证明自己是本用户,这个过程称为认证,他通过密码和用户名实现。在用户登录时会将用户输入的用户名和密码进行校验,校验过程就是将输入的用户名和密码与linux系统上记录…

    Linux干货 2016-10-24
  • sed使用详解

    vim  ,sed 1.首先,sed作为一个流编译器,它是对文本进行处理的,它和grep虽然都是对文本进行处理的,但是sed的处理机制和grep还是有很大的不同的,grep:文本过滤(模式:pattern)工具;grep, egrep, fgrep(不支持正则表达式搜索)sed:stream editor,文本编辑工具;awk:Linux上的实现g…

    Linux干货 2016-08-11
  • Centos启动过程

    启动第一步--加载BIOS 当你打开计算机电源,计算机会首先加载BIOS信息,BIOS信息是如此的重要,以至于计算机必须在最开始就找到它。这是因为BIOS中包含了CPU的相关信息、设备启动顺序信息、硬盘信息、内存信息、时钟信息、PnP特性等等。在此之后,计算机心里就有谱了,知道应该去读取哪个硬件设备了。 启动第二步--读取MBR 众所周知,硬盘上第0磁道第一…

    Linux干货 2017-03-30