Hadoop集群搭建(Yarn集群搭建)

 学习大数据首先要学习Hadoop,学习之前肯定要先把软件安装好。

环境:

    Cenots7(3台), JDK1.8.0_144, Hadoop3.3.0

一、先准备软件包,下载Hadoop:(三台机器都操作)

      1.1进入/opt/soft/目录。

      1.2 wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.0/hadoop-3.3.0.tar.gz

      1.3 tar -zxvf hadoop-3.3.0.tar.gz

二、3台Centos7虚拟机器:

      192.160.6.210   master

      192.160.6.211   slaver1

      192.160.6.212   slaver2

三、配置三台虚拟机的SSH免密登录(自行百度吧)

四、默认已经有jdk环境了(三台机器都操作)

      我的jdk环境是: jdk1.8.0_144

五、配置Hadoop环境变量(三台机器都操作)

$ vim /etc/profile

export HADOOP_HOME=/opt/software/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

$ source /etc/profile

 六、配置Hadoop集群环境(都在master机器上配置)

6.1 编辑hadoop-env.sh

vim /opt/software/hadoop-3.3.0/etc/hadoop/hadoop-env.sh

#文件最后加
export JAVA_HOME=/opt/soft/jdk1.8.0_144
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

6.2 编辑yarn-env.sh

$ vim /opt/software/hadoop-3.3.0/etc/hadoop/yarn-env.sh

#文件最后加
export JAVA_HOME=/opt/soft/jdk1.8.0_144

6.3 编辑 core-site.xml

$ vim /opt/software/hadoop-3.3.0/etc/hadoop/core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/home/look/hadoop-3.3.0/tmp</value>
        <description>Abase for other temporary directories.</description>
    </property>
    <!-- 设置默认文件系统Hadoop支持file、HDFS、GFS、ALI|Amazon云等文件系统-->
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:8020</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>
    <!-- 文件系统垃圾桶保存时间-->
    <property>
        <name>fs.trash.interval</name>
        <value>1440</value>
    </property>
</configuration>

6.4 编辑hdfs-site.xml

$ vim /opt/software/hadoop-3.3.0/etc/hadoop/hdfs-site.xml

  <configuration>
      <!--设置SNN进程运行机器位置信息-->
      <property>
          <name>dfs.namenode.secondary.http-address</name>
          <value>192.168.6.211:9868</value>
      </property>
  </configuration>

6.5 编辑mapred-site.xml

$ vim /opt/software/hadoop-3.3.0/etc/hadoop/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>192.168.6.210: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>
</configuration>

6.6 编辑yarn-site.xml

$ vim /opt/software/hadoop-3.3.0/etc/hadoop/yarn-site.xml

<configuration>
    <!--设置YARN集群主角色运行机器位置-->
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>192.168.6.210</value>
    </property>
    
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 关闭yarn内存检查 -->
    <!--是否将对容器实施物理内存限制-->
    <!-- 是否启动一个线程检查每个任务正使用的虚拟内存量,如果任务超出分配值,则直接将其杀掉,默认为 true -->
    <!-- 因为对于 flink 使用 yarn 模式下,很容易内存超标,这个时候 yarn 会自动杀掉 job,因此需要关掉-->
    <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://192.168.6.210:19888/jobhistory/logs</value>
    </property>
    <!-- yarn -->资源配置
    <property>
        <name>yarn.scheduler.minimum-allocation-mb</name>
        <value>1024</value>
    </property>
    <property>
        <name>yarn.scheduler.maximum-allocation-mb</name>
        <value>102400</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>32</value>
    </property>
   <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>51200</value>
    </property>
    <!--  一台NodeManager的总可用(逻辑)cpu核数 -->
    <property>
        <name>yarn.nodemanager.resource.cpu-vcores</name>
        <value>2</value>
    </property>
    <!--  容器的虚拟内存使用上限:与物理内存的比率 --> 
    <property>
      <name>yarn.nodemanager.vmem-pmem-ratio</name>
      <value>2.1</value>
    </property>
</configuration>

6.7 编辑 workers  

$ vim /opt/software/hadoop-3.3.0/etc/hadoop/workers

192.168.6.210
192.168.6.211
192.168.6.212

七、把配置好的hadoop目录分发到其他机器

scp -r hadoop-3.3.0 root@192.168.6.211:/opt/software/
scp -r hadoop-3.3.0 root@192.168.6.212:/opt/software/

八、格式化HDFS

$ hdfs namenode -format

九、启动HDFS集群和Yarn集群

#启动HDFS
$ start-dfs.sh
#启动Yarn
$ start-yarn.sh

十、WEB界面查看启动结果

web查看hdfs http://name_node_server_ip:9870
web查看yarn http://resourcemanager_host:8088

 

遇到的问题:
1、启动hdfs的时候 start-hdfs.sh 报错:Permission denied  

解决:执行命令: cp ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys

 

参考:

https://blog.csdn.net/qq_36318271/article/details/88796706

 

posted @ 2023-02-15 17:52  寻找风口的猪  阅读(418)  评论(0编辑  收藏  举报