文章目录 云计算实验——Hadoop实验实验环境一、安装Hoodap1.1安装虚拟机+centos71.2下载hadoop3.3.21.3上传到centos中1.4JDK环境搭建1.4hadoop环境变量1.5 设置ssh免密码登录1.6修改Hadoop配置文件1.7启动Hadoop1.7.1初始化1.7.2启动Hadoop集群 1.8 查看NameNode和Yarn1.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
若能免密登录,即设置成功。
1.6修改Hadoop配置文件
这里需要配置七个文件: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 文件
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储路径 -->
<property>
<name>hadoop.tmp.dir</name>
<!-- 配置到hadoop目录下temp文件夹 -->
<value>file:/usr/local/hadoop/tmp</value>
</property>
</configuration>
c.配置 hdfs-site.xml 文件
<configuration>
<property>
<!--指定hdfs保存数据副本的数量,包括自己,默认为3-->
<!--伪分布式模式,此值必须为1-->
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<!-- name node 存放 name table 的目录 -->
<value>file:/usr/local/hadoop/tmp/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<!-- data node 存放数据 block 的目录 -->
<value>file:/usr/local/hadoop/tmp/hdfs/data</value>
</property>
</configuration>
d.配置 mapred-site.xml 文件
<configuration>
<property>
<!--指定mapreduce运行在yarn上-->
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
e.配置 yarn-site.xml 文件
<configuration>
<property>
<!--NodeManager获取数据的方式-->
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
1.7启动Hadoop
1.7.1初始化
在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/106105568https://blog.csdn.net/qq_40374604/article/details/121153821https://blog.csdn.net/weixin_44324669/article/details/104653154https://blog.csdn.net/qq_42855570/article/details/115180674https://blog.csdn.net/weixin_49736959/article/details/108897129https://blog.csdn.net/qq_49723651/article/details/120962585https://blog.csdn.net/weixin_38972910/article/details/115375082https://blog.csdn.net/weixin_39709920/article/details/122546047欢迎分享,转载请注明来源:内存溢出
评论列表(0条)