hadoop-HDFS集群搭建-HA模式概念
伪分布式:在一个节点启动所有角色:NN ,DN,SNN
完全分布式:基础环境 部署配置
1.角色在哪里启动 NN;core-stie.xml fs.defaultFS hdfs://node01:9000
DN:slaves node01
SNN:hdfs-site.xml dfs.namenode.secondary.http.address node01:50090
2.角色启动时的细节配置
dfs.namenode.name.dir
dfs.datanode.data.dir
初始化&启动:
格式化:Fsimage VERSION
启动:start-dfs.xml
加载我们的配置文件
通过ssh免密的方式去启动相应的角色
伪分布式到完全分布式:角色重新规划
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-pQkrdg3r-1604041615363)(imgs/1603952342227.png)]
node01:
stop-dfs.sj
ssh 免密是为了什么:启动start-dfs.sh 在哪里启动,那台就要对别人公开自己的公钥
node01: scp /root/ .ssh/id_dsa.pub node02:/root/.ssh/node01.pub
node02: cd ~/.ssh ;cat node01.pub >> authorized_keys
初始化&启动:
格式化:Fsimage VERSION
启动:start-dfs.xml
加载我们的配置文件
通过ssh免密的方式去启动相应的角色
伪分布式到完全分布式:角色重新规划
[外链图片转存失败,源站可能有防盗链机制,建议将图片保存下来直接上传(img-oXXEiCmy-1626269179457)(imgs/1603952342227.png)]
node01:
stop-dfs.sj
发送文件
scp 本地文件目录 nodexx:受控机文件目录
格式化
hdfs namenode -format
启动
start-dfs.sh
配置文件
core-site.xml
<configuration>
<!-- 指定HDFS 中 NameNode 的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://hadoop01:9000</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/install/hadoop-2.5.0-cdh5.3.6/data/tmp</value>
</property>
</configuration>
hadoop-env.sh
export JAVA_HOME=/home/hadoop/install/jdk1.8.0_152/
hdfs-site.xml
<property>
<name>dfs.replication</name>
<value>2</value>
<description>设置副本数</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/var/bigdata/hadoop/full/dfs/name</value>
<description>设置存放NameNode的文件路径</description>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/var/bigdata/hadoop/full/dfs/data</value>
<description>设置存放DataNode的文件路径</description>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>node02:50090</value>
<description>SNN路径</description>
</property>
<property>
<name>dfs.namenode.checkpoint.dir</name>
<value>/var/bigdata/hadoop/full/dfs/secondary</value>
</property>
slaves
node02
node03
node04