美文网首页小卜java
Hadoop系列-入门安装

Hadoop系列-入门安装

作者: 汤太咸啊 | 来源:发表于2022-03-30 10:35 被阅读0次

    这一篇,憋了好几天,近期打算学习Hadoop大数据方面,真是无从下手,看了好几篇帖子,都是千篇一律,看起来好难,最后下定决心从Hadoop开始吧,一开始入门学习先从CRUD以及安装开始吧,后期熟练了之后再考虑更加高深的知识吧,加油卷起来。

    一、服务器配置部分

    docker的安装我就不用写了吧,这个网上下载一个安装下一步下一步就完事了。

    接下来就是在docker中配置三个节点,一个master,两个slave的集群。

    --搜索最新的hadoop
    docker search hadoop
    
    --找到最高的评分的下载
    docker pull sequenceiq/hadoop-docker
    
    --本地执行,分别启动各自的服务,注意master节点,需要客户端连接之类,因此通过宿主机暴露端口
    docker run -p 2888:2888 -p 3888:3888 -p 2181:2181 -p 9000:9000 -p 50070:50070 -p 8485:8485 -p 50010:50010 -p 8088:8088 --name master -d -h master sequenceiq/hadoop-docker
    docker run --name slave1 -d -h slave1 sequenceiq/hadoop-docker
    docker run --name slave2 -d -h slave2 sequenceiq/hadoop-docker
    
    --本地执行进入各个服务器
    docker exec -it master bash
    docker exec -it slave1 bash
    docker exec -it slave2 bash
    
    --分别在每个节点上生成rsakey以及配置ssh登陆信息,就是默认允许各个节点通信
    ssh localhost
    cd ~/.ssh
    ssh-keygen -t rsa
    rm -r authorized_keys
    cat id_rsa.pub > authorized_keys
    cat authorized_keys
    cp /etc/skel/.bash* /root/
    
    --将生成key下载到宿主机,整合到一份文件中
    docker cp master:/root/.ssh/authorized_keys authorized_keys_master
    docker cp slave1:/root/.ssh/authorized_keys authorized_keys_slave1
    docker cp slave2:/root/.ssh/authorized_keys authorized_keys_slave2
    cat authorized_keys_master authorized_keys_slave1 authorized_keys_slave2 > authorized_keys
    
    --将整合的key文件,复制到各个hadoop服务中,master,slave1,slave2中
    docker cp authorized_keys master:/root/.ssh/authorized_keys
    docker cp authorized_keys slave1:/root/.ssh/authorized_keys
    docker cp authorized_keys slave2:/root/.ssh/authorized_keys
    
    --复制完成文件后,这个文件权限会出现问题,往上别没写这个,是个坑,找了一天问题才解决,会导致ssh master或者ssh slave1时候需要数据密码,因此需要重新授权用户解决问题
    cd ~/.ssh
    chown root:root authorized_keys
    
    --每个服务器上配置打开ssh的RSAkey登陆,尤其是AuthorizedKeysFile这个,一定加上~/表示当前用户的路径
    vi /etc/ssh/sshd_config
    RSAAuthentication yes
    PubkeyAuthentication yes
    AuthorizedKeysFile   ~/.ssh/authorized_keys
    
    --重启sshd服务
    service sshd restart
    
    --修改每个服务器host
    vi /etc/hosts
    
    --将每个服务的都增加上master/slave1/slave2
    172.17.0.2      master
    172.17.0.3      slave1
    172.17.0.4      slave2
    
    --之后通过各台服务器,分别通过ssh访问其他节点,返回last login from之类的就证明登录到该服务器了
    ssh master
    ssh slave1
    ssh slave2
    
    --到这里为止,服务器的配置完成,下面该开始hadoop的服务配置了
    

    二、Hadoop服务集群配置

    这部分是配置hadoop集群,多节点的部分,最后输入http://localhost:8088,能够打开页面就算是完事了。

    --进入hadoop配置路径
    cd /usr/local/hadoop/etc/hadoop/
    
    --修改core-site.xml
    vi core-site.xml
      <configuration>
          <property>
              <name>fs.defaultFS</name>
              <value>hdfs://master:9000</value>
          </property>
          <property>
            <name>hadoop.tmp.dir</name>
            <value>/hadoop/tmp</value>
          </property>
      </configuration>
    
    --修改hdfs-site.xml
    vi hdfs-site.xml
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
      <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/hadoop/data</value>
      </property>
      <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/hadoop/name</value>
      </property>
    </configuration>
    
    --修改mapped-site.xml
    vi mapped-site.xml
    <configuration>
      <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9001</value>
    </property>
        <property>
            <name>mapreduce.framework.name</name>
            <value>yarn</value>
        </property>
    </configuration>
    
    --备份并修改yarn-site.xml
    cp yarn-site.xml yarn-site.xml.bak
    rm yarn-site.xml
    vi yarn-site.xml
    <configuration>
            <property>
         <name>yarn.resourcemanager.address</name>
        <value>master:8032</value>
     </property>
     <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.scheduler.address</name>
        <value>master:8030</value> </property> <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:8031</value>
    </property>
    <property>
    <name>yarn.resourcemanager.admin.address</name>
        <value>master:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8089</value>
    </property>
    </configuration>
    
    --配置hadoop-env.sh,增加JAVA_HOME和HADOOP_PREFIX
    export JAVA_HOME=/usr/lib/jvm/jre-1.8.0-openjdk.x86_64
    export HADOOP_PREFIX=/usr/local/hadoop
    
    --建立路径,以上配置文件重的内容,分别在master,slave1,slave2执行
    mkdir -p /hadoop/name
    mkdir -p /hadoop/data
    mkdir -p /hadoop/tmp
    
    --复制hadoop配置文件到其他节点
    cd ..
    scp -r hadoop/ slave1:/usr/local/hadoop/etc/
    scp -r hadoop/ slave2:/usr/local/hadoop/etc/
    
    --主节点集群配置,这个只在主节点配置,其他通用配置已经复制完了
    cd hadoop
    vi slaves
    --具体内容
    master
    slave1
    slave2
    
    --到/usr/local/hadoop/bin/目录下运行,验证初始化是否有问题
    cd /usr/local/hadoop/bin/
    ./hadoop namenode -format
    
    --启动集群
    cd ../sbin
    ./start-all.sh
    
    --jps查看服务是否启动成功
    jps
    223 DataNode
    612 ResourceManager
    129 NameNode
    704 NodeManager
    1725 Jps
    388 SecondaryNameNode
    

    三、完事

    浏览器输入:http://localhost:8088,展示以下内容,表示成功啦。后边咱们继续学习如何使用吧。

    image.png

    谢各位的阅读,谢谢您动动手指点赞,万分感谢各位。另外以下是我之前写过的文章,感兴趣的可以点进去继续阅读。

    历史文章

    Hadoop系列-入门安装
    Hadoop系列-HDFS命令
    Hadoop系列-Hive安装
    Hadoop系列-Hive数据库常见SQL命令
    Hadoop系列-HBase数据库
    Hadoop系列-HBase数据库(二)
    Hadoop系列-HBase数据库JAVA篇
    Hadoop系列-Spark安装以及HelloWorld
    JAVA面试汇总(五)数据库(一)
    JAVA面试汇总(五)数据库(二)
    JAVA面试汇总(五)数据库(三)
    JAVA面试汇总(四)JVM(一)
    JAVA面试汇总(四)JVM(二)
    JAVA面试汇总(四)JVM(三)
    JAVA面试汇总(三)集合(一)
    JAVA面试汇总(三)集合(二)
    JAVA面试汇总(三)集合(三)
    JAVA面试汇总(三)集合(四)
    JAVA面试汇总(二)多线程(一)
    JAVA面试汇总(二)多线程(二)
    JAVA面试汇总(二)多线程(三)
    JAVA面试汇总(二)多线程(四)
    JAVA面试汇总(二)多线程(五)
    JAVA面试汇总(二)多线程(六)
    JAVA面试汇总(二)多线程(七)
    JAVA面试汇总(一)Java基础知识

    相关文章

      网友评论

        本文标题:Hadoop系列-入门安装

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