一、xshell远程访问服务器
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xj5YTdx4-1656142093629)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623105757828.png)]](https://i-blog.csdnimg.cn/blog_migrate/46a12b071ff13f105ef57726b7524fa3.png)
二、ssh安装(忽略)
-
下载ssh
yum install -y openssl openssh-server -
修改配置文件
lsattr /etc/ssh/sshd_config查看权限chattr -V -ia /etc/ssh/sshd_config修改权限vim /etc/ssh/sshd_config
- 将上图的
PermitRootLogin,RSAAuthentication,PubkeyAuthentication的设置打开。
-
启动ssh服务
systemctl start sshd.service -
设置开机自动启动ssh服务
systemctl enable sshd.service -
设置文件夹~./ssh的访问权限
-
cd ~ -
chattr -i ./.ssh -
chmod700 .ssh -
chmod600 .ssh/ -
ls -la .ssh -

-
authorized_keys文件存储的是客户端的公共密钥。
-
三、配置虚拟机通信(三台)
-
确保虚拟机之间可以相互访问
- 比如在某一机器上
ping另一个主机的ip:ping 10.64.26.98 
- 比如在某一机器上
-
配置虚拟机的hostname
-
vi /etc/hostname,将原内容删除,三台机器分别写入master,data1,data2,然后保存更改该并退出 -
sudo shutdown -r now重启服务器,让hostname生效 -

-

-

-
-
配置三台服务器的hosts
-
修改
/etc/hosts,使用命令vi /etc/hosts -
改为如下
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-LF1XWlgr-1656142093632)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623155018391.png)]](https://i-blog.csdnimg.cn/blog_migrate/fe646b83bc04fc36e46700a947cf7133.png)
-
每个机器都要这样修改
-
-
配置服务器之间的ssh免密登录(生成密钥)
- 在每个服务器上都运行
ssh-keygen -t rsa,一直回车即可 - [外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-lwOVHlJl-1656142093633)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623155138093.png)]
- 在每个服务器上都运行
-
实现节点间的免密访问
ssh-copy-id -i ~/.ssh/id_rsa.pub master ssh-copy-id -i ~/.ssh/id_rsa.pub data1 ssh-copy-id -i ~/.ssh/id_rsa.pub data2 -
检验配置是否成功:
ssh data1,查看是否免密跳转到对应的data1节点(使用exit退出)![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-cvgKu9Fp-1656142093633)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623155349451.png)]](https://i-blog.csdnimg.cn/blog_migrate/11203d3242b6083955d94cfd3bb37d82.png)
四、JDK和Hadoop环境配置
4.1 传送jdk和hadoop文件
-
使主机的
/usr/local文件夹支持写入cd /usrsudo chmod 777 local
-
解压分布式实验中
jdk和hadoop压缩包,然后在此处打开命令行,输入以下命令,将windows本地的hadoop传到主机上:scp .\hadoop-2.7.7.tar.gz .\jdk-7u80-linux-x64.tar.gz root@10.64.26.63:/usr/local此处的10.64.26.63即是主机的ip地址
-
过程:
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-xQk068V2-1656142093634)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623153742536.png)]](https://i-blog.csdnimg.cn/blog_migrate/9da277caf25757015b1b81a5c72ad20c.png)
-
查看主机对应文件夹
ls /usr/local![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-iPJ8nTUP-1656142093634)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623154043859.png)]](https://i-blog.csdnimg.cn/blog_migrate/b2a42d5defb68730843d91d9f5948c09.png)
-
在主机master上,将文件传给其他节点(data1,data2)
scp hadoop-2.7.7.tar.gz jdk-7u80-linux-x64.tar.gz root@data1:/usr/local
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qhejTeqE-1656142093635)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623155555110.png)]](https://i-blog.csdnimg.cn/blog_migrate/9da1f7906634f36e95779474b425fb1e.png)
4.2 安装jdk和hadoop
-
解压jdk和hadoop
cd /usr/local mkdir /usr/java mkdir /usr/hadoop tar -zxvf jdk-7u80-linux-x64.tar.gz -C /usr/java tar -zxvf hadoop-2.7.7.tar.gz -C /usr/hadoop/ -
配置环境变量
-
vim ~/.bashrc -
添加以下语句(复制以下语句,然后再vim中
shift+insert)export JAVA_HOME=/usr/java/jdk1.7.0_80 export PATH=$PATH:$JAVA_HOME/bin export HADOOP_HOME=/usr/hadoop/hadoop-2.7.7 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-2tgSLWcX-1656142093635)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623161953708.png)]](https://i-blog.csdnimg.cn/blog_migrate/a661bc4b3034e2db4d147e1b1f50695b.png)
-
使⽤
source ~/.bashrc,使其⽴即成效 -
java -version和hdfs version确定环境变量修改成功![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-TDeuFGT8-1656142093636)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623162128464.png)]](https://i-blog.csdnimg.cn/blog_migrate/2c16d67742b76f0b949d96bb2760c848.png)
-
4.3 服务器配置hadoop(每台都需要配置)
-
使用
cd /usr/hadoop/hadoop-2.7.7/etc/hadoop/,进入配置文件夹 -
修改hadoop-env.sh
-
使用
vim hadoop-env.sh,打开文件开始编辑 -
找到
export JAVA_HOME=的一行,注释掉,添加内容export JAVA_HOME=/usr/java/jdk1.7.0_80![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-6AznD5S0-1656142093637)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623163346796.png)]](https://i-blog.csdnimg.cn/blog_migrate/c7d7290e8ffafcd78a74bc49df1e07d8.png)
-
-
修改core-site.xml
-
使⽤
vim core-site.xml,打开⽂件开始编辑 -
在
<configuration></configuration>之间添加内容<!-- HDFS Web UI 监听端⼝配置 --> <property> <name>fs.defaultFS</name> <value>hdfs://master:8020</value> </property> <!-- Hadoop缓存⽬录(⾃动创建) --> <property> <name>hadoop.tmp.dir</name> <value>file:/root/temp/hadoop</value> </property>![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-FLNJ7zCn-1656142093637)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623192543839.png)]](https://i-blog.csdnimg.cn/blog_migrate/dd072e546fd176bc6f544ae61db347e8.png)
-
-
修改hdfs-site.xml
-
使⽤
vim hdfs-site.xml编辑 -
在
<configuration></configuration>之间添加内容<!-- 每个block存⼏份 --> <property> <name>dfs.replication</name> <value>2</value> </property> <!-- namenode数据⽬录 --> <property> <name>dfs.namenode.name.dir</name> <value>file:/root/temp/hadoop/namenode</value> </property> <!-- datanode数据⽬录 --> <property> <name>dfs.datanode.data.dir</name> <value>file:/root/temp/hadoop/datanode</value> </property>![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-9rTAcwah-1656142093637)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623192721927.png)]](https://i-blog.csdnimg.cn/blog_migrate/2e7a7c0d2afb10207aa3e795f7acc2c2.png)
-
-
修改mapred-site.xml
-
使⽤
cp mapred-site.xml.template mapred-site.xml,根据模板复制出mapred-site.xml ⽂件 -
使⽤
vim mapred-site.xml,编辑⽂件 -
在
<configuration></configuration>之间添加内容<!-- 设置MapReduce运⾏于yarn之上 --> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Tz4m0V1I-1656142093638)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623192853892.png)]](https://i-blog.csdnimg.cn/blog_migrate/7ced101df5c5d315fbf2f1c4b91c8d3d.png)
-
-
修改yarn-site.xml
-
使⽤
vim yarn-site.xml,开始编辑 -
在
<configuration></configuration>之间添加内容<name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property>![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-paj3sf2H-1656142093638)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623193153740.png)]](https://i-blog.csdnimg.cn/blog_migrate/dc797188c86499b5c6f93ae83ff4fe75.png)
-
-
修改slaves⽂件
-
使⽤
vim slaves,开始编辑 -
删除⽂件内所有内容,然后直接添加
data1 data2![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Yvg9iJt7-1656142093639)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623193243635.png)]](https://i-blog.csdnimg.cn/blog_migrate/36ffa77f27e25702805ea8470296c807.png)
-
-
拷贝所有配置文件到data1,data2
for i in {1..2}; do scp $HADOOP_HOME/etc/hadoop/* data${i}:$HADOOP_HOME/etc/hadoop/; done
4.4 启动Hadoop
4.4.1 关闭防火墙
在3个节点进⾏如下操作:
# 停掉防⽕墙
service firewalld stop
chkconfig firewalld off
4.4.2 格式化NameNode
hdfs namenode -format
这个命令非常危险!你应当只在新建集群后执行一次,因为namenode保存的是HDFS的所有元信息,如果丢失了,整个集群中DataNode的数据都无法访问,就算它们还在磁盘上
4.4.3 启动HDFS
运⾏NameNode daemon和DataNode daemon
-
使⽤
sbin/start-dfs.sh,启动dfs服务 -
正确启动,会有如下提⽰;并且输⼊jps也会有类似的
SecondaryNameNode, Jps, NameNode这样的提⽰ -
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-7c296eXG-1656142093639)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623185913314.png)]](https://i-blog.csdnimg.cn/blog_migrate/83f35c1d97e1d66b567f0a346155e53f.png)
-
dataX节点也可输⼊jps查看相应提示

-
如需关闭hdfs服务,在hadoop⽬录下使⽤
sbin/stop-dfs.sh
4.4.4 开启YARN
运⾏ResourceManager daemon和NodeManager daemon
-
使⽤
sbin/start-yarn.sh,启动yarn服务 -
正确启动,会有如下提⽰;并且输⼊jps也有类似提示
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-fSu95HFx-1656142093640)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623224132304.png)]](https://i-blog.csdnimg.cn/blog_migrate/17eb13f88c6bcb339d2eaf17ad284b92.png)
-
如需关闭,使用
sbin/stop-yarn.sh
4.4.5 使用前的准备工作
-
使用xftp将 将测试⽂件 tale.txt 和 war_peace.txt 上传到服务器上
-
将测试⽂件 tale.txt 和 war_peace.txt 上传到hdfs
hadoop fs -copyFromLocal tale.txt / hadoop fs -copyFromLocal war_peace.txt / # 查看 hadoop fs -ls /![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-jxuPvMa5-1656142093641)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623225234386.png)]](https://i-blog.csdnimg.cn/blog_migrate/1b72620c6ff698b92bbb712efc26e1fc.png)
-
在hdfs上创建⽬录并移动文件
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-mJTDHHL8-1656142093642)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623225315182.png)]](https://i-blog.csdnimg.cn/blog_migrate/4a5fab1e2ea44662caae2aa4468ff7d6.png)
4.4.6 在master节点使⽤mapreduce-wordcount
- 当hdfs和yarn服务成功开启后,便可以执行mapreduce程序
- 常规的指令为
hadoop jar jarFile [mainClass] args- 如果自己编写了Java开发的MapReduce版wordcount程序,需要将其打包成jar 包,然后使⽤上述指令执行
-
利⽤mapredice-wordcount对tale.txt进⾏单词统计
-
先进进入mapreduce文件夹
# 进⼊mapreduce ⽰例程序⽂件夹 cd $HADOOP_HOME/share/hadoop/mapreduce -
执行
hadoop jar hadoop-mapreduce-examples-2.7.7.jar wordcount /small/tale.txt /wordcount/output![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-qPrUszRQ-1656142093642)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623192031415.png)]](https://i-blog.csdnimg.cn/blog_migrate/92b15bb7ec67073f4916c699f21d1754.png)
-
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-16ukLVf7-1656142093643)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623192052691.png)]](https://i-blog.csdnimg.cn/blog_migrate/8df0d3ecfd42893535938f80f5a89950.png)
-
查看结果
使⽤
hadoop fs -ls -R /,查看wordcount执⾏完成后hdfs的状态
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-kRqEJQtb-1656142093643)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623192115354.png)]](https://i-blog.csdnimg.cn/blog_migrate/cbf962250674ee2411b1e3e13604312b.png)
- 把wordcount输出⽂件从hdfs拷⻉到本地
# 切换⾄~⽬录
cd
# 查看当前~⽬录状态
ll
# 将wordcount输出⽬录/wordcount/output拷⻉到本机~⽬录
hadoop fs -copyToLocal /wordcount/output
# 查看拷⻉后~⽬录状态
ll
# 切换⾄output⽬录
cd output/
# 查看output⽬录状态
ll
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-Zx26NSAV-1656142093644)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623230159503.png)]](https://i-blog.csdnimg.cn/blog_migrate/195a8bd70442b6454e23a7cc4798a207.png)
4. 查看输出文件
less part-r-00000
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-XKDeb09h-1656142093645)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623230305890.png)]](https://i-blog.csdnimg.cn/blog_migrate/6fa9d794c45a529b2d56f2c997c34a7e.png)
本文详细介绍了如何通过SSH在Linux环境下配置多台虚拟机的远程访问,包括SSH安装、权限设置、免密登录等步骤。接着,重点讲述了在三台服务器上配置Hadoop环境的过程,包括JDK安装、Hadoop文件传输、环境变量配置、Hadoop相关配置文件修改、启动Hadoop服务以及执行MapReduce任务。此外,还涉及到了防火墙关闭、HDFS的格式化、数据上传及MapReduce的WordCount示例。
![[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-82KyUgHw-1656142093641)(C:\Users\wzq20\AppData\Roaming\Typora\typora-user-images\image-20220623224317171.png)]](https://i-blog.csdnimg.cn/blog_migrate/0b0915a1ff6f610ee0e5e98a62f6408c.png)
908

被折叠的 条评论
为什么被折叠?



