hadoop完全分布式环境搭建实操(6)

本文涉及的产品
日志服务 SLS,月写入数据量 50GB 1个月
简介: hadoop完全分布式环境搭建实操(6)

完全分布式环境搭建实操


1.前提条件


默认你已经安装好了一台 伪分布式环境,我的是bigdata121

默认你已经看了前面的第5篇文章,完全分布式的规划和步骤,现在只讲实际操作


2.修改伪分布式环境的几个hadoop的配置文件


需要配置的文件

1dc618a0ed9580ce8bfa6facb208c08f.png

bigdata121的配置文件


core-site.xml(不需要改)


<configuration>
<!-- 指定HDFS中NameNode的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://bigdata121:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/mod/hadoop-2.8.4/data</value>
</property>
</configuration>


这个文件不需要修改!!


hdfs-site.xml(需要改)


5d4c6812c8535adbb050f4ddf2e1bce8.png


<configuration>
<!--数据冗余数-->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<!--secondary的地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>bigdata121:50090</value>
</property>
<!--关闭权限-->
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>


hadoop-env.sh(不需要改)


原来配置的jdk看下,不需要改

1dc618a0ed9580ce8bfa6facb208c08f.png


yarn-site.xml(需要改)


这里我们想让resouremanager和namendode不在一个机器上,我们把resouremanager放在bigdata122上,故改下,如果你想放在一个机器上,那就不用改了。

5d4c6812c8535adbb050f4ddf2e1bce8.png


<configuration>
<!-- reducer获取数据的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定YARN的ResourceManager的地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>bigdata122</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>
</configuration>


mapred-site.xml (可以修改)


如果想要yarn的主节点放在bigdata122,那就改下

1dc618a0ed9580ce8bfa6facb208c08f.png

<configuration>
<!-- 指定mr运行在yarn上-->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!--历史服务器的地址-->
<property>
<name>mapreduce.jobhistory.address</name>
<value>bigdata121:10020</value>
</property>
<!--历史服务器页面的地址-->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>bigdata121:19888</value>
</property>
</configuration>


yarn-env.sh、mapred-env.sh(不需要改)


yarn-env.sh

5d4c6812c8535adbb050f4ddf2e1bce8.png

mapred-env.sh

46a9d80a6e05e4e3b19d57a0ee70bcdf.png

slaves(需要修改)

66ba272a0bfc97be54a5fa679e3d5482.png


bigdata121
bigdata122
bigdata123


自此,bigdtata121上的hadoop配置文件完成了。

现在我们用scp 吧这些配置发送到bigdata122和bigdata123上。


3.克隆bigdata121的hadoop配置文件


查看bigdata122的环境变量

cat /etc/profile

1dc618a0ed9580ce8bfa6facb208c08f.png

没有问题。

保证/opt/mod下没有hadoop配置文件,我们一会吧bigdata121的scp过来

5d4c6812c8535adbb050f4ddf2e1bce8.png

有hadoop-2.8.4了,我之前拿来测试伪分布式来,干掉,删除。

[root@bigdata122 mod]# rm -rf hadoop-2.8.4/

46a9d80a6e05e4e3b19d57a0ee70bcdf.png

ok!


同样查看bigdata123的环境变量,吧java环境变量和hadoop的给加上和工作目录/opt/mod完毕。


scp文件传输(重点)


实现两台远程机器之间的文件传输(bigdata112主机文件拷贝到bigdata113主机上)

公式


scp -r [文件] 用户@主机名:绝对路径

注:伪分布式是一台、完全分布是三台


先切换到bigdata121的 /opt/mod下

依次执行2条命令:


1.scp到bigdata122


[root@bigdata121 mod]# scp -r hadoop-2.8.4/  root@bigdata122:/opt/mod


2.scp到bigdata123


[root@bigdata121 mod]# scp -r hadoop-2.8.4/  root@bigdata123:/opt/mod


3.查看


用hadoop version查看是否克隆成功。

1dc618a0ed9580ce8bfa6facb208c08f.png

如上图,说明ok。


4.格式化Namenode


在bigdata121上执行下面的命令


hdfs namenode -format


为什么要格式化?


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会让两个目录的文件生成在一个目录里


5.统一3台服务器的时间


三台服务器同时执行下面的命令


date -s 20190608

5d4c6812c8535adbb050f4ddf2e1bce8.png

ok,时间设置完成。


6.启动dfs


在bigdata121上执行(因为我们配置的namenode在bigdata121上)


start-dfs.sh

1dc618a0ed9580ce8bfa6facb208c08f.png

5d4c6812c8535adbb050f4ddf2e1bce8.png

46a9d80a6e05e4e3b19d57a0ee70bcdf.png

出现上面3个日志,则说明dfs已经启动了。


7.启动yarn


在bigdata122上执行下面的命令(因为我们配置的yarn的主节点ResourceManager在bigdata122上)


start-yarn.sh

1dc618a0ed9580ce8bfa6facb208c08f.png5d4c6812c8535adbb050f4ddf2e1bce8.png


和我们规划的一样,说明成功了!!

页面效果图


46a9d80a6e05e4e3b19d57a0ee70bcdf.png


8.测试


wordcount案例(就是一个mapreduce程序,统计文件的单词次数)的demo的位置:

在/opt/mod/hadoop-2.8.4/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.8.4.jar

1dc618a0ed9580ce8bfa6facb208c08f.png


写个测试文件:


5d4c6812c8535adbb050f4ddf2e1bce8.png

cd 到/opt/mod下

46a9d80a6e05e4e3b19d57a0ee70bcdf.png


上传到test文件到dfs的根目录上去


[root@bigdata121 mod]# hadoop fs -put /opt/mod/test /

效果可以查看到:

66ba272a0bfc97be54a5fa679e3d5482.png


执行wordcount程序


把test执行下mr的wordcount程序,然后把结果放在dfs根目录的dfs下。


切换到/opt/mod/hadoop-2.8.4/share/hadoop/mapreduce下


[root@bigdata121 mapreduce]# hadoop jar hadoop-mapreduce-examples-2.8.4.jar wordcount /test  /out

1dc618a0ed9580ce8bfa6facb208c08f.png


看下结果

5d4c6812c8535adbb050f4ddf2e1bce8.png

点击箭头下载下来,用文件打开

46a9d80a6e05e4e3b19d57a0ee70bcdf.png

或者用命令的方式:


66ba272a0bfc97be54a5fa679e3d5482.png

自此,hadoop完全分布式的环境搭建完成,大功告成!!


相关实践学习
日志服务之使用Nginx模式采集日志
本文介绍如何通过日志服务控制台创建Nginx模式的Logtail配置快速采集Nginx日志并进行多维度分析。
相关文章
|
23天前
|
分布式计算 资源调度 Hadoop
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
大数据-01-基础环境搭建 超详细 Hadoop Java 环境变量 3节点云服务器 2C4G XML 集群配置 HDFS Yarn MapRedece
58 4
|
22天前
|
分布式计算 NoSQL Java
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
Hadoop-32 ZooKeeper 分布式锁问题 分布式锁Java实现 附带案例和实现思路代码
37 2
|
22天前
|
分布式计算 Hadoop
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
Hadoop-27 ZooKeeper集群 集群配置启动 3台云服务器 myid集群 zoo.cfg多节点配置 分布式协调框架 Leader Follower Observer
34 1
|
23天前
|
存储 数据采集 分布式计算
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
Hadoop-17 Flume 介绍与环境配置 实机云服务器测试 分布式日志信息收集 海量数据 实时采集引擎 Source Channel Sink 串行复制负载均衡
35 1
|
23天前
|
分布式计算 Hadoop 网络安全
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-08-HDFS集群 基础知识 命令行上机实操 hadoop fs 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
26 1
|
23天前
|
存储 机器学习/深度学习 缓存
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
Hadoop-07-HDFS集群 基础知识 分布式文件系统 读写原理 读流程与写流程 基本语法上传下载拷贝移动文件
37 1
|
23天前
|
分布式计算 资源调度 Hadoop
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
Hadoop-05-Hadoop集群 集群WordCount 超详细 真正的分布式计算 上传HDFS MapReduce计算 YRAN查看任务 上传计算下载查看
40 1
|
22天前
|
存储 SQL 消息中间件
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
Hadoop-26 ZooKeeper集群 3台云服务器 基础概念简介与环境的配置使用 架构组成 分布式协调框架 Leader Follower Observer
37 0
|
3月前
|
存储 分布式计算 算法
探索Hadoop的三种运行模式:单机模式、伪分布式模式和完全分布式模式
在配置Hadoop集群之前,了解这三种模式的特点、适用场景和配置差异是非常重要的。这有助于用户根据个人需求和资源情况,选择最适合自己的Hadoop运行模式。在最初的学习和开发阶段,单机模式和伪分布式模式能为用户提供便利和成本效益。进而,当用户要处理大规模数据集时,完全分布式模式将是理想的选择。
149 2