参考:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html
一、基础设置
vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=node01vim /etc/hosts192.168.254.150 node01
二、Hadoop 配置
规划路径
mkdir /opt/bigdatatar -zxvf hadoop-2.10.0.tar.gzmv hadoop-2.10.0.tar.gz /opt/bigdata
配置环境变量
vim /etc/profileexport JAVA_HOME=/usr/java/defaultexport HADOOP_HOME=/opt/bigdata/hadoop-2.10.0export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbinsource /etc/profile
配置 Hadoop 角色
环境配置 hadoop-env.sh
cd $HADOOP_HOME/etc/hadoopvim hadoop-env.sh# 定义 JAVA_HOME,因为 SSH 免验证登录不会读取 profile 文件export JAVA_HOME=/usr/java/default
核心配置 core-site.xml
定义 NameNode 在上什么位置
- 如果 OS 读取核心配置文件,那么 OS 就知道从哪里启动 NN
- 如果 DD 读取核心配置文件,那么 DD 就知道从哪里和 NN 通信
- 如果 Client 读取核心配置文件,那么 Client 就知道从哪里找到 NN ```bash vim core-site.xml
<a name="xga26"></a>
#### HDFS 配置 hdfs-site.xmlbash
vim hdfs-site.xml
<a name="sEvYv"></a>#### DataNode 配置 slaves配置 datanode 的启动地址```bashvim slavesnode01
三、初始化 & 启动
首次初始化
- 创建 hdfs-site.xml 中配置的文件目录
- 创建一个空的 fsimage
- 创建 VERSION(包含 clusterID)
$ bin/hdfs namenode -format
启动 start-dfs.sh
首次启动 datanode 和 secondarynamenode 会创建自己的数据目录$ sbin/start-dfs.sh
验证 & 登录
[root@node01 current]# jps21168 DataNode21033 NameNode21341 SecondaryNameNode26814 Jps
四、测试数据上传
hdfs dfs -mkdir -p /user/roothdfs dfs -put jdk-8u261-linux-x64.rpm /user/roothdfs dfs -put hadoop-2.10.0.tar.gzhdfs dfs -D dfs-blocksize=1048576 -put data.txthdfs dfs -rm data.txt

