参考:https://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html

一、基础设置

参考:CentOS 7 相关环境配置

  1. vim /etc/sysconfig/network
  2. NETWORKING=yes
  3. HOSTNAME=node01
  4. vim /etc/hosts
  5. 192.168.254.150 node01

二、Hadoop 配置

规划路径

  1. mkdir /opt/bigdata
  2. tar -zxvf hadoop-2.10.0.tar.gz
  3. mv hadoop-2.10.0.tar.gz /opt/bigdata

配置环境变量

  1. vim /etc/profile
  2. export JAVA_HOME=/usr/java/default
  3. export HADOOP_HOME=/opt/bigdata/hadoop-2.10.0
  4. export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
  5. source /etc/profile

配置 Hadoop 角色

环境配置 hadoop-env.sh

  1. cd $HADOOP_HOME/etc/hadoop
  2. vim hadoop-env.sh
  3. # 定义 JAVA_HOME,因为 SSH 免验证登录不会读取 profile 文件
  4. export JAVA_HOME=/usr/java/default

核心配置 core-site.xml

定义 NameNode 在上什么位置

  • 如果 OS 读取核心配置文件,那么 OS 就知道从哪里启动 NN
  • 如果 DD 读取核心配置文件,那么 DD 就知道从哪里和 NN 通信
  • 如果 Client 读取核心配置文件,那么 Client 就知道从哪里找到 NN ```bash vim core-site.xml
fs.defaultFS hdfs://node01:9000 <a name="xga26"></a> #### HDFS 配置 hdfs-site.xmlbash vim hdfs-site.xml # 定义副本数 dfs.replication 1 # 定义 blocksize 大小 dfs.blocksize 134217728 # 定义 namenode 访问地址 dfs.namenode.http-address node01:9870 # 定义 namecode 文件存储路径 dfs.namenode.name.dir /var/bigdata/hadoop/local/dfs/name # 定义 datanode 访问路径 dfs.datanode.http.address node01:9864 # 定义 datanode 文件存储路径 dfs.datanode.data.dir /var/bigdata/hadoop/local/dfs/data # 定义 secondarynamenode 访问地址 dfs.namenode.secondary.http-address node01:9868 # 定义 secondarynamenode 文件存储路径 dfs.namenode.checkpoint.dir /var/bigdata/hadoop/local/dfs/secondary
  1. <a name="sEvYv"></a>
  2. #### DataNode 配置 slaves
  3. 配置 datanode 的启动地址
  4. ```bash
  5. vim slaves
  6. node01

三、初始化 & 启动

首次初始化

  • 创建 hdfs-site.xml 中配置的文件目录
  • 创建一个空的 fsimage
  • 创建 VERSION(包含 clusterID)
    1. $ bin/hdfs namenode -format

    启动 start-dfs.sh

    首次启动 datanode 和 secondarynamenode 会创建自己的数据目录
    1. $ sbin/start-dfs.sh

验证 & 登录

  1. [root@node01 current]# jps
  2. 21168 DataNode
  3. 21033 NameNode
  4. 21341 SecondaryNameNode
  5. 26814 Jps

http://node01:9870/
image.png

四、测试数据上传

  1. hdfs dfs -mkdir -p /user/root
  2. hdfs dfs -put jdk-8u261-linux-x64.rpm /user/root
  3. hdfs dfs -put hadoop-2.10.0.tar.gz
  4. hdfs dfs -D dfs-blocksize=1048576 -put data.txt
  5. hdfs dfs -rm data.txt

image.png