2024年大数据最新Hadoop 完全分布式部署_hadoop分布式安装部署(1),一名毕 ...

莫张周刘王  金牌会员 | 2024-6-19 01:05:59 | 来自手机 | 显示全部楼层 | 阅读模式
打印 上一主题 下一主题

主题 554|帖子 554|积分 1662




既有得当小白学习的零基础资料,也有得当3年以上经验的小搭档深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目次截图出来,全套包罗大厂面经、学习条记、源码讲义、实战项目、大纲路线、讲解视频,而且后续会连续更新
必要这份体系化资料的朋友,可以戳这里获取
1.BOOTPROTO设置为static,表示IP为静态的。
2.GATEWAY设置为上一步查询到的现实网关地址。
3.IPADDR设置为网关所在的网段,这里查到的网段为10.90.100.0
5. 关闭防火墙

  1. [root@node1 ~]# systemctl stop firewalld
  2. [root@node1 ~]# systemctl disable firewalld
复制代码
6.克隆主机

(1)选中node1用来克隆出node2和node3主机,点击 假造机–>管理–>克隆

完备克隆


用同样的方法克隆出node3
修改主机名
在node2上登录平凡用户hadoop进行操作
修改主机名
  1. [hadoop@node1 ~]$ sudo hostnamectl set-hostname node2
  2. [sudo] password for hadoop:
复制代码
查看主机名
  1. [hadoop@node1 ~]$ hostname
  2. node2
复制代码
重启呆板
  1. [hadoop@node1 ~]$ sudo reboot
复制代码
同样的方法:
修改node3的主机名为node3
设置静态IP
   静态IP的设置过程参照第一部分
  1. node2 ip设置为 10.90.100.122
  2. node3 ip设置为 10.90.100.123
复制代码
修改ip与主机名的映射
  1. [hadoop@node1 ~]$ sudo vi /etc/hosts
复制代码
添加如下内容
  1. 10.90.100.121 node1
  2. 10.90.100.122 node2
  3. 10.90.100.123 node3
复制代码
重启呆板
  1. [hadoop@node1 ~]$ sudo reboot
复制代码
同样的方法,修改node2、node3呆板。
7.设置呆板之间免密登录

在node1呆板操作:
  1. ssh-keygen -t rsa
复制代码
执行命令后,连续敲击三次回车键
  1. [hadoop@node1 ~]$ ssh-keygen -t rsa
  2. Generating public/private rsa key pair.Enter file in which to save the key (/home/hadoop/.ssh/id_rsa): Created directory '/home/hadoop/.ssh'.Enter passphrase (empty for no passphrase): Enter same passphrase again: Your identification has been saved in /home/hadoop/.ssh/id_rsa.Your public key has been saved in /home/hadoop/.ssh/id_rsa.pub.The key fingerprint is:SHA256:MOzp1MyZUfA69Wi3JEVoOXB4qkbRXr0t47ZCR2AgE2s hadoop@node1The key's randomart image is:+---[RSA 2048]----+|      +o+=o+.    ||     ..+o+X..    ||      Eo.*oo.o   ||     o.Bo* += .  ||     .+.S +o+o   ||     oo  o.++.   ||     ..  . o..   ||          . .    ||           .     |+----[SHA256]-----+
复制代码
拷贝公钥
  1. ssh-copy-id node1
  2. ssh-copy-id node2
  3. ssh-copy-id node3
复制代码
执行ssh-copy-id命令后,根据提示输入yes,再输入呆板登录暗码

   验证从node1发起ssh登录到node2,过程中不必要登录暗码为设置成功。利用exit退出免密登录。
  同样的方法,在node2、node3呆板上设置呆板之间免密登录操作。
8.编写分发脚本

安装rsync命令
  1. [hadoop@node1 ~]$ rsync --help
  2. -bash: rsync: command not found
  3. [hadoop@node1 ~]$ sudo yum install rsync -y
复制代码
  rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把全部文件都复制已往。
  在主目次创建bin目次
  1. [hadoop@node1 ~]$ mkdir ~/bin
复制代码
创建分发脚本文件xsync
  1. [hadoop@node2 ~]$ vim ~/bin/xsync
复制代码
内容如下
  1. #!/bin/bash
  2. #1. 判断参数个数
  3. if [ $# -lt 1 ]
  4. then
  5.     echo Not Enough Arguement!
  6.     exit;
  7. fi
  8. #2. 遍历集群所有机器
  9. for host in node1 node2 node3
  10. do
  11.     echo ====================  $host  ====================   
  12.     #3. 遍历所有目录,挨个发送
  13.     for file in $@
  14.     do
  15.         #4. 判断文件是否存在
  16.         if [ -e $file ]
  17.             then
  18.                 #5. 获取父目录
  19.                 pdir=$(cd -P $(dirname $file); pwd)
  20.                 #6. 获取当前文件的名称
  21.                 fname=$(basename $file)
  22.                 ssh $host "mkdir -p $pdir"
  23.                 rsync -av $pdir/$fname $host:$pdir
  24.             else
  25.                 echo $file does not exists!
  26.         fi
  27.     done
  28. done
复制代码
修改权限
  1. [hadoop@node1 ~]$ chmod +x ~/bin/xsync
复制代码
测试
分别在node2、node3呆板安装xsync命令
  1. sudo yum install rsync -y
复制代码
把xsync命令发送到node2、node3
  1. xsync /home/hadoop/bin
复制代码
二、安装JDK

① 上传jdk文件到已经安装好的node1,上传方式有很多,任选一种方式即可:
② 上传成功后,通过 ls 命令查看是否上传成功
③ 解压jdk-8u202-linux-x64.tar.gz到/opt/module/hadoop目次下:
  1. [hadoop@node1 ~]$ tar -zxvf  jdk-8u202-linux-x64.tar.gz -C /opt/module/hadoop
复制代码
  没有/opt/module/hadoop目次先创建,由于是利用hadoop平凡用户,把hadoop目次的所属用户改为hadoop
  1. [hadoop@node1 ~]$ sudo chown hadoop:hadoop -R /opt/module/hadoop
复制代码
④建立 JDK 软链接,以方便后续利用:
  1. [hadoop@node1 hadoop]$ cd  /opt/module/hadoop/
  2. [hadoop@node1 hadoop]$ ln -s  /opt/module/hadoop/jdk1.8.0_202 jdk
复制代码
⑤ 设置 JDK 情况变量 :
  1. [hadoop@node1 hadoop]$ sudo vim /etc/profile
复制代码
  vim 为打开文件命令
  在文件内容的末尾添加如下代码(注意:等号两侧不要有空格)。
  1. export JAVA\_HOME=/opt/module/hadoop/jdk
  2. export JRE\_HOME=${JAVA\_HOME}/jre
  3. export CLASSPATH=$JAVA\_HOME/lib/dt.jar:$JAVA\_HOME/lib/tools.jar:.
  4. export PATH=${JAVA\_HOME}/bin:$PATH
复制代码
⑥ 使设置生效 :
  1. [hadoop@node1 hadoop]$ source /etc/profile
复制代码
⑦ 检验是否安装成功 :
  1. [hadoop@node1 hadoop]$ java -version
  2. java version "1.8.0\_202"
  3. Java(TM) SE Runtime Environment (build 1.8.0_202-b08)
  4. Java HotSpot(TM) 64-Bit Server VM (build 25.202-b08, mixed mode)
复制代码
三、Hadoop集群安装部署

1.安装Hadoop

(1) 上传hadoop安装包到已经安装好的node1,上传方式有很多,任选一种方式即可
(2)上传成功后,通过 ls 命令查看是否上传成功
(3)解压hadoop-3.3.4.tar.gz到/opt/module/hadoop/目次下
  1. [hadoop@node1 ~]$ tar -xzvf hadoop-3.3.4.tar.gz -C  /opt/module/hadoop/
复制代码
(4)建立 hadoop软链接,以方便后续利用
  1. [hadoop@node1 hadoop]$ cd  /opt/module/hadoop/
  2. [hadoop@node1 hadoop]$ ln -s  /opt/module/hadoop/hadoop-3.3.4 hadoop
复制代码
(5)设置 hadoop 情况变量
  1. [hadoop@node1 hadoop]$ sudo vim /etc/profile
复制代码
在文件内容的末尾添加如下代码(注意:等号两侧不要有空格)。
  1. export HADOOP\_HOME=/opt/module/hadoop/hadoop
  2. export PATH=$PATH:$HADOOP\_HOME/bin:$HADOOP\_HOME/sbin
复制代码
(6) 使设置生效 :
  1. [hadoop@node1 software]$ source /etc/profile
复制代码
(7) 校验
  1. [hadoop@node1 software]$ hadoop version
  2. Hadoop 3.3.4
  3. Source code repository https://github.com/apache/hadoop.git -r a585a73c3e02ac62350c136643a5e7f6095a3dbb
  4. Compiled by stevel on 2022-07-29T12:32Z
  5. Compiled with protoc 3.7.1
  6. From source with checksum fb9dd8918a7b8a5b430d61af858f6ec
  7. This command was run using /opt/module/hadoop/hadoop-3.3.4/share/hadoop/common/hadoop-common-3.3.4.jar
  8. [hadoop@node1 software]$
复制代码
看到hadoop版本号输出,说明情况变量设置成功
2.设置Hadoop 集群

1)核心设置文件
设置core-site.xml
  1. [hadoop@node1 bin]$ cd $HADOOP\_HOME/etc/hadoop
  2. [hadoop@node1 hadoop]$  vim core-site.xml
复制代码
内容如下:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>  
  3. <configuration>
  4. <!-- 指定NameNode的地址 -->
  5.     <property>
  6.         <name>fs.defaultFS</name>
  7.         <value>hdfs://node1:9820</value>
  8.     </property>
  9.     <!-- 指定hadoop数据的存储目录 -->
  10.     <property>
  11.         <name>hadoop.tmp.dir</name>
  12.         <value>/opt/module/hadoop/hadoop-3.3.4/data</value>
  13.     </property>
  14.     <!-- 配置HDFS网页登录使用的静态用户为hadoop -->
  15.     <property>
  16.         <name>hadoop.http.staticuser.user</name>
  17.         <value>hadoop</value>
  18.     </property>
  19.     <!-- 配置该hadoop(superUser)允许通过代理访问的主机节点 -->
  20.     <property>
  21.         <name>hadoop.proxyuser.hadoop.hosts</name>
  22.         <value>*</value>
  23.     </property>
  24.     <!-- 配置该hadoop(superUser)允许通过代理用户所属组 -->
  25.     <property>
  26.         <name>hadoop.proxyuser.hadoop.groups</name>
  27.         <value>*</value>
  28.     </property>
  29.     <!-- 配置该hadoop(superUser)允许通过代理的用户-->
  30.     <property>
  31.         <name>hadoop.proxyuser.hadoop.users</name>
  32.         <value>*</value>
  33.     </property>
  34. </configuration>  
复制代码
2)设置hdfs-site.xml
  1. [hadoop@node1 hadoop]$ vim hdfs-site.xml                                                      
复制代码
内容如下:
  1. <?xml version="1.0" encoding="UTF-8"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>   
  3. <configuration>
  4. <!-- nn web端访问地址-->
  5.     <property>
  6.         <name>dfs.namenode.http-address</name>
  7.                <value>node1:9870</value>
  8.     </property>
  9.     <!-- 2nn web端访问地址-->
  10.     <property>
  11.         <name>dfs.namenode.secondary.http-address</name>
  12.         <value>node3:9868</value>
  13.     </property>
  14. </configuration>   
复制代码
3)设置yarn-site.xml
  1. [hadoop@node1 hadoop]$ vim yarn-site.xml
复制代码
内容如下:
  1. <?xml version="1.0"?>
  2. <configuration>
  3.     <!-- 指定MR走shuffle -->
  4.     <property>
  5.         <name>yarn.nodemanager.aux-services</name>
  6.         <value>mapreduce_shuffle</value>
  7.         </property>
  8.    
  9.     <!-- 指定ResourceManager的地址-->
  10.     <property>
  11.         <name>yarn.resourcemanager.hostname</name>
  12.         <value>node2</value>
  13.     </property>
  14.    
  15.     <!-- 环境变量的继承 -->
  16.     <property>
  17.         <name>yarn.nodemanager.env-whitelist</name>
  18.     <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
  19.     </property>
  20.    
  21.     <!-- yarn容器允许分配的最大最小内存 -->
  22.     <property>
  23.         <name>yarn.scheduler.minimum-allocation-mb</name>
  24.         <value>512</value>
  25.     </property>
  26.     <property>
  27.         <name>yarn.scheduler.maximum-allocation-mb</name>
  28.         <value>2048</value>
  29.     </property>
  30.    
  31.     <!-- yarn容器允许管理的物理内存大小 -->
  32.     <property>
  33.         <name>yarn.nodemanager.resource.memory-mb</name>
  34.         <value>2048</value>
  35.     </property>
  36.    
  37.     <!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
  38.     <property>
  39.         <name>yarn.nodemanager.pmem-check-enabled</name>
  40.         <value>false</value>
  41.     </property>
  42.     <property>
  43.         <name>yarn.nodemanager.vmem-check-enabled</name>
  44.         <value>false</value>
  45.     </property>
  46. </configuration>
复制代码
4)设置mapred-site.xml
  1. [hadoop@node1 hadoop]$ vim mapred-site.xml
复制代码
内容如下:
  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4.     <!-- 指定MapReduce程序运行在Yarn上 -->
  5.     <property>
  6.         <name>mapreduce.framework.name</name>
  7.         <value>yarn</value>
  8.     </property>
  9. </configuration>
复制代码
5)设置workers
  1. [hadoop@node1 hadoop]$ vim workers
复制代码
把原有的内容替换成如下内容:
  1. node1
  2. node2
  3. node3
复制代码
  注意:该文件中添加的内容末端不允许有空格,文件中不允许有空行。
  6)设置历史服务器
修改mapred-site.xml
  1. [hadoop@node1 hadoop]$ vim mapred-site.xml
复制代码
mapred-site.xml添加如下设置
  1.     <!-- 历史服务器端地址 -->
  2.     <property>
  3.         <name>mapreduce.jobhistory.address</name>
  4.         <value>node1:10020</value>
  5.     </property>
  6.     <!-- 历史服务器web端地址 -->
  7.     <property>
  8.         <name>mapreduce.jobhistory.webapp.address</name>
  9.         <value>node1:19888</value>
  10.     </property>
复制代码
文件最闭幕果:
  1. <?xml version="1.0"?>
  2. <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
  3. <configuration>
  4.     <!-- 指定MapReduce程序运行在Yarn上 -->
  5.     <property>
  6.         <name>mapreduce.framework.name</name>
  7.         <value>yarn</value>
  8.     </property>
  9.         <!-- 历史服务器端地址 -->
  10.     <property>
  11.         <name>mapreduce.jobhistory.address</name>
  12.         <value>node1:10020</value>
  13.     </property>
  14.     <!-- 历史服务器web端地址 -->
  15.     <property>
  16.         <name>mapreduce.jobhistory.webapp.address</name>
  17.         <value>node1:19888</value>
  18.     </property>
  19. </configuration>
复制代码
7)设置日记聚集
修改yarn-site.xml
  1. [hadoop@node1 hadoop]$ vim yarn-site.xml
复制代码
yarn-site.xml在<configuration></configuration>之间添加如下设置
  1.     <!-- 开启日志聚集功能 -->
  2.     <property>
  3.         <name>yarn.log-aggregation-enable</name>
  4.         <value>true</value>
  5.     </property>
  6.     <!-- 设置日志聚集服务器地址 -->
  7.     <property>
  8.         <name>yarn.log.server.url</name>
  9.         <value>http://node1:19888/jobhistory/logs</value>
  10.     </property>
  11.     <!-- 设置日志保留时间为7天 -->
  12.     <property>
  13.         <name>yarn.log-aggregation.retain-seconds</name>
  14. ![img](https://img-blog.csdnimg.cn/img_convert/d492c33937c38569e132e630ae6a7e5b.png)
  15. ![img](https://img-blog.csdnimg.cn/img_convert/400e21790b8150d27b674e272125b423.png)
  16. ![img](https://img-blog.csdnimg.cn/img_convert/29f2941eb6f702ff28da506ca8a1b1e3.png)
  17. **既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!**
  18. **由于文件比较多,这里只是将部分目录截图出来,全套包含大厂面经、学习笔记、源码讲义、实战项目、大纲路线、讲解视频,并且后续会持续更新**
  19. **[需要这份系统化资料的朋友,可以戳这里获取](https://bbs.csdn.net/topics/618545628)**
  20. ml`在`<configuration></configuration>`之间添加如下配置
复制代码
  1. <!-- 开启日志聚集功能 -->
  2. <property>
  3.     <name>yarn.log-aggregation-enable</name>
  4.     <value>true</value>
  5. </property>
  6. <!-- 设置日志聚集服务器地址 -->
  7. <property>
  8.     <name>yarn.log.server.url</name>
  9.     <value>http://node1:19888/jobhistory/logs</value>
  10. </property>
  11. <!-- 设置日志保留时间为7天 -->
  12. <property>
  13.     <name>yarn.log-aggregation.retain-seconds</name>
复制代码
[外链图片转存中…(img-cc2bVQ5x-1715610179015)]
[外链图片转存中…(img-F8dIwDi7-1715610179016)]
[外链图片转存中…(img-jyttyYJQ-1715610179016)]
既有得当小白学习的零基础资料,也有得当3年以上经验的小搭档深入学习提升的进阶课程,涵盖了95%以上大数据知识点,真正体系化!
由于文件比较多,这里只是将部分目次截图出来,全套包罗大厂面经、学习条记、源码讲义、实战项目、大纲路线、讲解视频,而且后续会连续更新
必要这份体系化资料的朋友,可以戳这里获取

免责声明:如果侵犯了您的权益,请联系站长,我们会及时删除侵权内容,谢谢合作!更多信息从访问主页:qidao123.com:ToB企服之家,中国第一个企服评测及商务社交产业平台。

本帖子中包含更多资源

您需要 登录 才可以下载或查看,没有账号?立即注册

x
回复

使用道具 举报

0 个回复

倒序浏览

快速回复

您需要登录后才可以回帖 登录 or 立即注册

本版积分规则

莫张周刘王

金牌会员
这个人很懒什么都没写!

标签云

快速回复 返回顶部 返回列表