文章目录
- 云计算实验——Hadoop实验
- 实验环境
- 一、安装Hoodap
- 1.1安装虚拟机+centos7
- 1.2下载hadoop3.3.2
- 1.3上传到centos中
- 1.4JDK环境搭建
- 1.4hadoop环境变量
- 1.5 设置ssh免密码登录
- 1.6修改Hadoop配置文件
- 1.7启动Hadoop
- 1.7.1初始化
- 1.7.2启动Hadoop集群
- 1.8 查看NameNode和Yarn
- 1.9运行Hadoop自带的wordcount程序
- 参考:
实验环境
VMware workstation 16 player
centos7
搭建Hadoop3.3.2分布式集群
官网下载实在是太慢了,几k几k的下载速度,这里使用镜像下载
使用清华镜像:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/
点击下载 hadoop-3.3.2.tar.gz 2022-03-03 03:46 609M
这里使用共享文件上传
找到共享文件
解压文件
复制一份到目录/hadoop
这里参考:https://blog.csdn.net/weixin_38972910/article/details/115375082
首先卸载自带的jdk
rpm -qa | grep java | xargs rpm -e --nodeps
安装jdk
yum install java-1.8.0-openjdk* -y
验证jdk
java -version
环境变量
查看yum 安装的jdk位置
ls -l /etc/alternatives/java
打开vi /etc/profile
另附上/etc/profile中JAVA_HOME的配置:(必须在文件末加上)
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64
export JRE_HOME=
J
A
V
A
H
O
M
E
/
j
r
e
e
x
p
o
r
t
C
L
A
S
S
P
A
T
H
=
.
:
{JAVA_HOME}/jre export CLASSPATH=.:
JAVAHOME/jreexportCLASSPATH=.:{JAVA_HOME}/lib:
J
R
E
H
O
M
E
/
l
i
b
e
x
p
o
r
t
P
A
T
H
=
{JRE_HOME}/lib export PATH=
JREHOME/libexportPATH={JAVA_HOME}/bin:$PATH
跟着上面一步,也搭建环境变量(文件末加入)
HADOOP_HOME=/hadoop/hadoop-3.3.2
export PATH=
P
A
T
H
:
PATH:
PATH:HADOOP_HOME/bin:$HADOOP_HOME/sbin
退出vim编辑器
保存文件立即生效
source /etc/profile
查看hadoop环境变量是否成功
hadoop version
因为Hadoop是分布式平台,需要多个机器之间协作,设置ssh免密码登录可以减少每次登陆主机输入密码的繁琐流程。
1)centos自带ssh
2)设置免密登录
生成密钥对 ssh-keygen -t rsa ,回车到底
将公钥的内容写入到authorized_keys文件中 cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
- 免密登录
ssh localhost
若能免密登录,即设置成功。
这里需要配置七个文件:core-site.xml , hdfs-site.xml , mepred-site.xml, yarn-site.xml,hadoop.env.sh、yarn-env.sh,slaves
打开 /hadoop/hadoop-3.3.2/etc/hadoop/ 文件夹:
a. 配置 hadoop-env.sh 文件
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.332.b09-1.el7_9.x86_64
b.配置 core-site.xml 文件
fs.defaultFS hdfs://localhost:9000 hadoop.tmp.dir file:/usr/local/hadoop/tmp
c.配置 hdfs-site.xml 文件
dfs.replication 1 dfs.namenode.name.dir file:/usr/local/hadoop/tmp/hdfs/name dfs.datanode.data.dir file:/usr/local/hadoop/tmp/hdfs/data
d.配置 mapred-site.xml 文件
mapreduce.framework.name yarn
e.配置 yarn-site.xml 文件
1.7启动Hadoop 1.7.1初始化yarn.nodemanager.aux-services mapreduce_shuffle
在terminal中输入
hdfs namenode -format (只初次启动需要)1.7.2启动Hadoop集群
在terminal中输入 start-all.sh (或者分别输入 start-dfs.sh 和 start-yarn.sh)
使用 jps (JavaVirtualMachineProcessStatus) 命令查看Hadoop是否已启动,运行的java进程中应包含以下几种:
4050 Jps 3956 NodeManager 3653 SecondaryNameNode 3414 NameNode 3852 ResourceManager 3518 DataNode
start-all.sh 这里centos7会报错误
https://blog.csdn.net/weixin_49736959/article/details/108897129
解决方案:在/etc/profile末加入以下配置
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
以下成功了
http://localhost:9870/dfshealth.html#tab-overview http://localhost:8088/cluster
a. 新建一个 words.txt 文件并输入几个单词
b. 在hdfs文件系统上创建input文件夹 hdfs dfs -mkdir /input
c. 将word.txt放入input文件夹 hdfs dfs -put words.txt /input
d. 查看是否已放入文件 hdfs dfs -ls /input
e. 运行wordcount程序 hadoop jar /hadoop/hadoop-3.3.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.3.2.jar wordcount /input /output
(Note:输出目录必须是一个不存在的目录,输出结果无法存放在已有目录中)
f. 查看程序输出 hdfs dfs -ls /output
g. 打开输出文件 hdfs dfs -cat /output/part-r-00000
参考:- https://blog.csdn.net/weixin_43723625/article/details/106105568
- https://blog.csdn.net/qq_40374604/article/details/121153821
- https://blog.csdn.net/weixin_44324669/article/details/104653154
- https://blog.csdn.net/qq_42855570/article/details/115180674
- https://blog.csdn.net/weixin_49736959/article/details/108897129
- https://blog.csdn.net/qq_49723651/article/details/120962585
- https://blog.csdn.net/weixin_38972910/article/details/115375082
- https://blog.csdn.net/weixin_39709920/article/details/122546047



