配置参考:Hadoop 伪分布式模式

角色规划

IP 主机 NN DN SNN
192.168.254.151 node01
192.168.254.152 node02
192.168.254.153 node03
192.168.254.154 node04

免密登录

配置 node01 作为管理,用于启动 start-dfs.sh 和关闭 stop-dfs.sh,故 node01 需要把公钥发送给其他主机

  1. scp id_rsa.pub node01:/root/.ssh/node01.pub
  2. scp id_rsa.pub node02:/root/.ssh/node01.pub
  3. scp id_rsa.pub node03:/root/.ssh/node01.pub
  4. scp id_rsa.pub node04:/root/.ssh/node01.pub

其他主机需要先生成 .ssh 目录(ssh localhost),然后将读取公钥并创建 authorized_keys 文件

  1. cat node01.pub >> authorized_keys
  2. cat node02.pub >> authorized_keys
  3. cat node03.pub >> authorized_keys
  4. cat node04.pub >> authorized_keys

测试 node01 免密登录

  1. ssh node02
  2. ssh node03
  3. ssh node04

相关配置

按照“角色规划”进行配置

JDK 绝对路径

  1. vim hadoop-env.sh
  2. export JAVA_HOME=/usr/java/default

NameNode 启动位置

  1. vim core-site.xml
  2. <configuration>
  3. <property>
  4. <name>fs.defaultFS</name>
  5. <value>hdfs://node01:9000</value>
  6. </property>
  7. </configuration>

SecondaryNameNode 启动位置

  1. vim hdfs-site.xml
  2. <configuration>
  3. <property>
  4. <name>dfs.replication</name>
  5. <value>2</value>
  6. </property>
  7. <property>
  8. <name>dfs.namenode.name.dir</name>
  9. <value>/var/bigdata/hadoop/full/dfs/name</value>
  10. </property>
  11. <property>
  12. <name>dfs.datanode.data.dir</name>
  13. <value>/var/bigdata/hadoop/full/dfs/data</value>
  14. </property>
  15. <property>
  16. <name>dfs.namenode.checkpoint.dir</name>
  17. <value>/var/bigdata/hadoop/full/dfs/secondary</value>
  18. </property>
  19. <property>
  20. <name>dfs.namenode.secondary.http-address</name>
  21. <value>node02:9870</value>
  22. </property>
  23. </configuration>

DataNode 启动位置

  1. vim slaves
  2. node02
  3. node03
  4. node04

分发配置

  1. scp -r ./bigdata node02:`pwd`
  2. scp -r ./bigdata node03:`pwd`
  3. scp -r ./bigdata node04:`pwd`

格式化

注意:只有第一次启动时需要格式化,在 namenode 节点执行

  1. hdfs namenode -format

启动

  1. start-dfs.sh
  2. Starting namenodes on [node01]
  3. node01: starting namenode, logging to /opt/bigdata/hadoop-2.10.0/logs/hadoop-root-namenode-node01.out
  4. node03: starting datanode, logging to /opt/bigdata/hadoop-2.10.0/logs/hadoop-root-datanode-node03.out
  5. node02: starting datanode, logging to /opt/bigdata/hadoop-2.10.0/logs/hadoop-root-datanode-node02.out
  6. node04: starting datanode, logging to /opt/bigdata/hadoop-2.10.0/logs/hadoop-root-datanode-node04.out
  7. Starting secondary namenodes [node02]
  8. node02: starting secondarynamenode, logging to /opt/bigdata/hadoop-2.10.0/logs/hadoop-root-secondarynamenode-node02.out

验证

  1. [root@node01 ~]# jps
  2. 6372 Jps
  3. 5311 NameNode
  4. [root@node02 ~]# jps
  5. 5363 SecondaryNameNode
  6. 6251 Jps
  7. 5294 DataNode
  8. [root@node03 ~]# jps
  9. 9868 Jps
  10. 5567 DataNode
  11. [root@node04 ~]# jps
  12. 5190 DataNode
  13. 9501 Jps