美文网首页Big Data我爱编程
hadoop-2.7.4集群的安装配置

hadoop-2.7.4集群的安装配置

作者: 盗梦者_56f2 | 来源:发表于2017-11-07 11:44 被阅读237次

    hadoop集群的安装配置

    简介

    Apache™Hadoop®项目是一个可靠的,可扩展的分布式计算的开源软件。

    Apache Hadoop软件库是一个框架,允许使用简单的编程模型跨计算机群集分布式处理大型数据集。 它旨在从单台服务器扩展到数千台机器,每台机器提供本地计算和存储。 该库本身不是依靠硬件来提供高可用性,而是设计用于在应用层检测和处理故障,从而在一组计算机之上提供高可用性服务,每个计算机都可能出现故障。

    该项目包括这些模块:

    • Hadoop Common:支持其他Hadoop模块的常用实用程序
    • Hadoop Distributed File System (HDFS™):提供对应用程序数据的高吞吐量访问的分布式文件系统。
    • Hadoop YARN:作业调度和集群资源管理的框架。
    • Hadoop MapReduce:一个用于并行处理大型数据集的基于YARN的系统。

    安装配置

    1. 安装jdk

    集群中的每台服务器都需要安装jdk,步骤如下:
    cd /opt
    wget http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
    tar -zxvf jdk-8u151-linux-x64.tar.gz
    sudo vim /etc/profile
    接下来,在文件最后面添加jdk路径,并保存退出:
    #java
    export JAVA_HOME=/opt/jdk1.8.0_144
    export JRE_HOME=/opt/jdk1.8.0_144/jre
    export CLASSPATH=$JAVA_HOME/lib
    export PATH=:$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
    最后是文件生效,执行命令:
    source /etc/profile
    查看版本,命令:
    java -version
    

    2. 修改主机名及ip映射

    集群中的每台服务器都需要配置,步骤如下:
    vim /etc/hosts
    打开文件后,添加或修改相应的映射(ip 主机名),例如如下:
    10.24.106.80 spark.datanode1
    10.24.106.81 spark.datanode2
    10.24.106.82 spark.namenode
    vim /etc/hostname
    打开文件后,修改主机名,和/etc/hosts文件中相同。
    最后需要重启使其生效
    

    3. 创建用户

    集群中的每台服务器都需要创建,步骤如下:
    命令如下:    
    useradd hadoop #创建用户名为hadoop的用户
    passwd hadoop #为hadoop用户设置密码
    接下来,为hadoop用户赋予root权限,命令:
    vim /etc/sudoers
    在该文件中加入下面一行内容,并保存退出(修改文件内容需要更改文件的权限,保存退出之后,需要把权限再次更改回去):
    hadoop    ALL=(ALL:ALL)       ALL
    最后使用hadoop用户登录系统
    

    4. 主机之间通过ssh无密钥登录

    集群中的每台服务器都需要配置,步骤如下:
    cd /home
    下边命令用于生成公钥(id_rsa.pub)和私钥(id_rsa),并键入下面命令后一直回车就可以了,密钥在/home/.ssh目录下。
    ssh-keygen -t rsa -P ''
    cd .ssh
    接下来把所有服务器生成的公钥全部追加进authorized_keys文件中,意思就是这个文件中有集群中所有服务器的公钥,该文件在.ssh目录下,如没有该文件可以自己创建一个。
    最后把拥有集群中所有服务器的公钥的这个文件通过scp命令远程复制到每台服务器中,相当于每台服务器的authorized_keys文件中内容相同。
    现在可以通过ssh免密码来远程登录其他服务器了(第一次需要,后面在登陆就不需要了),例如:
    ssh 10.24.106.80
    

    5. 安装hadoop

    cd /opt
    wget http://mirror.stjschools.org/public/apache/hadoop/common/hadoop-2.7.4/hadoop-2.7.4-src.tar.gz
    tar -zxvf hadoop-2.7.4-src.tar.gz
    添加环境变量:
    vim /etc/profile
    在文件中追加下面内容,并保存退出后,在使其文件生效。
    #hadoop
    export PATH=${HADOOP_HOME}/bin:$PATH
    export HADOOP_HOME=/opt/hadoop-2.7.4/
    现在创建数据存放目录:
    可以先通过命令df -h 查看一下那个磁盘下空间比较多,就把数据放在相应的目录下,例如:
    cd /home
    mkdir -p hadoop/dfs/data
    mkdir -p hadoop/dfs/name
    mkdir -p hadoop/tmp
    上面目录用于存放数据需要大一点的空间。
    cd hadoop-2.7.4
    接下来进入配置目录,进行相应的配置:
    cd etc/hadoop
    1. 编辑hadoop-env.sh文件
    找到 JAVA_HOME 改为 JDK 的安装目录,例如如下:
    export JAVA_HOME=/opt/jdk1.8.0_144
    2. 编辑slaves文件添加从服务器的主机名
    例如如下(下面两台服务器为slaves):
    spark.datanode1
    spark.datanode2
    3. 编辑core-site.xml文件
    vim core-site.xml
    添加如下内容:
    <configuration>
        <property>
            <name>fs.defaultFS</name>
            <value>hdfs://spark.namenode:9002</value>
        </property>
        <property>
            <name>io.file.buffer.size</name>
            <value>131072</value>
        </property>
        <property>
            <name>hadoop.tmp.dir</name>
            <value>file:/home/hadoop/tmp</value>
            <description>Abase for other temporary   directories.</description>
        </property>
    </configuration>
    
    最后保存退出
    配置解释:
    第一个value值是<value>hdfs://你的主服务器的主机名:端口(默认为9000,若该端口被占可以更换其他的)</value>
    第二个value值是<value>序列文件中使用的读/写缓冲区的大小(一般为131072)</value>
    第三个value值是<value>file:/hadoop的临时目录(上面已经提前创建了)</value>
    4. 编辑hdfs-site.xml文件
    vim hdfs-site.xml
    添加如下内容:
    <configuration>
       <property>
              <name>dfs.namenode.secondary.http-address</name>
              <value>spark.namenode:9001</value>
       </property>
       <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/home/hadoop/dfs/name</value>
       </property>
       <property>
              <name>dfs.datanode.data.dir</name>
              <value>file:/home/hadoop/dfs/data</value>
       </property>
       <property>
               <name>dfs.replication</name>
               <value>3</value>
       </property>
       <property>
               <name>dfs.webhdfs.enabled</name>
               <value>true</value>
       </property>
    </configuration>
    5. 编辑mapred-site.xml
    首先复制mapred-site.xml.template文件,并命名为mapred-site.xml
    cp mapred-site.xml.template mapred-site.xml
    vim mapred-site.xml
    添加以下内容:
    <configuration>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>spark.namenode:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>spark.namenode:19888</value>
        </property>
    </configuration>
    6. 编辑yarn-site.xml文件
    vim yarn-site.xml
    <configuration>
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
                <value>org.apache.hadoop.mapred.ShuffleHandler</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>spark.namenode:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>spark.namenode:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>spark.namenode:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>spark.namenode:8033</value>
    
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>spark.namenode:8088</value>
        </property>
    </configuration>
    所有配置已经完成。
    接下来,该hadoop-2.7.4文件夹分发给集群中的各个服务器,使用scp远程复制命令,例如:
    scp -r hadoop-2.7.4 hadoop@spark.datanode1:/opt
    scp -r hadoop-2.7.4 hadoop@spark.datanode2:/opt
    首次启动HDFS时,必须格式化。 将一个新的分布式文件系统格式化为hdfs,在master上执行如下命令:
    cd hadoop-2.7.4
    ./bin/hadoop namenode -format
    启动hadoop
    ./sbin/start-all.sh
    查看进程服务,命令如下:
    jps
    在master上可以看到
    namenode
    secondarynamenode
    resourcemanager
    在slaves上看到:
    datanode
    nodemanager
    查看端口占用情况,命令如下:
    netstat -tupln
    最后访问web-ui页面
    namenode页面
    http://10.24.106.82:50070 
    resourcemanager页面
    http://10.24.106.82:8088
    

    END

    相关文章

      网友评论

        本文标题:hadoop-2.7.4集群的安装配置

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