伪集群与简单完全分布式集群的搭建

                                                   一、简单单机Hadoop集群(伪分布式)搭建流程

(root权限下搭建的,没有权限的授予比较简单你)

在搭建完全分布式集群时,需要先搭建伪分布集群,来检测环境变量的配置,和配置文件的正确性

1.下载 JDK 与Hadoop压缩包,将文件传入linux系统中

解压配置环境:

①首先可以配置JDK与hadopp环境:

                            在根目录下建立一个apps文件,mkdir /apps

                            用工具将安装包传递到该文件目录下

②解压安装包

输入命令:tar -zxvf  jdk-7u25-linux-x64.tar.gz

输入命令:tar -zxvf  cenos-6.5-hadoop-2.6.4.tar.gz

-解压完毕之后配置 ~/.bash_profile

    输入命令:  vi ~/.bash_profile   进入配置环境

根据自己的路径配置JDK环境与Hadoop环境

# User specific environment and startup programs
 JAVA_HOME=/test/java/jdk1.7.0_25
HADOOP_HOME=/apps/hadoop-2.6.4

PATH=$PATH:$HOME/bin:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

export PATH

在配置完环境之后保存退出(:wq)

加载一下配置的环境,使新的环境变量生效

(环境变量在/etc/profile.d/下创建对应的*.sh文件最佳,配置完成之后source /etc/profile)

输入命令:Source ~/.bash_profile

然后为Hdoop配置Java环境

vi /apps/haoop-2.6.4/etc/hadoop/hadoop-env.xml

按照自己的java路径配置 JAVA_PATH=/test/java/jdk1.7.0_25

到此部环境变量已经完全准备完毕,此时可以测试环境变量是否配置成功

检测JDK:java -version   java  javac 

检测Hadoop: hadoop version        hadoop

2、修改apps/haoop-2.6.4/etc/下的配置文件  

伪分布式只需要简单配置core-site.xml和hdfs-site.xml这两个文件

①配置:Core-site.xml

<property>
    <name>fs.defaultFS</name>
#配置服务器及端口号
    <value>hdfs://hadoop-1:8020</value>
</property>

②配置hdfs-site.xml

<property>
    <name>dfs.replication</name>   
    <value>3</value>  
</property>
<property>
#配置namenode节点的目录
    <name>dfs.namenode.name.dir</name>
    <value>/app/hadoop/dfs/name</value>
</property>
<property>
#配置datanode的目录
    <name>dfs.datanode.data.dir</name>
    <value>/app/hadoop/dfs/data</value>
</property>

 

3、在确保以上环境与配置文件完全正确后

格式化

          命令: hadoop  namenode  -format 

启动namenode节点

       输入命令:hadoop-daemon.sh  start namenode

启动datanode

       输入命令:hadoop-daemon.sh start namenode

全部启动完毕,可以用jps查看启动是否存在错误

 

hdfs namenode -format(格式化文件系统)

启动Namenode守护进程和DataNode守护进程

start-dfs.sh

此时可以使用hadoop fs -put * /      向集群传送文件

hadoop fs -ls /        查看文件

 

 

***重要******

注意:在启动namenode 与datanode时,要在完成命令之后,查看/apps/hadoop/loggs下面的对应的日志信息,查看启动是否成功过或产生了什么异常

查看hdfs根目录

         命令为: hadoop fs -ls /

上传文件到hdfs根目录

         命令:hadoop fs -put 文件 /

登陆网址http://localhost:50070 查看节点活跃状态以及上传到文件

在保证伪集群 搭建成功的条件下完成以下完全分布式集群的搭建

                                                                      二、搭建完全分布式集群流

1.根据自己电脑配置,创建机器数量,此处以5台为例

将第一台配置好的系统克隆五份,由于是是克隆的,网络配置文件相同,修改/etc/sysconfig/network-scrpts/ifcfg-eth0文件中

idaddress

然后重启网卡: service network restart

根据需求修改ip和主机名

hadoop-1  hadoop-2 hadoop-3 hadoop-4 hadoop-5

2.角色分配(根据需求对五台机器进行角色分配)

第一台作为namanode和resurcemanager资源管理节点

第2、3、4作为datanode数据节点

第5台作为secondarynamenode节点

3.准备工作(配置主机名和对应的ip)

给机器一次命名为hadoop-1 hadoop-2 hadoop-3 hadoop-4 hadoop-5

根据需求修改主机名

输入命令:vi /cd /etc/sysconfig/network   

在root用户下输入命令: hostname hadoop-*

修改hosts文件

vii /ect/hosts   

  例如:192.168.1.1 hadoop-*

4.配置无密登陆,一般系统都会自带ssh工具

首先检测ssh服务是否开启:

输入命令:service sshd status

在hoop-1机器上生成密钥

输入命令:ssh-keygen 

将密钥发送到需要无密登陆的机器中(hadoop-2 hadoop-3 hadoop-4 hadoop-5)

例如输入命令:ssh-copy-id -i 192.168.1.1 

重复上面的命令,实现1到2、3、4、5的无密登陆

因为此次搭建的伪完全分布式集群,需要修改/apps/hadoop_    /etc/hadoop/下的xml文件

5.对每台机器进行以下配置:

----------------------core-site.xml-------------------------将hadoop-1作为老大

<property>
    <name>fs.defaultFS</name>
    <value>hdfs://hadoop-1:9000</value>
</property>

---------------------------------hdfs-site.xml--------------------------配置namenode datanode 还有就是将hadoop-5作为sercondarynamenode

<configuration>
       <property>
           <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <name>dfs.namenode.name.dir</name>
            <value>/app/hadoop/dfs/name</value>
        </property>
        <property>
            <name>dfs.datanode.data.dir</name>
            <value>/app/hadoop/dfs/data</value>
            </property>
    <property>
        <name>dfs.secondary.http.address</name>
        <value>hadoop-5:50090</value>
    </property>
    <property>
        <name>dfs.namenode.checkpoint.dir</name>
        <value>/app/hadoop/dfs/namesecondary</value>
    </property>    
</configuration>

--------------------------------------mapred-site.xml-------------------------------

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
</configuration>

---------------------------------------yarn-site.xml---------------------------------

<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.resourcemanager.hostname</name>  
        <value>hadoop-1</value>
    </property>
</configuration>

-----------------------------------------hadoop-env.sh-------------为hadooppei配置java

# The java implementation to use.
export JAVA_HOME=/test/java/jdk1.7.0_25

-----------------------------------------slaves--------------------配置奴隶文件,用于启动数据节点 (datanode)                                      

    hadoop-2
    hadoop-3
    hadoop-4

完成以上配置文件的之后,检测每台机器的防火墙是否关闭,然后关闭

执行命令:service iptables stop 

首先格式化namenode 命令为: hadoop name-node -format

启动所有节点: start-all.sh

启动命令完成之后,使用命令:hadoop dfsadmin -report 查看活跃节点

在hoodoop-1机器上的浏览器中查看网址:http://localhost:80070

查看Hadoop集群的根目录的命令为:hadoop fs -ls /

上传文件命令为:hadoop fs -put 文件  /    将文件上传到根目录

4.关闭集群使用命令:stop-all.sh


版权声明:本文为qq_36055407原创文章,遵循CC 4.0 BY-SA版权协议,转载请附上原文出处链接和本声明。