1、hadoop下载
Hadoop下载地址:http://hadoop.apache.org/
2、在/home下创建hadoop目录,文件上传到指定目录
cd /home
mkdir Hadoop
cd hadoop
##解压
tar -zxf hadoop-3.3.0.tar.gz
3、在Hadoop下创建tmp、hdfs/name、hdfs/data文件夹
mkdir tmp
mkdir hdfs
mkdir hdfs/date
mkdir hdfs/name
4、设置环境变量
vi /etc/profile
#set hadoop path
export HADOOP_HOME=/home/hadoop/hadoop-3.3.0
export PATH=$PATH:$HADOOP_HOME/bin
环境变量生效
source /etc/profile
5、修改一下5个配置文件
hadoop-3.2.0/etc/hadoop/hadoop-env.sh
hadoop-3.2.0/etc/hadoop/core-site.xml
hadoop-3.2.0/etc/hadoop/hdfs-site.xml
hadoop-3.2.0/etc/hadoop/mapred-site.xml
hadoop-3.2.0/etc/hadoop/yarn-site.xml
5.1、hadoop-env.sh
#查看java_home路径 echo $JAVA_HOME
export JAVA_HOME=/usr/java/jdk1.8.0_152
#注意下面如果用户不是root请修改成对应用户
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
另一种配置用户
start-dfs.sh、stop-dfs.sh
HDFS_DATANODE_USER=root
HDFS_DATANODE_SECURE_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
start-yarn.sh、stop-yarn.sh
YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn
YARN_NODEMANAGER_USER=root
5.2、core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:9000</value>
<!--注释 : HDFS的URI,文件系统://namenode标识:端口号-->
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/tmp</value>
<!--注释: namenode上本地的hadoop临时文件夹-->
</property>
</configuration>
5.3 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
<property>
<name>dfs.http.address</name>
<value>0.0.0.0:50070</value>
<description>将绑定IP改为0.0.0.0,而不是本地回环IP,这样,就能够实现外网访问本机的50070端口了</description>
</property>
</configuration>
5.4 mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5.5 yarn-site.xml
<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
6、HDFS 启动
(1) 格式化 HDFS
bin/hdfs namenode -format
格式化是对 HDFS这个分布式文件系统中的 DataNode 进行分块,统计所有分块后的初始元数据的存储在namenode中。(如果服务器再次启动,也需要进行这步,否则启动可能会失败)
(2)启动
启动 NameNode
sbin/hadoop-daemon.sh start namenode
启动 DataNode
sbin /hadoop-daemon.sh start datanode
启动 SecondaryNameNode
sbin/hadoop-daemon.sh start secondarynamenode
(3) 使用 jps 命令查看是否启动成功,有结果就成功了。
NameNode
SecondaryNameNode
DataNode
(4)访问x.x.x.x:50070能打开一下界面就成功