Ubuntun 完全分布式环境搭建 及 温度统计项目学习

完全分布式基于Ubuntu 16.04(桌面版)伪分布式的基础上进行搭建的。

若还没有响应环境,请移步到 https://blog.csdn.net/LZW15082682930/article/details/113818664

一、完全分布式环境搭建

1.利用配置好的伪分布式系统克隆三台主机master、slave1、slave2

2.修改每台主机的主机名 vi /etc/hostname

3.修改hosts 文件,配置主机映射,使每台主机之间可以相互拼通,三台主机做相同配置。

ping slave1  

ping slave2

4.修改之后重启系统或者重启网络服务

 /etc/init.d/networking restart

5.给三台主机配置免密钥登录。

在三台主机的根目录下创建一个文件夹passwd用来保存密钥:

mkdir /root/passwd  (三台主机都要创建,用于保存公钥)

6.三台主机执行命令:

ssh-keygen –t  rsa    生成密钥

查看密钥  cat  /root/.ssh/id_rsa.pub  

7.将当前主机的公钥分发给其他两个节点

scp /root/.ssh/id_rsa.pub root@slave1:/root/passwd 

@前面是账号,后面是主机名,  : 后面跟路径

8.重复以上操作,将公钥分发给其他两台主机。注意要保存在不同的文件夹下,不要覆盖原文件。

将本机的密钥传到授权Keys(三台主机做相同操作)

cd  /root/.ssh/

cat  id_rsa.pub >> authorized_keys

9.查看密钥,并将传来的密钥授权到Keys里面(三台主机都要将密钥授权到/root/.ssh/ authorized_keys中

cat id_rsa.pub >> /root/.ssh/authorized_keys

10.配置完成后查看密钥,确保每个主机的/root/.ssh/ authorized_keys 中有三台主机的密钥。

11.免密登录测试,连接其他两台主机不需要输入密钥即为免密配置成功。

12.修改hdfs-site.xml配置文件,配置副本数3,指定SecondarNameNode在Slvae1从节点上。

13.修改hadoop下的 core-site.xml(三台配置一样)

 

14.修改slaves文件,将从节点的主机写入,三台主机都要做同样的配置。

 

15.配置yarn-site.xml文件,修改主机名或者IP地址(三台配置一样)。

16.启动所有服务  start-all.sh 

查看服务进程

 

 

17.使用网页登录查看信息

至此,学习使用的完全分布式环境搭建完成。

二、温度统计

1.创建项目,编写代码实现温度统计功能。

以Windows为例(也可在Ubuntu中创建项目编写代码)。

打开IDEA 创建项目,导入hadoop开发相关jar包。

2.编写代码:

Temperature.java

将Temperature序列化,重写compareTo(),wirte(),readFields(),toString()方法,并生成setter(),getter()方法

 

TempMapper.java

指定Mapper输出格式

 

TempPartitioner.java

指定分区

 

TempMain.java

3.将项目打包,使用Xftp工具上传到master

4.创建源文件data.txt

2019-10-01,14:21:02,34c
2019-10-01,19:21:02,38c
2019-10-02,14:01:02,36c
2019-01-01,11:21:02,32c
2019-10-01,12:21:02,37c
2019-12-01,12:21:02,23c
2019-10-02,12:21:02,41c
2019-10-03,12:21:02,27c
2019-07-01,12:21:02,45c
2019-07-02,12:21:02,46c
2019-07-03,12:21:03,47c
2019-06-01,12:21:02,38c
2019-06-02,12:21:02,39c
2019-06-03,12:21:03,30c
2019-11-01,12:21:02,38c
2019-11-02,12:21:02,39c
2019-08-03,12:21:03,30c
2019-11-01,12:21:02,38c
2019-08-02,12:21:02,39c
2019-08-03,12:21:03,30c
2019-12-01,12:21:02,18c
2019-12-02,12:21:02,9c
2019-12-03,12:21:03,3c
2019-05-01,12:21:02,18c
2019-05-02,12:21:02,19c
2019-05-03,12:21:03,10c
2019-03-01,12:21:02,16c
2019-03-02,12:21:02,12c
2019-03-03,12:21:03,20c
2019-04-01,12:21:02,28c
2019-04-02,12:21:02,29c
2019-04-03,12:21:03,20c
2019-01-01,12:21:02,8c
2019-01-02,12:21:02,9c
2019-01-03,12:21:03,4c
2019-09-01,12:21:02,38c
2019-09-02,12:21:02,39c
2019-09-03,12:21:03,30c
2019-02-01,12:21:02,12c
2019-02-02,12:21:02,14c
2019-02-03,12:21:03,10c

5.在HDFS上面创建两个目录分别保存输入和输出文件

hdfs dfs –mkdir /input

hdfs dfs –mkdir /outfile

上传数据源文件 hdfs dfs –put data.txt /input/data.txt

运行程序

hadoop jar sort_temperature.jar /input/data.txt /outfile/temperature

注: hadoop   jar     jar包路径及包名    HDFS上的输入文件路径   HDFS上的输出文件路径(必须是不存在的,会自动创建,若存在则会报错)

查看结果  hdfs dfs -cat /outfile/temperature/part-r-00007

 

至此,温度统计小程序就实现啦,欢迎大家一起交流学习。

项目地址:https://github.com/Li-zw/sort_temperature.git

 

 

 

 

 

  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值