美文网首页
hadoop安装与集群

hadoop安装与集群

作者: Dream_wdl | 来源:发表于2019-03-01 16:38 被阅读0次

    启动hadoop集群
    在hadoop01上输入start-dfs.sh
    在hadoop01上输入start-yarn.sh
    在hadoop02上/opt/modules/app/hadoop/sbin输入./yarn-daemon.sh start resourcemanager启动ResourceManager
    在hadoop01上/opt/modules/app/hadoop/sbin/输入mr-jobhistory-daemon.sh start historyserver启动historyserver
    在windows上配置主机名
    然后使用主机名启动
    hadoop01:50070
    hadoop02:8088

    1.克隆虚拟机3个 配置上ip

    https://www.jianshu.com/p/c04532d6a4da

    2.修改主机名

    vim /etc/sysconfig/network
    hadoop01 
    hadoop02 
    hadoop03
    然后重启虚拟机 
    reboot 命令
    
    

    3.绑定虚拟机的主机名和IP

    vim /etc/hosts
    192.168.121.140    hadoop01
    192.168.121.141    hadoop02
    192.168.121.142    hadoop03
    

    4.规划

    hadoop01 hadoop02 hadoop03
    Namenode ResourceManager
    DataNode DataNode DataNodede
    NodeManager NodeManager NodeManager
    HistoryServer SecondayNameNode

    5.在一台主机上装hadoop 然后使用scp命令拷贝到其他虚拟机上

    6.在opt里建modules/app 目录

    mkdir -p modules/app
    将 hadoop-2.8.3.jar.gz文件解压到这个文件下
    tar   -zxvf   hadoop-2.8.3.jar.gz
    修改名字为hadoop
    mv  hadoop-2.8.3  hadoop
    

    7. 配置Hadoop JDK路径修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路径:

    java -version
    
    添加环境变量
    vim /etc/profile
    
    export HADOOP_HOME=/opt/modules/app/hadoop
    export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
    
    source /etc /profile  生效
    
    

    在/opt/modules/app/hadoop/etc/hadoop 修改配置文件hadoop-env.sh、mapred-env.sh、yarn-env.sh添加java_home的环境变量

    export  JAVA_HOME="/opt/jdk1.8"
    

    8、 配置core-site.xml

    vim core-site.xml
    
    <configuration>                //Namenode主机地址 这上是放在hadoop01上
     <property>
       <name>fs.defaultFS</name>
       <value>hdfs://hadoop01:8020</value>
     </property>
     <property>
       <name>hadoop.tmp.dir</name>
       <value>/opt/modules/app/hadoop2.5.0/data/tmp</value>
     </property>
    </configuration>
    
    fs.defaultFS为NameNode的地址。
    
    hadoop.tmp.dir为hadoop临时目录的地址,默认情况下,NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保证此目录是存在的,如果不存在,先创建。
    mkdir  -p  /opt/modules/app/hadoop2.5.0/data/tmp
    

    9、 在/opt/modules/app/hadoop/etc/hadoop 修改配置hdfs-site.xml

    启动secondnamenode在hadoop03上主机上

    vim    hdfs-site.xml
    
    <configuration>
     <property>
       <name>dfs.namenode.secondary.http-address</name>
       <value>hadoop03:50090</value>
     </property>
    </configuration>
    
    dfs.namenode.secondary.http-address是指定secondaryNameNode的http访问地址和端口号,因为在规划中,我们将hadoop03规划为SecondaryNameNode服务器。
    
    所以这里设置为:hadoop03:50090
    
    

    10、 在/opt/modules/app/hadoop/etc/hadoop 修改配置slaves

    vim   slaves
    
    hadoop01
    hadoop02
    hadoop03
    
    slaves文件是指定HDFS上有哪些DataNode节点。
    

    11、在/opt/modules/app/hadoop/etc/hadoop 修改 配置yarn-site.xml

    vim   yarn-site.xml
    
    <property>
            <name>yarn.nodemanager.aux-services</name>
            <value>mapreduce_shuffle</value>
        </property>
        <property>
            <name>yarn.resourcemanager.hostname</name>
            <value>hadoop02</value>
        </property>
        <property>
            <name>yarn.log-aggregation-enable</name>
            <value>true</value>
        </property>
        <property>
            <name>yarn.log-aggregation.retain-seconds</name>
            <value>106800</value>
        </property>
    
    
    根据规划yarn.resourcemanager.hostname这个指定resourcemanager服务器指向hadoop02
    
    yarn.log-aggregation-enable是配置是否启用日志聚集功能。
    
    yarn.log-aggregation.retain-seconds是配置聚集的日志在HDFS上最多保存多长时间
    
    

    12、 在/opt/modules/app/hadoop/etc/hadoop 修改配置mapred-site.xml

    从mapred-site.xml.template复制一个mapred-site.xml文件。

    cp    mapred-site.xml.template    mapred-site.xml
    vim   mapred-site.xml
    
    <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.address</name>
            <value>hadoop01:10020</value>
        </property>
        <property>
            <name>mapreduce.jobhistory.webapp.address</name>
            <value>hadoop01:19888</value>
        </property>
    
    
    mapreduce.framework.name设置mapreduce任务运行在yarn上。
    
    mapreduce.jobhistory.address是设置mapreduce的历史服务器安装在hadoop01机器上。
    
    mapreduce.jobhistory.webapp.address是设置历史服务器的web页面地址和端口号。
    
    
    
    
    
    

    13.设置SSH无密码登录

    Hadoop集群中的各个机器间会相互地通过SSH访问,每次访问都输入密码是不现实的,所以要配置各个机器间的
    所有虚拟机都要做
    SSH是无密码登录的。
    1). 在hadoop01上生成公钥

        在/opt/modules/app/hadoop里输入ssh-keygen -t rsa
        一路回车
    

    2).把公钥发给所有电脑(包括自己)

        yum install ssh-clients
        yum install -y openssh-clients
        [hadoop@hadoop01 hadoop]$ ssh-copy-id hadoop01
        [hadoop@hadoop02 hadoop]$ ssh-copy-id hadoop02
        [hadoop@hadoop03 hadoop]$ ssh-copy-id hadoop03
    

    3). 设置hadoop02、hadoop03到其他机器的无密钥登录
    同样的在hadoop02、hadoop03上生成公钥和私钥后,将公钥分发到三 台机器上。
    4).把上述1.2命令在其他虚拟机上再做一遍,分发公钥

    14.分发Hadoop文件

    1、 首先在其他两台机器上创建存放Hadoop的目录

    [hadoop@hadoop02 ~]$ mkdir /opt/modules/app
    [hadoop@hadoop03 ~]$ mkdir /opt/modules/app
    

    2、 通过Scp分发

    Hadoop根目录下的share/doc目录是存放的hadoop的文档,文件相当大,建议在分发之前将这个目录删除掉,可以节省硬盘空间并能提高分发的速度。

    doc目录大小有1.6G。

    [hadoop@hadoop01 hadoop]$ du -sh /opt/modules/app/hadoop/share/doc
    1.6G    
    rm  -rf  /opt/modules/app/hadoop/share/doc
    [hadoop@hadoop02 hadoop]$ scp -r /opt/modules/app/hadoop/ hadoop02:/opt/modules/app
    [hadoop@hadoop03 hadoop]$ scp -r /opt/modules/app/hadoop/ hadoop03:/opt/modules/app
    

    15.格式化NameNode

    1).在NameNode机器上执行格式化:

    [hadoop@hadoop01 hadoop]$hdfs namenode -format
    

    /opt/modules/app/hadoop-2.5.0/data/tmp
    注意:

    如果需要重新格式化NameNode,需要先将原来NameNode和DataNode下的文件全部删除,不然会报错,NameNode和DataNode所在目录是在core-site.xml中hadoop.tmp.dir、dfs.namenode.name.dir、dfs.datanode.data.dir属性配置的。

    <property>
         <name>hadoop.tmp.dir</name>
         <value>/opt/modules/app/hadoop-2.5.0/data/tmp</value>
      </property>
    <property>
         <name>dfs.namenode.name.dir</name>
         <value>file://${hadoop.tmp.dir}/dfs/name</value>
      </property>
    <property>
         <name>dfs.datanode.data.dir</name>
         <value>file://${hadoop.tmp.dir}/dfs/data</value>
      </property>
    

    因为每次格式化,默认是创建一个集群ID,并写入NameNode和DataNode的VERSION文件中(VERSION文件所在目录为dfs/name/current 和 dfs/data/current),重新格式化时,默认会生成一个新的集群ID,如果不删除原来的目录,会导致namenode中的VERSION文件中是新的集群ID,而DataNode中是旧的集群ID,不一致时会报错。

    另一种方法是格式化时指定集群ID参数,指定为旧的集群ID。

    16.启动hadoop集群

    1)、 启动HDFS

    [hadoop@hadoop01 hadoop]$ start-dfs.sh
    
    image.png

    2)、 启动YARN

    [hadoop@hadoop01 hadoop]$ /opt/modules/app/hadoop/sbin/start-yarn.sh
    

    在hadoop02上启动ResourceManager:

    [hadoop@hadoop02 hadoop]$ sbin/yarn-daemon.sh start resourcemanager
    
    image.png

    3)、 启动日志服务器

    因为我们规划的是在hadoop01服务器上运行MapReduce日志服务,所以要在hadoop01上启动。

    [hadoop@hadoop01 ~]$ /opt/modules/app/hadoop/sbin/mr-jobhistory-daemon.sh start historyserver
    starting historyserver, logging to /opt/modules/app/hadoop/logs/mapred-hadoop-historyserver-hadoop01
    
    [hadoop@bigdata-senior03 ~]$ jps
    3570 Jps
    3537 JobHistoryServer
    3310 SecondaryNameNode
    3213 DataNode
    3392 NodeManager
    
    

    4)、 查看HDFS Web页面

    http://hadoop01:50070/

    5)、 查看YARN Web 页面

    http://hadoop02:8088/cluster

    6).修改C:\Windows\System32\drivers\etc下的hosts文件
    添加
    192.168.121.140 hadoop01
    192.168.121.141 hadoop02
    192.168.121.142 hadoop03

    相关文章

      网友评论

          本文标题:hadoop安装与集群

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