1.统一用户名:
如:假设n台机器并均有一个公共用户GWY,那么该用户就是构建起这个集群的主人,一个集群只能有一个主人,所以没有共同用户的节点是不能构建起一个集群的。
2.免密登录:
假设有6台电脑,则两两之间包括自己跟自己之间都需要进行免密登录的设置,这样在后续的启动中,会方便许多。
3.时间统一,要保证多台虚拟机的时间误差基本一致(时间误差3秒以内是可以接受的)
4.主机名与IP地址的映射,这样做,可以做是为了让计算机认为某一IP地址=某一主机名
工具包:win10操作系统下的cmd(win+r,输入cmd,回车)
win10操作系统下的win-scp软件
材料准备:openjdk-17.0.1_linux-x64_bin.tar.gz
hadoop-3.3.2.tar.gz
机器安排:6台虚拟机,每个机器名都做过映射,每个机器名对应一个ip地址。
| 机器名 | 角色 |
| westgisB076 | NameNode |
| westgisB077 | DataNode |
| westgisB078 | DataNode |
| westgisB079 | DataNode |
| westgisB080 | DataNode |
| westgisB081 | Client |
1.win-scp传输软件包至76主节点,以后都用这个免费的软件:
用户名:GWY
主机名:westgisB076(如果没有做过映射,直接使用ip地址,这里是win10环境下)
2.cmd登录虚拟机,解压软件包:登陆以后就等于是在linux环境下了,如果要使用主机名,如下面的westgisB076,它对应着这台机子的ip。也需要做ip地址和主机名之间的映射:
3.解压更名软件包:linux操作命令
//解压并更名为hadoop tar -zxvf hadoop-3.3.2.tar.gz mv hadoop-3.3.2 hadoop //解压并更名为open-jdk tar -zxvf openjdk-17.0.1_linux-x64_bin.tar.gz mv jdk180 open-jdk
如图:
4.配置环境变量,方便今后使用软件命令
//首先,回到用户的根目录下 cd ~ //输入以下命令: vi .bashrc //进入以后,键入i,输入以下内容: #java export JAVA_HOME=/home/GWY/open-jdk ##此处为该软件的绝对路径,利用pwd命令查看 export PATH=$JAVA_HOME/bin:$PATH #Hadoop export HADOOP_HOME=/home/GWY/hadoop export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
最后esc,再shift+q,输入wq保存退出
5.验证基本环境配置完成
输入以下命令:提示类似便是成功
集群部署:1.返回根目录:cd ~
2.查看文件目录:ls
3.cd hadoop 再pwd:就可以显示出hadoop的绝对路径,ll知道下面有包括sbin和bin的多个目录:
4.修改HDFS配置信息:我使用的绝对路径
学习前期主要涉及四个文件:core-site.xml, hdfs-site.xml. hadoop-env.sh和slaves
##vi core-site.xml输入以下信息并ESC,再shift+q,wq保存退出##vi hdfs-site.xml输入以下信息并ESC,再shift+q,wq保存退出 fs.defaultFS hdfs://westgisB076:8020 ##vi hadoop-env.sh 直接shift+G跳到最后一行,按一下i在末尾加上 export JAVA_HOME=/home/GWY/open-jdk ##vi workers,添加作为DataNode的主机名 westgisB077 westgisB078 westgisB079 westgisB080 dfs.replication 2 dfs.namenode.name.dir /home/GWY/HDFS/name dfs.datanode.data.dir /hadoop/GWY/HDFS/data
5.创建必要两个文件夹:
cd ~
mkdir -p /home/GWY/HDFS/name ##对应dfs-site配置文件中的配置信息
mkdir -p /home/GWY/HDFS/data
pwd
6.编写一个脚本,用于传输文件至其它节点:
cd ~
mkdir bin
cd bin
vi copy.sh
按i键或者Insert键,输入以下文本信息
#!/bin/bash
for i in westgisB0{77..81};
do
scp -r /home/GWY/* $i:~
done
按Esc,再按Shift+q,弹出输入框,输入wq即可保存退出
接着:ls
chmod u+x copy.sh
最后借助脚本文件将所有东西copy至其他节点:
./copy.sh
会提示以下信息:
耐心等待传输完成,登录最后一台client--westgisB081产看是否copy成功
ssh westgisB077
ll
回到主节点:需要重新copy环境变量
ssh westgisB076
cd ~
scp -r .bashrc westgisB077:~
scp -r .bashrc westgisB078:~
scp -r .bashrc westgisB079:~
scp -r .bashrc westgisB080:~
scp -r .bashrc westgisB081:~
最后初始化:
hadoop namenode -format
启动和关闭命令:
$HADOOP_HOME/sbin/start-dfs.sh $HADOOP_HOME/sbin/stop-dfs.sh
各个节点状态如此。算是成功了。
查看监控及界面:浏览器导航栏
westgisB076:9870
最后,cmd有点不好用,可以使用Xshell或者SecureCRT
因为使用的jdk版本过高,无法jdk1.8找不到了,所有会出现以下错误:
不过不影响我们创建文件:



