hadoop3.0.0集群手动安装

hadoop集群主要涉及到hdfs集群用于分布式存储,主要主角色NameNode,从角色DataNode,主角色负责角色SecondaryNameNode
Yarn集群用于资源管理以及调度,主角色为ResourceManager,从角色为NodeManager
hadoop下载地址https://archive.apache.org/dist/hadoop/common/hadoop-3.0.0/

  1. 安装jdk8

  2. 添加hadoop用户

    useradd hadoop
    passwd hadoop
    vim /etc/sudoers
    hadoop ALL=(ALL) NOPASSWD: ALL
    
  3. 配置免密登录

    编辑/etc/hosts添加主机映射
    192.168.4.26    hadoop01
    192.168.4.27    hadoop02
    192.168.4.26    hadoop03
    su - hadoop
    
    ssh-keygen -t rsa
    ssh-copy-id hadoop01
    ssh-copy-id hadoop02
    ssh-copy-id hadoop03
    # 每台机器执行
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
  4. 配置环境变量

    vim /etc/profile.d/hadoop.sh
    export  HADOOP_HOME=/home/bigdata/hadoop-3.0.0/
    export  JAVA_HOME=/usr/local/jdk1.8.0_144/
    export  PATH=$PATH:$HADOOP_HOME/bin
    export  PATH=$PATH:$HADOOP_HOME/sbin:$JAVA_HOME/bin
    
  5. 配置core-site.xml

<configuration>
    <property>
        <!--指定 namenode 的 hdfs 协议文件系统的通信地址-->
        <name>fs.defaultFS</name>
        <value>hdfs://hadoop01:8020</value>
    </property>
    <property>
        <!--指定 hadoop 集群存储临时文件的目录-->
        <name>hadoop.tmp.dir</name>
        <value>/home/bigdata/hadoop-3.0.0/tmp</value>
    </property>
    <!--hdfs删掉的数据可以从垃圾桶回收,单位分钟-->
     <property>
                <name>fs.trash.interval</name>
                <value>10080</value>
        </property>
   <property>
        <name>hadoop.http.staticuser.user</name>
        <value>hadoop</value>
    </property>
</configuration>
  1. 配置hdfs-site.xml
<configuration>
<property>
<!--namenode 节点数据(即元数据)的存放位置,可以指定多个目录实现容错,多个目录用逗号分隔-->
  <name>dfs.namenode.name.dir</name>
    <value>/home/bigdata/hadoop-3.0.0/namenode/data</value>
  </property>
  <property>
 <!--datanode 节点数据(即数据块)的存放位置-->
    <name>dfs.datanode.data.dir</name>
    <value>/home/bigdata/hadoop-3.0.0/datanode/data</value>
  </property>
   <!-- nn web端访问地址-->
    <property>
        <name>dfs.namenode.http-address</name>
        <value>hadoop01:9870</value>
    </property>
    <!-- snn web端访问地址-->
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>hadoop03:9868</value>
    </property>
</configuration>
  1. 配置yarn-site.xml
  <configuration>
    <!-- 指定ResourceManager的地址 -->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>hadoop02</value>
    </property>
    <!-- 指定MR走shuffle -->
    <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>
    <!-- 设置 yarn 历史服务器地址 -->
    <property>
        <name>yarn.log.server.url</name>
        <value>http://hadoop02:19888/jobhistory/logs</value>
    </property>
    <!-- 开启日志聚集-->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <!-- 聚集日志保留的时间7天 -->
    <property>
        <name>yarn.log-aggregation.retain-seconds</name>
        <value>604800</value>
    </property>
</configuration>
  1. 配置mapred-site.xml
<configuration>
<!-- 设置 MR 程序默认运行模式:yarn 集群模式,local 本地模式-->
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <!-- MR 程序历史服务地址 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>hadoop01:10020</value>
    </property>
    <!-- MR 程序历史服务器 web 端地址 -->
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>hadoop01:19888</value>
    </property>
    <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>
</configuration>
  1. 编辑workers
    hadoop01
    hadoop02
    hadoop03
    
  2. 分发hadoop到其他节点
  3. master节点执行
hdfs namenode -format

12 . 启动hadoop集群

start-dfs.sh
start-yarn.sh
  1. 访问http://192.28.4.26:9870查看hdfs效果
    image-uKSP.png
  2. 访问http://192.28.4.27:8080,查看yarn状态
    image-ENVd.png
  3. 在hadoop01执行mapred --daemon start historyserver,访问http://192.28.4.26:19888/jobhistory
    image-oYvp.png
文章作者: 热心网民詹Sir
版权声明: 本站所有文章除特别声明外,均采用 CC BY-NC-SA 4.0 许可协议。转载请注明来自 编程之家
大数据 hdfs hadoop
喜欢就支持一下吧