• CentOS 7安装Hadoop 3.0.0


    最近在学习大数据,需要安装Hadoop,自己弄了好久,最后终于弄好了。网上也有很多文章关于安装Hadoop的,但总会遇到一些问题,所以把在CentOS 7安装Hadoop 3.0.0的整个过程记录下来,有什么不对的地方大家可以留言更正。

      一、ssh免密登录

    1、测试是否能免密登录

          # ssh localhost

    The authenticity of host 'localhost (::1)' can't be established.

    2、设置免密登录

    1)、去掉 /etc/ssh/sshd_config中的两行注释,如没有则添加,所有服务器都要设置的:

            #RSAAuthentication yes  
            #PubkeyAuthentication yes 

    2)、生成秘钥:

    # ssh-keygen -t rsa

    备注:输入命令后回车4次

    3)、复制到公共密钥中:

    # cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys

    4)、将秘钥复制到目标服务器:

    # ssh-copy-id 目标服务器IP

    5)、测试:(没有报错,并没有提示输入目标服务器用户密码,用户切换到目标服务器用户名则成功)

    # ssh 目标服务器IP

    备注:配置好了hadoop1到hadoop2免密登录,同时需要配置hadoop2到hadoop1的免密登录,在hadoop2上操作,过程同上

      二、安装JDK

    hadoop-3.0.0需要jdk1.8,此处省略安装过程,网上很多,过程也比较简单

      三、安装hadoop

    1、下载hadoop:

    http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.0/

    2、解压安装:

     1)、复制 hadoop-3.0.0.tar.gz 到/usr/hadoop目录下, 然后

      #tar -xzvf hadoop-3.0.0.tar.gz

    解压,解压后目录为:/usr/hadoop/hadoop-3.0.0,Hadoop 解压后即可使用。输入如下命令来检查 Hadoop 是否可用,成功则会显示 Hadoop 版本信息:

    #cd /usr/hadoop/hadoop-3.0.0 
            #./bin/hadoop version

    2),在/usr/hadoop/目录下,建立tmp:

    #mkdir /usr/hadoop/tmp

    3)、设置环境变量:

    #vi /etc/profile
            # set hadoop path
            export HADOOP_HOME=/usr/hadoop/hadoop-3.0.0
            export PATH=$PATH:$HADOOP_HOME/bin

    4)、使环境变量生效,终端中运行如下命令:

    #source /etc/profile

    5)、设置hadoop:     

    一共需要配置主要的6个文件:

      hadoop-3.0.0/etc/hadoop/hadoop-env.sh 

      hadoop-3.0.0/etc/hadoop/yarn-env.sh 

      hadoop-3.0.0/etc/hadoop/core-site.xml 

      hadoop-3.0.0/etc/hadoop/hdfs-site.xml 

      hadoop-3.0.0/etc/hadoop/mapred-site.xml 

              hadoop-3.0.0/etc/hadoop/yarn-site.xml

            ⑴、配置hadoop-env.sh:

              # The java implementation to use.  
              #export JAVA_HOME=${JAVA_HOME}  
              export JAVA_HOME=/usr/java/jdk1.8.0_152 //根据自己jdk安装目录配置

    ⑵、配置yarn-env.sh:

              #The java implementation to usr  
              export JAVA_HOME=/usr/java/jdk1.8.0_152 //根据自己jdk安装目录配置

    ⑶、配置core-site.xml:

      <!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
              <configuration>            <property>           <name>fs.default.name</name>           <value>hdfs://localhost:9000</value>           <description>HDFS的URI,文件系统://namenode标识:端口号</description>             </property>             <property>           <name>hadoop.tmp.dir</name>           <value>/usr/hadoop/tmp</value>           <description>namenode上本地的hadoop临时文件夹</description>             </property>           </configuration>

    ⑷、配置hdfs-site.xml:

      <configuration>  
              <!—hdfs-site.xml-->  
                <property>  
                  <name>dfs.replication</name>  
                  <value>1</value>  
                  <description>副本个数,配置默认是3,应小于datanode机器数量</description>  
                </property>  
              </configuration>

    ⑸、配置mapred-site.xml:

      <!-- 指定mr运行在yarn上 -->
              <configuration>             <property>         <name>mapreduce.framework.name</name>         <value>yarn</value>             </property>           </configuration>

    ⑹、配置yarn-site.xml:

      <!-- 指定YARN的老大(ResourceManager)的地址 -->
              <configuration>             <property>           <name>yarn.nodemanager.aux-services</name>           <value>mapreduce_shuffle</value>             </property>  

         <!-- reducer获取数据的方式 -->
                 <property>
                  <name>yarn.nodemanager.aux-services</name>
                  <value>mapreduce_shuffle</value>
                 </property>

       </configuration>

      备注:以上配置都是以最简配置,还有很多配置可以自行添加

           6)、将/usr/hadoop复制到其他服务器:

              scp -r /usr/hadoop root@192.168.1.11:/usr/hadoop

     7)、格式化namenode:  

      #CD /usr/hadoop/hadoop-3.0.0
              # ./bin/hdfs namenode -format

      成功的话,会看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若为 “Exitting with status 1” 则是出错          

      备注:只需格式化namenode,datanode不需要格式化(若格式化了,可将/usr/hadoop/tmp目录下文件都删除),所以先将安装文件夹复制到其他服务器,再格式化

        四、测试:

          1、启动HDFS:

          #CD /usr/hadoop/hadoop-3.0.0
          # sbin/start-dfs.sh

    如果运行脚本报如下错误,

    ERROR: Attempting to launch hdfs namenode as root
          ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch.
          Starting datanodes
          ERROR: Attempting to launch hdfs datanode as root
          ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch.
          Starting secondary namenodes [localhost.localdomain]
          ERROR: Attempting to launch hdfs secondarynamenode as root
          ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.

    解决方案

    (缺少用户定义而造成的)因此编辑启动和关闭

          $ vim sbin/start-dfs.sh
          $ vim sbin/stop-dfs.sh

    顶部空白处添加

          HDFS_DATANODE_USER=root  
          HADOOP_SECURE_DN_USER=hdfs  
          HDFS_NAMENODE_USER=root  
          HDFS_SECONDARYNAMENODE_USER=root

    2)启动ResourceManager和NodeManager:

          #CD /usr/hadoop/hadoop-3.0.0
          #sbin/start-yarn.sh

          如果启动时报如下错误,

          Starting resourcemanager
          ERROR: Attempting to launch yarn resourcemanager as root
          ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.

          解决方案

    (也是由于缺少用户定义)

          是因为缺少用户定义造成的,所以分别编辑开始和关闭脚本 

          $ vim sbin/start-yarn.sh 
          $ vim sbin/stop-yarn.sh 

    顶部空白添加

          YARN_RESOURCEMANAGER_USER=root  
          HADOOP_SECURE_DN_USER=yarn  
          YARN_NODEMANAGER_USER=root

    3)、启动验证:

    执行jps命令,出现下图基本完成

    备注:也可以使用下面命令同时启动HDFS和ResourceManager、NodeManager:

          #CD /usr/hadoop/hadoop-3.0.0
          #sbin/start-all.sh

    Hadoop2.3-HA高可用集群环境搭建  http://www.linuxidc.com/Linux/2017-03/142155.htm

    Hadoop项目之基于CentOS7的Cloudera 5.10.1(CDH)的安装部署  http://www.linuxidc.com/Linux/2017-04/143095.htm

    Hadoop2.7.2集群搭建详解(高可用)  http://www.linuxidc.com/Linux/2017-03/142052.htm

    使用Ambari来部署Hadoop集群(搭建内网HDP源)  http://www.linuxidc.com/Linux/2017-03/142136.htm

    Ubuntu 14.04下Hadoop集群安装  http://www.linuxidc.com/Linux/2017-02/140783.htm

    CentOS 6.7安装Hadoop 2.7.2  http://www.linuxidc.com/Linux/2017-08/146232.htm

    Ubuntu 16.04上构建分布式Hadoop-2.7.3集群  http://www.linuxidc.com/Linux/2017-07/145503.htm

    CentOS 7 下 Hadoop 2.6.4 分布式集群环境搭建  http://www.linuxidc.com/Linux/2017-06/144932.htm

    Hadoop2.7.3+Spark2.1.0完全分布式集群搭建过程  http://www.linuxidc.com/Linux/2017-06/144926.htm

    更多Hadoop相关信息见Hadoop 专题页面 http://www.linuxidc.com/topicnews.aspx?tid=13

    本文永久更新链接地址:http://www.linuxidc.com/Linux/2018-02/150812.htm

    linux

  • 相关阅读:
    Codeforces 1291 Round #616 (Div. 2) B
    总结
    刷新DNS解析缓存+追踪+域名解析命令
    数学--数论--Hdu 5793 A Boring Question (打表+逆元)
    Lucene.net(4.8.0) 学习问题记录六:Lucene 的索引系统和搜索过程分析
    LeetCode 117 Populating Next Right Pointers in Each Node II
    LeetCode 116 Populating Next Right Pointers in Each Node
    test test
    LeetCode 115 Distinct Subsequences
    LeetCode 114. Flatten Binary Tree to Linked List
  • 原文地址:https://www.cnblogs.com/itrena/p/8830051.html
Copyright © 2020-2023  润新知