1.用户操作

新建用户,并设定该用户的管理员权限

  • $是普通管员
  • #是系统管理员
  • adduser

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_xml

  • 设定用户ROOT权限
  • gedit /etc/sudoers

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_mapreduce_02

  • 删除用户
  • user delete 用户名

文件所属用户的操作

  • sudo chown -R 用户:用户组 ()

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_xml_03

查看文件所属用户组

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_hadoop_04

  • hadoop-2.7.1文件所属

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_mapreduce_05


Hostname

  • 出于初始实验的简单性,仅仅设置一个Master,一个Slave

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_hadoop_06

  • 192.168.0.101 juedaiyuer(用户名) Master(主机名)
  • 192.168.0.102 juedaiyuer slave
  • 两个IP根据自身的实际情况即可,我虚拟机用的是桥接网络
  • 修改hostname
  • vi /etc/hostname
  • vi操作有些纠结,所以这里选择了vim
  • vim /etc/hostname

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_xml_07

  • 使用本机ip和hostname绑定

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_hadoop_08

  • 重启网络
  • sudo /etc/init.d/networking restart
    桥接模式的网络连接,IP很容易就变化了,用起来非常不方便

2.Master到Slave的SSH无密码登陆

把彼此的工钥(*.pub)放到authorized_keys里面
将Master公钥添加到远程主机Slave的 authorized_keys 文件中

  • 克隆机秘钥是一样的,所以这一块目前还没有尝试

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_完全分布式_09

  • 上述情景为在Master主机上远程登陆slave

3.配置

配置文件的时候,要注意用户名,可以根据自己的用户名,进行更改,下面的配置文件修改处,都用彩色标记,需要注意

1.hadoop-env.sh

  • 设定为java所在的目录

2.yarn-env.sh

  • 修改JAVA_HOME值

3.slaves

  • 这个文件里面保存所有slave节点

4.core-site.xml

<configuration>
       <property>
                <name>fs.defaultFS</name>
                <value>hdfs://master:8020</value>
       </property>
       <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
       <property>
               <name>hadoop.tmp.dir</name>
               <value>file:/home/juedaiyuer/tmp</value>
               <description>Abase for other temporary   directories.</description>
       </property>
        <property>
               <name>hadoop.proxyuser.juedaiyuer.hosts</name>
               <value>*</value>
       </property>
       <property>
               <name>hadoop.proxyuser.juedaiyuer.groups</name>
               <value>*</value>
       </property>
</configuration>

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_xml_10

5.hdfs-site.xml

<configuration>
       <property>
                <name>dfs.namenode.secondary.http-address</name>
               <value>master:9001</value>
       </property>
     <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/home/juedaiyuer/dfs/name</value>
       </property>
      <property>
              <name>dfs.datanode.data.dir</name>
              <value>file:/home/juedaiyuer/dfs/data</value>
       </property>
       <property>
               <name>dfs.replication</name>
               <value>3</value>
        </property>
        <property>
                 <name>dfs.webhdfs.enabled</name>
                  <value>true</value>
         </property>
</configuration>

hadoop完全分布式中从节点只有一个进程为什么 hadoop完全分布式总结_hadoop_11

6.mapred-site.xml

<configuration>
          <property>                                                                  <name>mapreduce.framework.name</name>
                <value>yarn</value>
           </property>
          <property>
                  <name>mapreduce.jobhistory.address</name>
                  <value>master:10020</value>
          </property>
          <property>
                <name>mapreduce.jobhistory.webapp.address</name>
                <value>master:19888</value>
       </property>
</configuration>

7.yarn-site.xml

<configuration>
        <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
        </property>
        <property>                                                                
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
               <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
               <name>yarn.resourcemanager.address</name>
               <value>master:8032</value>
       </property>
       <property>
               <name>yarn.resourcemanager.scheduler.address</name>
               <value>master:8030</value>
       </property>
       <property>
            <name>yarn.resourcemanager.resource-tracker.address</name>
             <value>master:8031</value>
      </property>
      <property>
              <name>yarn.resourcemanager.admin.address</name>
               <value>master:8033</value>
       </property>
       <property>
               <name>yarn.resourcemanager.webapp.address</name>
               <value>master:8088</value>
       </property>
</configuration>

4.复制到其它节点

不同的Linux之间copy文件常用有3种方法

  1. ftp,也就是其中一台Linux安装ftp Server,这样可以在另外一台机器使用ftp的client程序来进行文件的copy
  2. samba服务,类似Windows文件copy 的方式来操作,比较简洁方便
  3. scp命令来进行文件复制
scp [OPTIONS] file_source file_target

从本地复制到远程

节点之间传递数据