首页 > 技术文章 > Hadoop完全分布式搭建全过程

zmanzi 2019-04-30 19:05 原文

本次操作共4台虚拟机(node211,node212,node213,node214),node211为NameNode,其余3台为DataNode,SecondaryNamenode为node212

一、角色资源对应分配

       NN   DN    SNN  

node211:   *

node212:      *    *

node213:      *

node214:      *

二、基础设施配置(node211-node214)

  网络:IP      --》/etc/sysconfig/network-scripts/ifcfg-eth0

     hosts    --》/etc/hosts

     hostname   --》/etc/sysconfig/network

 

 

 

  ssh配置(node211):

cd ~/.ssh                   
            --如果此目录不存在:ssh localhost,然后再exit退出

ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa   
            --生成的密钥对:id_rsa和id_rsa.pub。默认存储在"/home/hadoop/.ssh"文件夹下

cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys 
            --把id_rsa.pub追加到授权的key里面去            

 

  node211:发送node211公钥到其他主机对应目录

cd ~/.ssh
scp ./id_dsa.pub  root@node212:`pwd`/node211.pub
scp ./id_dsa.pub  root@node213:`pwd`/node211.pub
scp ./id_dsa.pub  root@node214:`pwd`/node211.pub

  node212-node214:  

cd ~/.ssh
cat node211.pub >> authorized_keys

 

  jdk配置(node211-node214):    

rpm -i jdk-7u67-linux-x64.rpm

export JAVA_HOME=/usr/java/default export PATH=$PATH:$JAVA_HOME/bin
source /etc/profile

 

 三、应用搭建

  文件解压部署(node211):

tar xf hadoop-2.6.5.tar.gz                              --解压Hadoop
mkdir -p /opt/manzi                                  --创建文件夹
mv  ~/hadoop/  /opt/manzi/                              --文件拷贝
vi /etc/profile                                     --配置Hadoop环境变量
export JAVA_HOME=/usr/java/default                         
export HADOOP_HOME=/opt/manzi/hadoop
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 

四、应用配置(node211)

    文件目录

cd $HADOOP_HOME/etc/hadoop          --hadoop配置文件目录

     vi hadoop-env.sh    

export JAVA_HOME=/usr/java/default      --修改jdk环境变量为静态路径(原写法${JAVA_HOME取不到值})

      vi core-site.xml              --NameNode配置文件
                          

<!--决定NameNode在哪里启动-->
<property>
        <name>fs.defaultFS</name>
         <value>hdfs://node211:9000</value>
</property>
                          
<property>
        <name>hadoop.tmp.dir</name>
        <value>/var/manzi/hadoop/local</value>
</property>           

    vi hdfs-site.xml              --hdfs配置文件
                          

//副本数量为2个
<property>
        <name>dfs.replication</name>
        <value>2</value>
</property>    
                          
<property>
         <name>dfs.namenode.secondary.http-address</name>
         <value>node212:50090</value>
</property>          

     vi slaves                --DataNode配置文件
                               

node212
node213
node214

     将配置完毕的Hadoop拷贝到其他主机

cd /opt                                          --将Hadoop拷贝到其他主机
  scp -r ./manzi/ node212:`pwd`
  scp -r ./manzi/ node213:`pwd`
  scp -r ./manzi/ node214:`pwd`    
  scp  /etc/profile  node212:/etc                          --拷贝profile文件到其他主机
  scp  /etc/profile  node213:/etc
  scp  /etc/profile  node214:/etc    

 五、启动程序

到此为止,Hadoop配置完毕,启动程序

  1、NameNode格式化(node211)

hdfs  namenode -format

  启动成功后 ,NameNode配置文件对应目录会有相应name文件夹及生成新的fsimage及edits文件

 

 

  2、启动程序hdfs(node211)

start-dfs.sh

 运行到此步骤,web页面能查看到文件系统及节点情况,启动日志也可以看出是否启动成功

 

 六、测试

 在user文件夹下添加root用户文件夹

hdfs dfs -mkdir -p /user/root

 添加数据测试,此处为方便查看block数量,设置block大小为1M

hdfs dfs -D dfs.blocksize=1048576 -put file.txt /user/root

 web页面查看数据

 

推荐阅读