0


20241102-Windows 10上安装虚拟机VMware10.0.2、Hadoop3.3.6与jdk1.8.0

Windows 10 专业版上安装虚拟机 VMware10.0.2、Xshell8.0、Hadoop3.3.6 与 jdk1.8.0【命令式】

笔记笔记笔记笔记

1. 写在前面

好片: Hadoop 保姆级超详细安装教程_哔哩哔哩_bilibili ——文章的从虚拟机到 Hadoop 安装【主】
好文: Hadoop3.3.6 完全分布式集群【三个节点】的安装配置-CSDN 博客 ——文章的 Hadoop 安装的 Hadoop 文件配置等

Windows 10 端提前安装好必要的软件:VMware10.0.2Xshell8.0

Windows 10 端提前下载好必要的软件包:hadoop-3.3.6.tar.gzjdk-8u431-linux-x64.tar.gz

一个 master 与两个 si(s1、s2):主要操作在 master,无特殊说明均在 master

不知道文件夹内有哪些文件与文件夹可以使用

  1. ls

/

  1. ls -all

查看

2.VMware10.0.2(参考好片)

  1. Ctrl+Alt

:显示鼠标

  1. Ctrl+A+R

:重启虚拟机

用户名:

  1. root

密码:

  1. 1111

——输密码时不显示,只管输就行

2.1 配置静态网络:

检查网络连接是否正常:

  1. ping www.baidu.com

——>

  1. Ctrl+c

停止

  1. ping

命令
测试网络是否可用

打开网络连接:

  1. service network restart

…… ->

  1. ping ……

2.2 定位到网络文件配置的文件位置并将 ip 地址改为静态:

cd 目录:

  1. cd /etc

注:有

  1. /

是绝对路径,没有是相对路径

[

  1. cd ..

——返回上一级目录

  1. cd

后跟一个空格和波浪号 (~)[非必要],表示切换到当前用户的 home 目录]

  1. su

命令?【需要学习】

  1. cd sysconfig
  1. cd network-[tab键——后面的文件夹唯一确定(scripts)——两下tab键显示目录]

展示当前文件夹内的文件:

  1. ls

——

  1. list show

注:看详细文件信息文件夹+文件:ll

编辑器打开文件:vi 文件名

  1. vi ifcfg-ens33

-> 查 vi 操作的使用方法

  1. i

键编辑文件

  1. 改:bootprotostatic onbootyes
  2. 增:
  3. ip 地址:IPADDR = "192.168.子网 IP.自由填" 192.168.17.10/20/30
  4. 子网掩码:netmask = "255.255.255.0"
  5. 指定网关:GATEWAY = "192.168.子网 IP.2"
  6. 连接外网需要配置-域名解析服务器: DNS1 = 180.76.76.76 DNS2 = 223.5.5.5

  1. Esc

退出编辑、保存:

  1. :wq

——保存并退出(: q 直接退出, : q! 强制退出)

  1. ping www.baidu.com

2.3 关闭防火墙

1:查看防火状态

  1. systemctl status firewalld

2:暂时关闭防火墙

  1. systemctl stop firewalld

3:永久关闭防火墙

  1. systemctl disable firewalld

4:重启防火墙

  1. systemctl enable firewalld

5:再查看防火状态

  1. systemctl status firewalld

2.4 配置主机名:

修改主机名:

  1. hostnamectl set-hostname 机械名自拟

-> 重启:

  1. reboot

/

  1. exit

(快一些)

2.5 编辑hosts文件:master、s1、s2

  1. vi /etc/hosts

  1. i

进入编辑模式

  1. 增:【ip地址 机械名】
  2. 192.168.17.10 master
  3. 192.168.17.20 s1
  4. 192.168.17.30 s2
  5. ——便于 ping 操作等
  1. Esc

->

  1. :wq

保存并退出

3. Xshell

ssh -> Secure Shell:(一类工具)向两个机子上搭建桥梁进行文件传输

Xshell: 新建 -> 输入名称和ip地址 -> 用户名root与密码1111

3.1 传文件:

  1. rz

(receive Zmodem)/

  1. sz

(send Zmodem) -> 安装:

  1. yum install lrzsz -y

–出现安装错误是因为使用的 CentOS 7 仓库已经被归档,当前的镜像地址无法找到所需的文件。

解决方法参见该文:CentOS 7 yum无法使用…… - 愚生浅末 - 博客园

  1. cd /etc/yum.repos.d
  1. cp CentOS-Base.repo CentOS-Base.repo.backup
  1. vi CentOS-Base.repo

修改后:(建议直接全删了,重写)

  1. # CentOS-Base.repo
  2. #
  3. # The mirror system uses the connecting IP address of the client and the
  4. # update status of each mirror to pick mirrors that are updated to and
  5. # geographically close to the client. You should use this for CentOS updates
  6. # unless you are manually picking other mirrors.
  7. #
  8. # If the mirrorlist= does not work for you, as a fall back you can try the
  9. # remarked out baseurl= line instead.
  10. #
  11. #
  12. [base]
  13. name=CentOS-$releasever - Base
  14. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=os&infra=$infra
  15. #baseurl=http://mirror.centos.org/centos/$releasever/os/$basearch/
  16. #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
  17. baseurl=http://vault.centos.org/7.9.2009/os/$basearch/
  18. gpgcheck=1
  19. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  20. #released updates
  21. [updates]
  22. name=CentOS-$releasever - Updates
  23. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=updates&infra=$infra
  24. #baseurl=http://mirror.centos.org/centos/$releasever/updates/$basearch/
  25. #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
  26. baseurl=http://vault.centos.org/7.9.2009/updates/$basearch/
  27. gpgcheck=1
  28. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  29. #additional packages that may be useful
  30. [extras]
  31. name=CentOS-$releasever - Extras
  32. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=extras&infra=$infra
  33. #$baseurl=http://mirror.centos.org/centos/$releasever/extras/$basearch/
  34. #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
  35. baseurl=http://vault.centos.org/7.9.2009/extras/$basearch/
  36. gpgcheck=1
  37. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7
  38. #additional packages that extend functionality of existing packages
  39. [centosplus]
  40. name=CentOS-$releasever - Plus
  41. #mirrorlist=http://mirrorlist.centos.org/?release=$releasever&arch=$basearch&repo=centosplus&infra=$infra
  42. #baseurl=http://mirror.centos.org/centos/$releasever/centosplus/$basearch/
  43. #baseurl=http://vault.centos.org/7.9.2009/x86_64/os/
  44. baseurl=http://vault.centos.org/7.9.2009/centosplus/$basearch/
  45. gpgcheck=1
  46. enabled=0
  47. gpgkey=file:///etc/pki/rpm-gpg/RPM-GPG-KEY-CentOS-7

保存并退出

阿里云镜像源:

  1. curl -o /etc/yum.repos.d/CentOS-Base.repo https://mirrors.aliyun.com/repo/Centos-7.repo

执行:

  1. sudo yum clean all

——清除索引缓存

  1. sudo yum makecache

——重建 yum 缓存

  1. cd /文件名

——文件传输的存储地址

  1. cd

后跟一个空格和波浪号 (~)[非必要],表示切换到当前用户的 home 目录
传文件:

  1. rz

--完毕–> 查看已经传好的文件:

  1. ls

3.2 ssh免密登录:master 远程连接 s1 、 s2 (因为烦人的hadoop后期需要)

一般:

  1. ssh s1

-> 退出:

  1. exit

从 namenode 到本身及各 datanode 免密登录

在各机器上执行(在免密登录的用户下):

  1. ssh-keygen -b 1024 -t rsa

(一路回车,master要把他的公钥传给s1、s2,s1与s2也要执行用以生成私钥传给master)

在~/.ssh/下生成:私钥id_rsa,公钥id_rsa.pub:【查看隐藏文件】 ls -all

  1. cd .ssh

-> 看文件:

  1. ls

(公私钥)

master 免密登录 s1、s2:master 发公钥给 s1、s2(放到 si 的 authorized_keys 文件里)

  1. master:
  1. cd .ssh
  1. ssh-copy-id s1

(机器节点)

  1. ssh-copy-id s2
  1. ssh-copy-id master

(不用输入自己的密码)

  1. s1:
  1. cd .ssh
  1. ssh-copy-id s1
  1. s2:操作同s1
  1. cd .ssh
  1. ssh-copy-id s2
  1. 验证是否成功:master 免密登录 s1、s2

先查看一下:

  1. vi authorized_keys

登录:

  1. ssh si

登出:

  1. exit

3.2 设置权限:

  1. cd .ssh
  1. chmod 600 authorized_keys

–chmod(英文全拼:change mode)命令是控制用户对文件的权限的命令[600 可读可写]

Linux chmod 命令 | 菜鸟教程

3.3 设置集群时钟同步:解决请求超时问题

[超级用户操作:

  1. su root

]

  1. cd .ssh

自动定时同步(设置系统定时任务):

  1. crontab -e

  1. vi

操作,

  1. i

插入,

  1. Esc

  1. :wq

增:

  1. 0 1 * * * /user/sbin/ntpdata cn.pool.ntp.org

——每小时从网址上获取并更新时间

时间格式:

  1. f1 f2 f3 f4 f5 program(命令 参数)
  1. * * * * *
  1. - - - - -
  1. | | | | |
  1. | | | | +----- 星期中星期几 (0 - 6) (星期天 0)
  1. | | | +---------- 月份 (1 - 12)
  1. | | +--------------- 一个月中的第几天 (1 - 31)
  1. | +-------------------- 小时 (0 - 23)
  1. +------------------------- 分钟 (0 - 59)

查看时间:

  1. clock

3.4 解压与安装:master、s1、s2

  1. cd

先查看文件:

  1. ls

tar -xzvf 待解压的文件名 -c 目标路径
tar -czvf 待压缩的文件名 文件或目录

解压在现文件夹:

  1. tar -xzvf hadoop-3.3.6.tar.gz
  1. tar -xzvf jdk-8u431-linux-x64.tar.gz

删除文件:

  1. rm 文件1 文件2 文件3
  1. rm jdk-18.0.2.1_windows-x64_bin.exe

删除文件夹及其内容:

  1. rm -r 文件夹名

【-r 参数(递归删除)来确保连同子文件夹一起删除】

  1. rm -rf 文件名

【-rf 强制删除】

查看:

  1. ls

->

  1. [anaconda-ks.cfg hadoop-3.3.6 hadoop-3.3.6.tar.gz jdk1.8.0_431 jdk-8u431-linux-x64.tar.gz]

创建文件夹:

  1. mkdir 名称
  1. vi

升级版

  1. vim

的安装:

  1. yum install vim -y

3.5 配置 jdk 环境变量:master、s1、s2 三个路径统一

查看文件:

  1. ls -all

【.bash_profile】

修改配置文件:

  1. vim .bash_profile
  1. 增:
  2. export JAVA_HOME=/root/jdk1.8.0_431
  3. export PATH=$JAVA_HOME/bin:$PATH
  1. :

为分隔符
PATH的作用:便于程序执行时从系统目录找Java等文件

应用修改后的配置:

  1. source .bash_profile

查看Java版本:

  1. java -version

将 jdk 文件从 master 上复制到 s1、s2:

  1. scp -r jdk1.8.0_431 root@s1:~/
  1. scp -r jdk1.8.0_431 root@s2:~/

【命令:

  1. scp [可选参数] file_source file_target


【命令:

  1. scp -r local_folder remote_username@remote_ip:remote_folder

【删除文件夹及其内容:

  1. rm -rf $HADOOP_HOME

分别对 s1、s2 配置 jdk 环境变量…… 【

  1. vim .bash_profile ……

4. 修改 hadoop 默认值【官方文档 hadoop /Index of /docs】

解压 hadoop-3.3.6 在现文件夹:

  1. tar -xzvf hadoop-3.3.6.tar.gz

hadoop-3.3.6/etc/hadoop/

  • core-default.xml
  • hdfs-default.xml
  • hdfs-rbf-default.xml
  • mapred-default.xml
  • yarn-default.xml
  • kms-default.xml
  • httpfs-default.xml
  1. cd hadoop-3.3.6
  1. cd etc
  1. cd hadoop

或一步到胃

  1. cd hadoop-3.3.6/etc/hadoop/

4.1修改 core-site.xml 文件

  1. vim core-site.xml

——该改的改,下同

  1. <configuration>
  2. <!-- 设置默认使用的文件系统 Hadoop支持file、HDFS、GFS、ali|Amazon云等文件系统 -->
  3. <property>
  4. <name>fs.default.name</name>
  5. <value>hdfs://master:9000</value>
  6. </property>
  7. <!-- 指定Hadoop的临时文件的本地存放路径 -->
  8. <property>
  9. <name>hadoop.tmp.dir</name>
  10. <value>/root/hadoop-3.3.6/data/tmp</value>
  11. </property>
  12. <!-- 设置HDFS web UI用户身份 -->
  13. <property>
  14. <name>hadoop.http.staticuser.user</name>
  15. <value>root</value>
  16. </property>
  17. <!-- 配置该root(superUser)允许通过代理访问的主机节点 -->
  18. <property>
  19. <name>hadoop.proxyuser.root.hosts</name>
  20. <value>*</value>
  21. </property>
  22. <!-- 配置该root(superUser)允许通过代理用户所属组 -->
  23. <property>
  24. <name>hadoop.proxyuser.root.groups</name>
  25. <value>*</value>
  26. </property>
  27. <!-- 配置该root(superUser)允许通过代理的用户-->
  28. <property>
  29. <name>hadoop.proxyuser.root.groups</name>
  30. <value>*</value>
  31. </property>
  32. </configuration>

4.2 修改 hadoop-env.sh 文件

  1. vim hadoop-env.sh
  1. <configuration>
  2. <!-- 指定HDFS的主节点的元数据文件的本地存放路径 -->
  3. <property>
  4. <name>dfs.namenode.name.dir</name>
  5. <value>/root/hadoop-3.3.6/data/namenode</value>
  6. </property>
  7. <!-- 指定HDFS的数据节点的数据文件的本地存放路径 -->
  8. <property>
  9. <name>dfs.datanode.data.dir</name>
  10. <value>/root/hadoop-3.3.6/data/datanode</value>
  11. </property>
  12. <!-- nn web端访问地址-->
  13. <property>
  14. <name>dfs.namenode.http-address</name>
  15. <value>master:9010</value>
  16. </property>
  17. <!-- 2nn web端访问地址 NameNode 和 SecondaryNameNode 尽量不要安装在同一台服务器-->
  18. <property>
  19. <name>dfs.namenode.secondary.http-address</name>
  20. <value>master:9020</value>
  21. </property>
  22. <!-- 指定HDFS的数据分块的备份数量/虚拟机数量 -->
  23. <property>
  24. <name>dfs.replication</name>
  25. <value>2</value>
  26. </property>
  27. </configuration>

4.3 修改 mapred-site.xml 文件

  1. vim mapred-site.xml
  1. <configuration>
  2. <!-- 指定MapReduce所使用的外部管理框架,这里使用Hadoop 3.3.6自带的YARN资源管理器 -->
  3. <property>
  4. <name>mapreduce.framework.name</name>
  5. <value>yarn</value>
  6. </property>
  7. <!-- jobhistory properties -->
  8. <!-- 设置 mapreduce 的历史服务器地址和端口号 -->
  9. <property>
  10. <name>mapreduce.jobhistory.address</name>
  11. <value>master:9030</value>
  12. </property>
  13. <!-- mapreduce 历史服务器的 web 访问地址 -->
  14. <property>
  15. <name>mapreduce.jobhistory.webapp.address</name>
  16. <value>master:9040</value>
  17. </property>
  18. </configuration>

4.4 修改 yarn-site.xml 文件

  1. vim yarn-site.xml
  1. <configuration>
  2. <!-- Site specific YARN configuration properties -->
  3. <!-- 指定ResourceManager -->
  4. <property>
  5. <name>yarn.resourcemanager.hostname</name>
  6. <value>master</value>
  7. </property>
  8. <property>
  9. <name>yarn.resourcemanager.address</name>
  10. <value>${yarn.resourcemanager.hostname}:8032</value>
  11. </property>
  12. <property>
  13. <name>yarn.resourcemanager.scheduler.address</name>
  14. <value>${yarn.resourcemanager.hostname}:8030</value>
  15. </property>
  16. <property>
  17. <name>yarn.resourcemanager.webapp.address</name>
  18. <value>${yarn.resourcemanager.hostname}:8088</value>
  19. </property>
  20. <property>
  21. <name>yarn.resourcemanager.webapp.https.address</name>
  22. <value>${yarn.resourcemanager.hostname}:8090</value>
  23. </property>
  24. <property>
  25. <name>yarn.resourcemanager.resource-tracker.address</name>
  26. <value>${yarn.resourcemanager.hostname}:8031</value>
  27. </property>
  28. <property>
  29. <name>yarn.resourcemanager.admin.address</name>
  30. <value>${yarn.resourcemanager.hostname}:8033</value>
  31. </property>
  32. <property>
  33. <name>yarn.nodemanager.local-dirs</name>
  34. <value>/root/hadoop-3.3.6/data/local</value>
  35. </property>
  36. <!-- 开启日志聚集功能 -->
  37. <property>
  38. <name>yarn.log-aggregation-enable</name>
  39. <value>true</value>
  40. </property>
  41. <property>
  42. <name>yarn.nodemanager.remote-app-log-dir</name>
  43. <value>/root/hadoop-3.3.6/data/tmp/logs</value>
  44. </property>
  45. <!-- 设置日志聚集服务器地址 -->
  46. <property>
  47. <name>yarn.log.server.url</name>
  48. <value>http://master:9040/jobhistory/logs/</value>
  49. <description>URL for job history server</description>
  50. </property>
  51. <property>
  52. <name>yarn.nodemanager.vmem-check-enabled</name>
  53. <value>false</value>
  54. </property>
  55. <property>
  56. <name>yarn.nodemanager.aux-services</name>
  57. <value>mapreduce_shuffle</value>
  58. </property>
  59. <property>
  60. <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
  61. <value>org.apache.hadoop.mapred.ShuffleHandler</value>
  62. </property>
  63. <property>
  64. <name>yarn.application.classpath</name>
  65. <value>
  66. $HADOOP_HOME/etc/hadoop:$HADOOP_HOME/share/hadoop/common/lib/*:$HADOOP_HOME/share/hadoop/common/*:$HADOOP_HOME/share/hadoop/hdfs:$HADOOP_HOME/share/hadoop/hdfs/lib/*:$HADOOP_HOME/share/hadoop/hdfs/*:$HADOOP_HOME/share/hadoop/mapreduce/lib/*:$HADOOP_HOME/share/hadoop/mapreduce/*:$HADOOP_HOME/share/hadoop/yarn:$HADOOP_HOME/share/hadoop/yarn/lib/*:$HADOOP_HOME/share/hadoop/yarn/*
  67. </value>
  68. </property>
  69. <!-- 关闭yarn对物理内存和虚拟内存的限制检查 -->
  70. <property>
  71. <name>yarn.nodemanager.pmem-check-enabled</name>
  72. <value>false</value>
  73. </property>
  74. <property>
  75. <name>yarn.nodemanager.vmem-check-enabled</name>
  76. <value>false</value>
  77. </property>
  78. </configuration>

4.5 修改 yarn-env.sh 文件

在 yarn-env.sh 文件末尾加上:

  1. vim yarn-env.sh
  1. 增:export JAVA_HOME=/root/jdk1.8.0_431

4.6 修改 workers 文件

修改 workers 【不能有空格和空行】 删除原有 localhost:

  1. vim workers

增:

  1. s1
  2. s2

4.6 修改两个 dfs.sh 与 两个 yarn.sh 文件

  1. cd
  1. cd hadoop-3.3.6/sbin
  1. vim start-dfs.sh
  1. vim stop-dfs.sh
  1. 两个文件顶部添加:
  2. HDFS_DATANODE_USER=root
  3. HADOOP_SECURE_DN_USER=hdfs
  4. HDFS_NAMENODE_USER=root
  5. HDFS_SECONDARYNAMENODE_USER=root
  1. vim start-yarn.sh
  1. vim stop-yarn.sh
  1. 两个文件顶部添加:
  2. YARN_RESOURCEMANAGER_USER=root
  3. HADOOP_SECURE_DN_USER=yarn
  4. YARN_NODEMANAGER_USER=root

4.7 修改

  1. hosts

文件

  1. cd
  1. cd hadoop-3.3.6/etc/
  1. vim hosts
  1. 增:
  2. 192.168.17.10 master master.centos.com
  3. 192.168.17.20 s1 s1.centos.com
  4. 192.168.17.30 s2 s2.centos.com

4.8 修改

  1. .bash_profile

文件

【在 s1、s2 上也要配置】

  1. cd
  1. vim .bash_profile
  1. 增:
  2. PATH=$PATH:$HOME/bin
  3. export JAVA_HOME=/root/jdk1.8.0_431
  4. export PATH=$JAVA_HOME/bin:$PATH
  5. export HADOOP_HOME=/root/hadoop-3.3.6
  6. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. source .bash_profile

4.9 修改

  1. .bashrc

文件

【在 s1、s2 上也要配置】

  1. cd
  1. vim .bashrc
  1. 增:
  2. PATH=$PATH:$HOME/bin
  3. export JAVA_HOME=/root/jdk1.8.0_431
  4. export PATH=$JAVA_HOME/bin:$PATH
  5. export HADOOP_HOME=/root/hadoop-3.3.6
  6. export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  1. source .bashrc

4.10 新建上述配置中要的文件夹:【有的会自动创建,非必要】

  1. mkdir 名称
  1. cd /root/hadoop-3.3.6
  1. mkdir data
  1. cd data
  1. mkdir namenode
  1. mkdir datanode
  1. mkdir tmp
  1. mkdir local
  1. cd tmp
  1. mkdir logs

4.11 将 hadoop 文件从 master 上复制到 s1、s2:【命令:

  1. scp [可选参数] file_source file_target

  1. scp -r hadoop-3.3.6 root@s1:~/
  1. scp -r hadoop-3.3.6 root@s2:~/

分别对 s1、s2 配置 hadoop 环境变量…… 【

  1. vim .bash_profile ……


【在 s1、s2 上配置 ——参上】

  1. vim .bash_profile
  1. source .bash_profile
  1. vim .bashrc
  1. source .bashrc

5. 启动 hadoop:

查看Java版本:

  1. java -version

查看hadoop版本:

  1. hadoop version

hadoop-3.3.6/bin

格式化 NameNode 【只需要一次格式化即可,后续启动无需格式化】:

  1. hdfs namenode -format

/

  1. hadoop namenode -format

(前面不行可试)

hadoop-3.3.6/sbin ——【sh文件不行,试试cmd文件】

开启 ResourceManager 和 NodeManager(——不关闭窗口),命令:

  1. start-yarn.sh

开启 DataNode 和 NameNode(——不关闭窗口),命令:

  1. start-dfs.sh

一步到位:

  1. start-all.sh

/

  1. start-all.cmd

(前面不行可试)

查看进程命令:

  1. jps

2209 NameNode
2707 ResourceManager
2469 SecondaryNameNode
4046 Jps

在本地电脑添加映射:

地址: C:\Windows\System32\drivers\etc

  1. 增: ——我的本地没有 hosts,自己新建一个
  2. 192.168.17.10 master
  3. 192.168.17.20 s1
  4. 192.168.17.30 s2

关闭进程命令:

  1. stop-dfs.sh
  1. stop-yarn.sh

一步到位:

  1. stop-all.sh

/

  1. stop-all.cmd

(前面不行可试)

标签: windows hadoop jdk

本文转载自: https://blog.csdn.net/qq_45913057/article/details/143458472
版权归原作者 陈晨辰熟稳重 所有, 如有侵权,请联系我们删除。

“20241102-Windows 10上安装虚拟机VMware10.0.2、Hadoop3.3.6与jdk1.8.0”的评论:

还没有评论