美文网首页我爱编程
0320安装Hadoop集群

0320安装Hadoop集群

作者: 贵族_4e67 | 来源:发表于2018-03-20 12:26 被阅读0次

     由于一些原因,有三个基本闲置的服务器,分别是Vultr和DigitalOcean的。同学的同学正好要做简单的WordCount程序当毕设,来找我帮忙。自己对Hadoop也很感兴趣,于是就开始入坑了。

    三个主机运行的都是Ubuntu系统,这个历史遗留问题就不便更改为CentOS了。首先是建立ssh密钥登陆,自己一直用的是这种登陆方法,所以这里就不赘述了。master上生成的密钥分别传给两个slave的~/.ssh/authorized_keys ,在这里直接搬过来历史记录。

    
      206 ssh-keygen -t rsa
    
      207  cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
    
      209  cat ~/.ssh/authorized_keys
    
      211  ssh-copy-id -i ~/.ssh/id_rsa.pub root@4.3.3.2
    
      214  ssh-copy-id -i ~/.ssh/id_rsa.pub  root@16.7.0.1
    
      215  cat ~/.ssh/id_rsa.pub
    
    

    在主机的/etc/hosts为两台从机的IP设置别名为slave1 slave2。这里的原理和访问网站差不多,基本格式像这样:

    
    /etc/hosts
    
    ***.***.***.***     slave1
    
    ***.***.***.***     slave2
    
    

    访问测试再搬一下历史记录

      216  ssh slave2
    
      249  ssh slave1
    
      250  ssh slave2
    
      288  cat ~/.ssh/id_rsa.pub
    
    

    然后设置 hostname,这是在ubuntu上的修改方式。
    master为例说明

    vi /etc/hostname
    
    HOSTNAME=hadoop-master
    

    这一步没问题的话就可以安装JDK了

    安装JDK的最简单的方法应该是 sudo apt-get update ; sudo apt-get install default-jdk,但是我实际上安装的是Oracle JDK,安装命令如下:

    
    sudo add-apt-repository ppa:webupd8team/java
    
    sudo apt-get update
    
    sudo apt-get install oracle-java8-installer
    
    sudo apt install oracle-java8-set-default
    
    

    在三台机器上都安装JDK8之后,使用java -version验证一下即可


    安装Hadoop,在Google上面搜索Hadoop,进入官网,复制2.7.5版本的Binary下载链接,然后使用wget下载,比如。

    
    wget http://mirror.metrocast.net/apache/hadoop/common/hadoop-2.7.5/hadoop-2.7.5.tar.gz
    
    

    链接不久会失效,到时候自己搜一下。

    然后设置Hadoop的JAVA_HOME

    sudo nano /usr/local/hadoop/etc/hadoop/hadoop-env.sh打开环境设置文件,在JAVA_HOME的下面添加这样一条命令

    export JAVA_HOME=$(readlink -f /usr/bin/java | sed "s:bin/java::")
    就完成了

    Hadoop环境搭建
    配置hadoop-master的hadoop环境
    1、hadoop-master上 解压缩安装包及创建基本目录

    tar -xzvf hadoop-2.7.3.tar.gz -C /usr/local

    2、 配置hadoop-master的hadoop环境变量

    1)配置环境变量,修改配置文件vi /etc/profile

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    使得hadoop命令在当前终端立即生效

    source /etc/profile
    然后配置HOSRT_NAME
    这一步很重要,要不然Hadoop启动时会找不到主机
    vi /etc/sysconfig/network

    HOSTNAME=hadoop-master
    

    以下修改的文件都在/usr/local/hadoop/etc/hadoop/目录下

    core-site.xml
    <configration>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/usr/local/hadoop/tmp</value>
            <description>Abase for other temportary directories.</description>
        </property>
    
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://hadoop-master:9000</value>
        </property>
    </configration>
    
    hdfs-site.xml
    <configration>
        <property>
            <name>dfs.replication</name>
            <value>3</value>
        </property>
        <property>
            <name>dfs.name.dir</name>
            <value>/usr/local/hadoop/hdfs/name</value>
        </property>
        <property>
            <name>dfs.data.dir</name>
            <value>/usr/local/hadoop/hdfs/data</value>
        </property>
    </configration>
    
    cp marped-site.xml.template mapred-site.xml
    <configration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapred.job.tracker</name>
            <value>http://hadoop-master:9001</value>
        </property>
    </configration>
    
    yarn-site.xml
    <configration>
    <!-- Site specific YARN configration properties -->
        <property>
            <name>yarn.nademanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hastname</name>
            <value>hadoop-master</value>
        </property>
    </configration>
    

    配置masters文件 该文件指定namenode节点所在的服务器机器。删除localhost,添加namenode节点的主机名hadoop-master;不建议使用IP地址,因为IP地址可能会变化,但是主机名一般不会变化。

    vi /usr/local/hadoop/etc/hadoop/masters
    ## 内容
    hadoop-master
    

    配置slaves文件(Master主机特有)

    修改/usr/local/hadoop/etc/hadoop/slaves文件,该文件指定哪些服务器节点是datanode节点。删除locahost,添加所有datanode节点的主机名,如下所示。

    vi /usr/local/hadoop/etc/hadoop/slaves
    ## 内容
    slave1
    slave2
    slave3
    

    配置hadoop-slave的hadoop环境
    复制hadoop到hadoop-slave1节点

    scp -r /usr/local/hadoop hadoop-slave1:/usr/local/
    

    登录hadoop-slave1服务器,删除slaves内容

    rm -rf /usr/local/hadoop/etc/hadoop/slaves
    

    2)配置环境变量

    vi /etc/profile

    内容

    export HADOOP_HOME=/usr/local/hadoop
    export PATH=$PATH:$HADOOP_HOME/bin
    

    使得hadoop命令在当前终端立即生效;

    source /etc/profile
    依次配置其它slave服务

    启动集群
    1、格式化HDFS文件系统

    进入master的 hadoop目录,执行以下操作

    bin/hadoop namenode -format
    

    格式化namenode,第一次启动服务前执行的操作,以后不需要执行。

    2、然后启动hadoop:

    sbin/start-all.sh
    3、使用jps命令查看运行情况

    master 执行 jps查看运行情况

    25928 SecondaryNameNode
    25742 NameNode
    26387 Jps
    26078 ResourceManager
    #slave 执行 jps查看运行情况
    24002 NodeManager
    23899 DataNode
    24179 Jps
    

    4、命令查看Hadoop集群的状态

    通过简单的jps命令虽然可以查看HDFS文件管理系统、MapReduce服务是否启动成功,但是无法查看到Hadoop整个集群的运行状态。我们可以通过hadoop dfsadmin -report进行查看。用该命令可以快速定位出哪些节点挂掉了,HDFS的容量以及使用了多少,以及每个节点的硬盘使用情况。

    hadoop dfsadmin -report
    输出结果:

    Configured Capacity: 50108030976 (46.67 GB)
    Present Capacity: 41877471232 (39.00 GB)
    DFS Remaining: 41877385216 (39.00 GB)
    DFS Used: 86016 (84 KB)
    DFS Used%: 0.00%
    Under replicated blocks: 0
    Blocks with corrupt replicas: 0
    Missing blocks: 0
    Missing blocks (with replication factor 1): 0
    

    5、hadoop 重启

    sbin/stop-all.sh
    sbin/start-all.sh
    

    相关文章

      网友评论

        本文标题:0320安装Hadoop集群

        本文链接:https://www.haomeiwen.com/subject/fogvqftx.html