首页 > 代码库 > Hadoop之——分布式集群安装过程简化版

Hadoop之——分布式集群安装过程简化版

转载请注明出处:http://blog.csdn.net/l1028386804/article/details/46352315

1.hadoop的分布式安装过程

    1.1 分布结构   

                    主节点(1个,是hadoop0):NameNode、JobTracker、SecondaryNameNode

                    从节点(2个,是hadoop1、hadoop2):DataNode、TaskTracker

                   主机名映射ip: vi /etc/sysconfig/network   ip地址=主机名  比如 192.168.106.130=hadoop0

    1.2 各节点又一次产生ssh加密文件

         ssh-keygen -t rsa    一路回车

         进入/root/.ssh文件夹  cat id_rsa.pub >> authorized_keys

    1.3 编辑各个节点的/etc/hosts,在该文件里含有全部节点的ip与hostname的映射信息

    1.4 两两节点之间的SSH免password登陆

            ssh-copy-id -i  hadoop1      把公钥复制到hadoop1主机
            scp /root/.ssh/authorized_keys   hadoop1:/root/.ssh/    把authorized.keys文件复制到hadoop1主机下

    1.5 把hadoop0的hadoop文件夹下的logs和tmp删除

    1.6 把hadoop0中的jdk、hadoop目录拷贝到hadoop1和hadoop2节点

            scp  -r /usr/local/jdk   hadoop1:/usr/local/

    1.7 把hadoop0的/etc/profile拷贝到hadoop1和hadoop2节点,在目标节点中运行source  /etc/profile

    1.8 编辑hadoop0的配置文件slaves,改为从节点的hostname。各自是hadoop1和hadoop2,编辑hadoop1,hadoop2的配置文件masters,改为主节点的hostname。即hadoop0。注意:masters文件中配置的是secondarynamenode所在的主机名

    1.9 格式化,在hadoop0节点运行hadoop namenode -format

    1.10 启动,在hadoop0节点运行start-all.sh

   改动hadoop配置文件

    1.hadoop-env.sh

export JAVA_HOME=/usr/local/jdk/

    2.core-site.xml

<configuration>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://hadoop0:9000</value>
        <description>change your own hostname</description>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop/tmp</value>
    </property>  
</configuration>

3.hdfs-site.xml

<configuration>
    <property>
        <name>dfs.replication</name>
        <value>1</value>
    </property>
    <property>
        <name>dfs.permissions</name>
        <value>false</value>
    </property>
</configuration>

4.mapred-site.xml

<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>hadoop0:9001</value>
        <description>change your own hostname</description>
    </property>
</configuration>

    ****注意:对于配置文件core-site.xml和mapred-site.xml在全部节点中都是同样的内容。

         core-site.xml主要是配置namenode,mapred-site.xml主要是配置jobtracker,而namenode和jobtracker主要是分配到一台主机上,所以配置文件core-site.xml和mapred-site.xml在全部节点中都是同样的内容。

2.动态的添加一个hadoop节点

    2.1 配置新节点的环境

    2.2 把新节点的hostname配置到主节点的slaves文件里

    2.3 在新节点,启动进程

            hadoop-daemon.sh start datanode
            hadoop-daemon.sh start tasktracker

    2.4 在主节点运行脚本 hadoop dfsadmin -refreshNodes

3.动态的下架一个hadoop节点

    3.1、在hadoop0上改动conf/hdfs-site.xml文件

         <property>
           <name>dfs.hosts.exclude</name>
          <value>/usr/local/hadoop/conf/excludes</value>
         </property>

    3.2、确定要下架的机器

         dfs.hosts.exclude定义的文件内容为,每一个须要下线的机器,一行一个。

    3.3、强制又一次载入配置

             #hadoopdfsadmin  -refreshNodes

    3.4、关闭节点

             hadoopdfsadmin -report
        能够查看到如今集群上连接的节点
        正在运行Decommission,会显示:
             DecommissionStatus : Decommission in progress   
        运行完成后,会显示:
             DecommissionStatus : Decommissioned

    3.5、再次编辑excludes文件

             一旦完毕了机器下架,它们就能够从excludes文件移除了
        登录要下架的机器,会发现DataNode进程没有了,可是TaskTracker依旧存在,须要手工处理一下
    

Hadoop之——分布式集群安装过程简化版