zoukankan      html  css  js  c++  java
  • Hadoop完全分布式集群搭建

    Hadoop完全分布式集群搭建

    使用四台Linux机器搭建集群规划:

    192.168.230.10  192.168.230.11      192.168.230.12      192.168.230.14
    
    NameNode         				     				  
    
    		         DataNode            DataNode             DataNode
    		         
    		         										SecondaryNameNode
    

    1、检查防火墙是否关闭、/etc/hosts主机名与ip是否映射、能否联网、是否安装ssh、集群的时间是否一致(通过时间生成block id)

    在node1/192.168.230.10上进行操作:

    1.1、更改/etc/目录下的hosts文件,添加集群主机和ip地址的映射

    [root@node1 ~]# vi /etc/hosts
    192.168.230.10 node1
    192.168.230.11 node2
    192.168.230.12 node3
    192.168.230.14 node5
    

    1.2、将node1的/etc/目录下的hosts文件发送给node2、node3、node5的/etc/目录下,覆盖原hosts文件

    [root@node1 ~]# scp /etc/hosts root@node2:/etc/
    [root@node1 ~]# scp /etc/hosts root@node3:/etc/
    [root@node1 ~]# scp /etc/hosts root@node5:/etc/
    

    1.3、设置ssh免秘钥登录

    操作四台机器node1、node2、node3、node5分别生成秘钥目录
    
    [root@node1 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    [root@node2 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    [root@node3 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    [root@node5 ~]# ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
    

    1.3.1、在node1上进行免密码登录就用的是私钥,登录别的机器比如node2、node3、node5则用的是公钥

    把公钥文件放入认证文件中去
    [root@node1 ~]$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
    

    [root@node1 ~]$ ls -a
    .  ..  .bash_history  .bash_logout  .bash_profile  .bashrc  .ssh
    第一次登录需要密码
    ssh node1
    
    选择node1作为执行脚本的机器
    
    将公钥认证文件放到node2中去
    ssh node2
    

    1.3.2、将node1的公钥发送给node2、node3、node5的~/opt/目录中

    [root@node1 ~]# scp ~/.ssh/id_dsa.pub root@node2:~/opt/
    root@node2's password: 
    id_dsa.pub                                                                                          100%  600     0.6KB/s   00:00    
    [root@node1 ~]# scp ~/.ssh/id_dsa.pub root@node3:~/opt/
    root@node3's password: 
    Permission denied, please try again.
    root@node3's password: 
    id_dsa.pub                                                                                          100%  600     0.6KB/s   00:00    
    [root@node1 ~]# scp ~/.ssh/id_dsa.pub root@node5:~/opt/
    root@node5's password: 
    id_dsa.pub       
    

    1.3.3、node2、node3、node5将node1的公钥放到认证文件中去

    [root@node2 ~]$ cat ~/opt/id_dsa.pub >> ~/.ssh/authorized_keys
    [root@node3 ~]$ cat ~/opt/id_dsa.pub >> ~/.ssh/authorized_keys
    [root@node5 ~]$ cat ~/opt/id_dsa.pub >> ~/.ssh/authorized_keys
    

    1.3.4、node1免秘钥登录node2、node3、node5

    [root@node1 ~]# ssh node2
    [root@node1 ~]# ssh node3
    [root@node1 ~]# ssh node5
    

    1.4、同步集群时间

    [root@node1 ~]# yum install ntpdate
    

    [root@node1 ~]# ntpdate -u ntp.sjtu.edu.cn
    

    1.5、在node1、node2、node3、node5上检查是否有安装jdk

    [root@node1 ~]# javac -version
    javac 1.7.0_79
    [root@node1 ~]# echo $JAVA_HOME
    /usr/java/jdk1.7.0_79
    

    1.6、上传Hadoop压缩文件到node1主机指定目录上

    1.7、解压hadoop压缩文件

    2、在node1(NameNode)上配置/opt/modules/hadoop-2.5.1/etc/hadoop/目录下的hadoop-env.sh文件

    export JAVA_HOME=/usr/java/jdk1.7.0_79
    export HADOOP_PREFIX=/opt/modules/hadoop-2.5.1
    

    3、在node1(NameNode)上配置/opt/modules/hadoop-2.5.1/etc/hadoop/目录下的core-site.xml文件

    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://node1:9000</value>
        </property>
        <!-- 指定hadoop的临时目录 -->
        <property>
            <name>hadoop.tmp.dir</name>
            <value>/opt/modules/hadoop-2.5.1</value>
        </property>
    </configuration>
    

    4、在node1(NameNode)上配置/opt/modules/hadoop-2.5.1/etc/hadoop/目录下的hdfs-site.sh文件

    <configuration>
    	<property>
    	  <name>dfs.namenode.secondary.http-address</name>
    	  <value>node5:50090</value>
    	</property>
    	<property>
    	  <name>dfs.namenode.secondary.https-address</name>
    	  <value>node5:50091</value>
    	</property>
    </configuration>
    

    5、在node1(NameNode)上配置/opt/modules/hadoop-2.5.1/etc/hadoop/目录下的slaves文件

    slaves中配的是datanode的主机名
    
    node2
    node3
    node5
    

    6、在node1(NameNode)上配置/opt/modules/hadoop-2.5.1/etc/hadoop/目录下的masters文件

    masters中配的是secondarynamenode的主机名
    
    node5
    

    6、配置hadoop的环境变量

    [root@node1 ~]# vi ~/.bash_profile
     
    export HADOOP_HOME=/opt/modules/hadoop-2.5.1
    export PATH=$PATH:$HADOOP_HOME/bin
    

    6.1、将~目录下的.bash_profile配置环境变量的文件发送给node2、node3、node5

    [root@node1 ~]# scp ~/.bash_profile root@node2:~/
    [root@node1 ~]# scp ~/.bash_profile root@node3:~/
    [root@node1 ~]# scp ~/.bash_profile root@node5:~/
    
    使配置文件生效
    [root@node1 ~]# source ~/.bash_profile
    [root@node2 ~]# source ~/.bash_profile
    [root@node3 ~]# source ~/.bash_profile
    [root@node5 ~]# source ~/.bash_profile
    

    7、将node1主机/opt/modules/hadoop-2.5.1目录下的内容发送给node2、node3、node5主机的/opt/modules/hadoop-2.5.1目录下

    [root@node1 ~]# scp -r /opt/modules/hadoop-2.5.1 root@node2:/opt/modules/hadoop-2.5.1
    [root@node1 ~]# scp -r /opt/modules/hadoop-2.5.1 root@node3:/opt/modules/hadoop-2.5.1
    [root@node1 ~]# scp -r /opt/modules/hadoop-2.5.1 root@node5:/opt/modules/hadoop-2.5.1
    

    8、在node1[192.168.230.10]主机下初始化namenode

    [root@node1 hadoop-2.5.1]# ./bin/hdfs namenode -format
    

    9、启动HDFS

    [root@node1 hadoop-2.5.1]# ./sbin/start-dfs.sh
    

    10、访问namenode的web监控

    node1:50070
    在地址栏访问NameNode的WebUI:   
    http://192.168.230.10:50070/
    

    11、访问secondarynamenode的web监控

    node5:50090 
    在地址栏访问SecondaryNameNode的WebUI:   
    http://192.168.230.14:50090/
    

    hdfs上传文件
    bin/hdfs -mkdir /usr
    bin/hdfs -put XXXX /usr
    bin/hdfs -ls XXXX /usr
    

    12、查看日志

    查找.log结尾的文件

    cd /opt/modules/hadoop-2.5.1/log
    head -10 
    

    13、看端口

    netstat -ntpl |grep java
    

    HDFS命令:

    在hadoop-2.5.1目录下
    hdfs
    hdfs admin
    hdfs dfs

  • 相关阅读:
    代码—五天前是星期几
    随手笔记-日期
    建造曲线记忆表格
    2017-5-10随手记
    java-web——第一课 tomcat
    复习
    Leetcode 24. Swap Nodes in Pairs(详细图解一看就会)
    这可能是最详细的解析HTTP走私攻击的文章
    使用grub2引导进入Linux或Window系统
    ACM集训第一次积分赛赛前复习+day4
  • 原文地址:https://www.cnblogs.com/SparseMatrix/p/5255537.html
Copyright © 2011-2022 走看看