Hadoop框架搭建

1、下载Hadoop的安装包

2.http://archive.apache.org/dist/hadoop/common/hadoop-3.3.0/

3.在node1(虚拟机)上,上传Hadoop安装包到/export/software目录

4、在node1上,将上传的压缩包解压到/export/server目录         

cd /export/software
tar -zxvf hadoop-3.3.0-Centos7-64-with-snappy.tar.gz -C /export/server/

5、在node1上进入Hadoop的配置文件目录

cd /export/server/hadoop-3.3.0/etc/hadoop

6、在node1上对Hadoop的文件进行配合

1、 hadoop-env.sh

#在第54行左右修改jdk,一定去掉注释
export JAVA_HOME=/export/server/jdk1.8.0_241

#在文件最后添加
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root

2、 core-site.xml

<!-- 指定HDFS的主节点NameNode在ndoe1上 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://node1:8020</value>
</property>

<!-- 指定HDFS数据的存放目录 -->
<property>
    <name>hadoop.tmp.dir</name>
    <value>/export/data/hadoop-3.3.0</value>
</property>

<!-- 设置HDFS web UI用户身份 -->
<property>
    <name>hadoop.http.staticuser.user</name>
    <value>root</value>
</property>

<!-- 整合hive -->
<property>
    <name>hadoop.proxyuser.root.hosts</name>
    <value>*</value>
</property>

<property>
    <name>hadoop.proxyuser.root.groups</name>
    <value>*</value>
</property>

  • 3、hdfs-site.xml

    <!-- 指定Secondarynamenode运行位置 -->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>node2:50090</value>
    </property>
    <property>
            <name>dfs.hosts.exclude</name>
            <value>/export/server/hadoop-3.3.0/etc/hadoop/excludes</value>
    </property>
    

  • 4、mapred-site.xml

    <!--MapReduce执行时由Yarn来进行资源调度-->
    <property>
      <name>mapreduce.framework.name</name>
      <value>yarn</value>
    </property>
    ​
    <!--给MapReduce指定Hadoop的安装位置-->
    <property>
      <name>yarn.app.mapreduce.am.env</name>
      <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    ​
    <property>
      <name>mapreduce.map.env</name>
      <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>
    ​
    <property>
      <name>mapreduce.reduce.env</name>
      <value>HADOOP_MAPRED_HOME=${HADOOP_HOME}</value>
    </property>

  • 5、 yarn-site.xml

    <!-- 指定YARN的主角色(ResourceManager)的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>node1</value>
    </property>
        
    <!-- NodeManager上运行的附属服务。需配置成mapreduce_shuffle,才可运行MapReduce程序默认值:"" -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    ​
    <!-- 是否将对容器实施物理内存限制 -->
    <property>
        <name>yarn.nodemanager.pmem-check-enabled</name>
        <value>false</value>
    </property>
    ​
    <!-- 是否将对容器实施虚拟内存限制。 -->
    <property>
        <name>yarn.nodemanager.vmem-check-enabled</name>
        <value>false</value>
    </property>
    <!-- 开启日志聚集 -->
    <property>
      <name>yarn.log-aggregation-enable</name>
      <value>true</value>
    </property>
    ​
    <!-- 设置yarn历史服务器地址 -->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://node1:19888/jobhistory/logs</value>
    </property>
    ​
    <!-- 保存的时间7天,单位是秒 -->
    <property>
      <name>yarn.log-aggregation.retain-seconds</name>
      <value>604800</value>
    </property>

  • 6、workers   设置DataNode和NodeManager从机地址
  • node1
    node2
    node3

    7、创建一个黑名单文件

  • touch /export/server/hadoop-3.3.0/etc/hadoop/excludes

    7、在node1上,将配置好的Hadoop安装包分发给其他虚拟机

  • cd /export/server
    
    scp -r hadoop-3.3.0/ node2:$PWD
    scp -r hadoop-3.3.0/ node3:$PWD

    8、在三台机器上,配置环境变量

    vim  /etc/profile  #添加以下内容
    
    export HADOOP_HOME=/export/server/hadoop-3.3.0
    export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
    

    9、在三台机器上,刷新环境变量

  • source /etc/profile

    集群的启动

  • 注意,第一次启动Hadoop之前,必须在对HDFS进行格式化,而且这个操作只能执行一次,切记!!!
    #如果没有以下目录,则必须创建数据存放目录(!!!!!!!三台都要创建!!!!!!!!!!)
    mkdir -p /export/data/
    
    #切记一定要在node1格式化,该操作只能执行一次,如果多次操作会失败
    hadoop namenode -format
    
    #如果你多次操作格式化,则需要删除三台机器的/export/data/hadoop-3.3.0目录,然后在node1重新格式化
    一键启动Hadoop所有
    
    start-all.sh #开启
    
    stop-all.sh  #停止
    
    在node1启动历史服务
    mapred --daemon start historyserver
    
    
    ###################在node1对一键启动脚本进行修改##########################
    vim /export/server/hadoop-3.3.0/sbin/start-all.sh
    
    #在尾部添加以下内容:
    /export/server/hadoop-3.3.0/bin/mapred --daemon start historyserver
    
    
    
    vim /export/server/hadoop-3.3.0/sbin/stop-all.sh
    
    #在尾部添加以下内容:
    /export/server/hadoop-3.3.0/bin/mapred --daemon stop historyserver
    

    集群的验证

  • 使用jps命令验证三台主机,查看进程是否都已启动

  • 访问页面

    • ip地址访问

    • http://192.168.88.100:9870/  #访问HDFS页面
      1、需要修改C:\Windows\System32\drivers\etc\hosts文件
      2、添加以下内容(如果不能保存,则将文件复制到桌面,修改之后再拖回去覆盖源文件)
      192.168.88.100 node1 node1.itcast.cn
      192.168.88.101 node2 node2.itcast.cn
      192.168.88.102 node3 node3.itcast.cn
      
      3、使用主机名访问
      http://node1:9870/

      验证Yarn能否工作,执行一个MapReduce任务

    • hadoop jar /export/server/hadoop-3.3.0/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.0.jar pi 2 1000
      
      #2表示有几个人扔石子
      #1000表示扔多少石子

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值