首先要有一个linux
还要有一个普通的用户
cd /opt/ 切换到这个目录下
1、创建如下两个目录
sudo mkdir softwares
sudo mkdir modules
2、修改文件夹的用户,因为上面使用root用户创建的文件夹
sudo chown tang:tang softwares/
sudo chown tang:tang modules/
3、使用xftp上传下载的Hadoop文件到目录softwares下
4、解压Hadoop文件到modules文件夹下
tar -zxvf hadoop-2.7.3.tar.gz -C /opt/modules/
5、
修改/opt/modules/hadoop-2.7.3/etc/hadoop/hadoop-env.sh 文件
修改/opt/modules/hadoop-2.7.3/etc/hadoop/mapred-env.sh 文件
修改/opt/modules/hadoop-2.7.3/etc/hadoop/yarn-env.sh 文件
这三个文件只需要修改java的安装路径
export JAVA_HOME=/usr/java/jdk1.8.0_151(这个是我自己的安装路径,每个人的不一样)
伪分布模式
core-site.xml
<configuration>
<!--指定Hadoop框架使用HDFS作为文件系统-->
<!--这里的主机名就是namenode所在的节点的主机名-->
<property>
<name>fs.defaultFS</name>
<value>hdfs://linux:8020</value>
</property>
<!--hadoop工作目录 需要自己提前建立-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/hadoop-2.7.3/data/temp</value>
</property>
</configuration>
hdfs-site.xml
<configuration>
<!--设置HDFS的副本数量-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
slaves文件(这里添加从节点的主机名,因为我这里配置的是伪分布,所以主节点和从节点位于同一个机器)
linux
6、格式化namenode
bin/hdfs namenode -format
7、启动hdfs守护进程
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
8、jps
查看开启的进程
如果可以看到这两个,说明hdfs的配置和启动没有问题
也可以查看web端界面:linux:50070
上面只是搭建好Hadoop的hdfs分布式存储,接下来要继续配置Hadoop的mapreduce
1、首先找到hadoop/etc/hadoop/mapred-site.xml.template文件,重命名为mapred-site.xml
<configuration>
<!--指定mapreduce程序运行在yarn平台上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2、修改yarn-site.xml文件
<configuration>
<!--指定启动运行mapreduce上的nodemanager的运行服务-->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!--指定resourcemanager主节点机器,可选项,不一定要配置,默认是本机,但是指定了之后在其他机器上启动,就会报错-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>linux</value>
</property>
</configuration>
界面
Web端打开50070页面失败原因(主机名+“:50070”,eg:localhost:50070)
1、检查namenode和datanode守护进程是否开启?
-》使用jps命令
2、检查centos7系统的防火墙是否关闭?
-》systemctl status firewalld.service #查看防火墙状态信息
-》systemctl stop firewalld.service #关闭防火墙
-》systemctl disable firewalld.service #关闭开启自动启动防火墙服务
3、检查windows操作系统下的hosts文件是否做了网络映射?
-》C:\Windows\System32\drivers\etc\hosts
4、如果以上几点都没问题,还是打不开,推荐大家使用谷歌浏览器
更详细的搭建可以参考这篇博客,这是我之前写的:
https://blog.youkuaiyun.com/happytjl/article/details/89043022
HDFS常用命令讲解
--------------------------------------------
1、datanode节点存储数据的目录
-》/opt/modules/hadoop-2.7.3/data/tmp/dfs/data/current/BP-1597548256-192.168.211.101-1557646217065/current/finalized/subdir0/subdir0
2、put
-》作用:上传本地文件到HDFS
-》示例:bin/hdfs dfs -put etc/hadoop/core-site.xml /
3、cat、text、tail -f
-》作用:查看文件内容
-》示例1:bin/hdfs dfs -cat /core-site.xml
-》示例2:bin/hdfs dfs -text /core-site.xml ==>对比cat,text查看中文也不会乱码
-》示例3:bin/hdfs dfs -tail -f /core-site.xml ==>Linux中用tail可以指定查看行数(eg:)
4、mkdir
-》作用:创建目录
-》示例1:bin/hdfs dfs -mkdir /hadoop
-》示例2:bin/hdfs dfs -mkdir -p /wordcount/input #递归创建目录
5、ls
-》作用:查看目录结构
-》示例1:bin/hdfs dfs -ls /
-》示例2:bin/hdfs dfs -ls -R / #递归查询
6、mv
-》作用:移动文件
-》示例:bin/hdfs dfs -mv /core-site.xml /hadoop