Hadoop分布式搭建过程

2021年5月30日02:03:30 发表评论 1,966 views

HDFS架构:

Hadoop分布式搭建过程

知识点:

1.X 和2.X区别:

单点故障:

1.X主机挂掉就完了,2.X主机挂掉会自动从datanode中选出Namenode(热备)secondarynamenode(冷备)

yarn架构:

后来拆分为MapReduce(计算)和yarn两个部分。

Yarn架构:

Hadoop分布式搭建过程
Hadoop分布式搭建过程

知识点:

1.只有热备没有冷备

配置流程:

1.解压文件:

Hadoop分布式搭建过程

2.生成密钥

Hadoop分布式搭建过程

3.将密钥拷贝一份

Hadoop分布式搭建过程

4.到Hadoop/etc/hadoop文件夹下开始配置:

Hadoop分布式搭建过程

配置core-site.xml,注意地址和目录,

此处需要创建两个目录 data 和log,粘贴到configurtion标签中

Hadoop分布式搭建过程

<!-- 指定HDFS中NameNode的地址 -->
<property>
    <name>fs.defaultFS</name>
    <value>hdfs://bigdata166:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<!-- <property>
    <name>hadoop.tmp.dir</name>
    <value>/opt/module/hadoop-2.8.4/data/tmp</value>
</property> -->
<!-- 实际配置中使用了下面的地址:-->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/module/hadoop-2.8.4/tmp/data/tmp</value>
</property>
</configuration>

配置hdfs-site.xml文件,注意修改冗余数和地址

<!--数据冗余数-->
<property>
    <name>dfs.replication</name>
    <value>2</value>
</property>

<!--secondary的地址-->
<property>
   <name>dfs.namenode.secondary.http-address</name>
   <value>bigdata166:50090</value>

</property>

<!--关闭权限-->
<property>
   <name>dfs.permissions</name>
   <value>false</value>

</property>

设置yarn-site.xml

<!-- reducer获取数据的方式 -->

<property>
   <name>yarn.nodemanager.aux-services</name>
   <value>mapreduce_shuffle</value>

</property>

<!-- 指定YARN的ResourceManager的地址 -->

<property>
   <name>yarn.resourcemanager.hostname</name>
   <value>bigdata166</value>

</property>

<!-- 日志聚集功能使能 -->

<property>
   <name>yarn.log-aggregation-enable</name>
   <value>true</value>

</property>

<!-- 日志保留时间设置7天(秒) -->

<property>
   <name>yarn.log-aggregation.retain-seconds</name>
   <value>604800</value>

</property>

配置mapred-site.xml的相关配置

<!-- 指定mr运行在yarn上-->

<property>
   <name>mapreduce.framework.name</name>
   <value>yarn</value>

</property>

<!--历史服务器的地址-->

<property>
   <name>mapreduce.jobhistory.address</name>
   <value>bigdata166:10020</value>

</property>

<!--历史服务器页面的地址-->

<property>
   <name>mapreduce.jobhistory.webapp.address</name>
   <value>bigdata166:19888</value>

</property>

配置三个文件的本地JAVA_HOME路径:hadoop-env.sh yarn-env.sh mapred-env.sh

yarnenv和mapred需要清除注释,只需配置hadoop,其它两个的可以不写,写上最好
Hadoop分布式搭建过程
Hadoop分布式搭建过程

Hadoop分布式搭建过程

# 三个文件均可在最后一行加入此行(1804用此语句) export JAVA_HOME=/opt/module/jdk1.8.0_144

Slaves内部改成bigdata166  (本地单机模式只需要配置一台)

Hadoop分布式搭建过程

配置环境变量:

Hadoop分布式搭建过程

export HADOOP_HOME=/opt/module/hadoop-2.8.4

export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

最后执行 source /etc/profile

格式化并生成目录:

./hdfs namenode -format

Hadoop分布式搭建过程

Hadoop分布式搭建过程

格式化原因:

NameNode主要被用来管理整个分布式文件系统的命名空间(实际上就是目录和文件)的元数据信息,同时为了保证数据的可靠性,还加入了操作日志,所以,NameNode会持久化这些数据(保存到本地的文件系统中)。对于第一次使用HDFS,在启动NameNode时,需要先执行-format命令,然后才能正常启动NameNode节点的服务。

格式化细节问题:

在NameNode节点上,有两个最重要的路径,分别被用来存储元数据信息和操作日志,而这两个路径来自于配置文件,它们对应的属性分别是dfs.name.dir和dfs.name.edits.dir,同时,它们默认的路径均是/tmp/hadoop/dfs/name。格式化时,NameNode会清空两个目录下的所有文件,之后,会在目录dfs.name.dir下创建文件

hadoop.tmp.dir 这个配置,会让dfs.name.dir和dfs.name.edits.dir会让两个目录的文件生成在一个目录里

启动所有服务:

Hadoop分布式搭建过程
Hadoop分布式搭建过程

搭建成功,可使用浏览器访问:

Hadoop分布式搭建过程

关闭 sbin/stop-all.sh 然后拍摄快照

其它命令:

Hadoop分布式搭建过程

 

 

 

 

 

 

完全分布式搭建

修改网卡地址并重启网卡:

Hadoop分布式搭建过程
Hadoop分布式搭建过程

重启网卡 service newtork restart
Hadoop分布式搭建过程

设置主机名: hostnamectl set-hostname bigdata167

配置hosts vi /etc/hosts 添加配置地址 然后reboot

重新生成钥匙:

Hadoop分布式搭建过程

拷贝钥匙 ssh-copy-id bigdata166 (因为配置了IP所以可以输入密码拷贝) 测试成功

Hadoop分布式搭建过程

配置hadoop相关配置

修改secondarynamenode的地址为167 hdfs-site.xml文件

Hadoop分布式搭建过程

同级目录下修改slaves文件

Hadoop分布式搭建过程
Hadoop分布式搭建过程

重新格式化(删除原数据)

可以查看到以下元数据

Hadoop分布式搭建过程

删除data目录

Hadoop分布式搭建过程

删除logs目录

Hadoop分布式搭建过程

交给主节点完成命令 重新格式化(只在主节点) 此次将角色分配到每一个节点当中

Hadoop分布式搭建过程

启动hdfs

Hadoop分布式搭建过程

查看配置完成

Hadoop分布式搭建过程
Hadoop分布式搭建过程

启动yarn

Hadoop分布式搭建过程

Hadoop分布式搭建过程

yarn结构:

Hadoop分布式搭建过程

配置环境变量:/opt/module/hadoop-2.8.4

Hadoop分布式搭建过程
Hadoop分布式搭建过程
Hadoop分布式搭建过程

停止 stop-all.sh

Hadoop分布式搭建过程

其它

单独启停

Hadoop分布式搭建过程

Hadoop分布式搭建过程

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: