【Hadoop-2.7.2 VM CentOS7】VM-Linux-Hadoop单节点部署 _2019.5.10

作者写在前面的话:
最近各种事情堵在一起,心态又拉慢了,就进度很不尽人意。Linux常用命令还没写完。emmm尽力恢复速度。2019寒冬职位缩减,不开放,尽人事吧。难顶啊
本文只涉及到极其基础的Hadoop配置,之后关于Hadoop伪分布式配置会单独再一篇文章,这个相当于是一半。

不过,本文阅读完后,可做到使用【初尝“人”味】
1.Hadoop单节点测试Standalone Operation
2.Wordcount频次统计

如果该篇文章帮助到读者了一小许忙或者一些实用价值,请不要吝啬点赞?评论收藏
如果该篇文章帮助到读者了一小许忙或者一些实用价值,请不要吝啬点赞?评论收藏
如果该篇文章帮助到读者了一小许忙或者一些实用价值,请不要吝啬点赞?评论收藏

被克隆虚拟机准备

顺序

  1. CentOS 7 系统安装
  2. 网卡名修改(感觉是可有可无)
  3. 网络配置修改
  4. 主机名修改
  5. Hosts解析文件修改
  6. Java环境配置
  7. 关闭防火墙服务及自起
  8. Hadoop部署

被克隆后不需要修改的——Java环境,Hadoop部署,Hosts解析文件,防火墙服务
被克隆后需要修改的——网卡名配置(因为MAC地址改变了),网络配置,主机名

CentOS安装

官方镜像7.6.1810下载
鸟哥CentOS7安装教程
关于安装中提醒的三个点:

  1. 手动配置磁盘分页
    /boot:200-500Mib,200即可用,空间扩充到500是考虑系统更新后,会增加使用空间。
    swap:与虚拟机分配的实际内存相当即可,可视作是Windows中的虚拟内存,将磁盘的一部分作为内存来使用,在内存不够用的时候。
    / :根目录,空间填空即余下全给根目录。
  2. 网卡名称:在安装的时候是可以设定的,就在开启网络的界面右下角。不需要再进入系统文件中修改。当然后面我也会写明,如何修改。
    【我收集到的信息表明,CentOS 7的网卡命名规则进行了设定修改,会根据插槽等信息进行网卡名设定,但7以前的老式程序猿会习惯性的更改伪eth0之类的,从零开始,并且这个命名规则在CentOS中是可以进行人为修改设定的。有的人遇到的情况是7给出的网卡名很长/数字很长,很丑,不容易辨别,而我遇到的只是ens33感觉还可以接受,没有什么特别想修改他的感觉。】
  3. 设定一个拥有root权限的普通账户
    这个在安装的最后一步是可以与root账户密码设定在同一个界面,设定完root密码,再去新建一个用户,并且有一个选项可进行勾勒。关于全名:没太大意义不影响什么
    在这里插入图片描述

网卡名修改

修改文件路径
$ sudo vim /usr/lib/udev/rules.d/60-net.rules
文件原内容
#ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", PROGRAM="/lib/udev/rename_device", RESULT=="?*", NAME="$result"
增添内容:
ACTION=="add", SUBSYSTEM=="net", DRIVERS=="?*", ATTR{type}=="1", ATTR{address}=="00:0c:29:e7:7b:18", NAME="eth0"

注1:ATTR{address}填写的是你初始网卡ens33的MAC/硬件地址,注意千万别有多余的空格,以及必须是小写。修改之前,可用ifconfig进行硬件地址查询。【一般情况下,网卡名修改失败,都是因为多空格

注2:/etc/udev/rules.d/ 70-persistent-ipoib.rules嗝屁了这个目录下的文件没用。在CentOS7后配置目录进行了更改,原由好像是引入systemctl合并修改了很多命令及配置。(满嘴火车有兴趣的,或者知道的大大佬请帮忙评论下,我对口胡修改

网络配置修改

进入etc配置目录,网络
$ cd /etc/sysconfig/network-scripts
将原网卡配置文件 ifcfg-ens33,修改为 ifcfg-eth0
$ sudo mv ifcfg-ens33 ifcfg-eth0
编辑修改内容
$ sudo vim ifcfg-eth0
在这里插入图片描述
看不太清的话,就是DHCP修改为静态Static分配,然后NAME改为eth0,自起onboot增加静态地址设置。
IPADDR=”192.168.142.10”
GATEWAY=”192.168.142.2”
DNS1=”192.168.142.2”

注1:关于Gateway网关,这个是根据VMware虚拟网络设置虚拟网关决定的。具体是在VMware中编辑->虚拟网络编辑器中进行设定及更改。Windows中V8虚拟适配器一般为1,网关为2,不得冲突。
注2:在某教学中ifcfg-eth0,还增添了HWADDR属性=”MAC地址”,虽然我没加也OK。

主机名修改

直接用命令修改也行,emmm我是觉得Linux系统本就是一个文件系统,修改文件总是最正确的哈哈哈哈,对命令没有深入了解,其实是有点慌。
$ sudo vim /etc/hostname
更改为hadoop0X

Hosts解析文件修改

修改Hosts解析文件
$ sudo vim /etc/hosts
192.168.142.101 hadoop101
192.168.142.102 hadoop102
192.168.142.103 hadoop103
192.168.142.104 hadoop104
这样以后,你直接输入hadoop01即可,不需要背地址了。虽然也不算什么难的事情,但集群数量上升至两位数,可能就会有点麻烦了。而且还可能会有其他功能节点。

Java环境配置

jdk-8u144-linux-x64.tar.gz,这个自行下载吧,用了这么多年的JDK,只不过是windows64改为Linux,应该下载的都很六了。即便不懂JDK有啥,哈哈哈哈。

注:SecureCRT8.5 Alt+P传输文件

1.创建moudule software文件夹【/opt/moudule /opt/software】
$ sudo mkdir module software

2.修改文件所有者及组
$ sudo chown atguigu:atguigu module software

3.上传jdk.tar.gz文件至softaware,然后tar -zxvf 解压到 module文件夹内
$ tar -zxvf jdk-8u144-linux-x64.tar.gz -C /opt/module

4.Pwd解压后的jdk完整路径,然后编写 /etc/profile文件
$ sudo vim /etc/profile

5.Shift+g到文件底端,添加javahome
export JAVA_HOME=/opt/module/jdkxxx
export PATH=$PATH:$JAVA_HOME/bin

6.wq保存退出,然后输入
$source /etc/profile

7.再检测java,输入Java -version
在这里插入图片描述

关闭防火墙服务及自起

参考TMH_ITBOY博客

查看防火墙状态
firewall-cmd --state

停止firewall
systemctl stop firewalld.service

禁止firewall开机启动
systemctl disable firewalld.service

Hadoop部署

1.上传hadoop.tar.gz文件至softaware,然后tar -zxvf 解压到 module文件夹内
$ tar -zxvf hadoop-2.7.2.tar.gz -C /opt/module

2.Pwd解压后的hadoop完整路径,然后编写 /etc/profile文件
$ cd ../module/hadoop-2.7.2/
$ pwd
/opt/module/hadoop-2.7.2
$ sudo vim /etc/profile

3.Shift+g到文件底端,添加hadoophome
export HADOOP_HOME=/opt/module/hadoop-2.7.2
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
【注意,一定要有$PATH:,否则会覆盖PATH!!】
4.wq保存退出,然后输入
$source /etc/profile

5.再检测hadoop,输入hadoop命令
hadoop运行

单节点测试Standalone Operation

官方测试
Standalone Operation
By default, Hadoop is configured to run in a non-distributed mode, as a single Java process. This is useful for debugging.

The following example copies the unpacked conf directory to use as input and then finds and displays every match of the given regular expression. Output is written to the given output directory.
$ mkdir input
$ cp etc/hadoop/*.xml input
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
$ cat output/*
Shell运行结果
在这里插入图片描述
命令详解
$ mkdir input
$ cp etc/hadoop/*.xml input
创建input目录。将hadoop目录下所有xml配置文件copy到input内作为数据源。
一般来说,hadoop均是采用数据输入目录+数据输出目录的形式,将所有要处理的数据放进一个目录下,然后挨个文件进行处理,并且输入目录output一般有2个文件,一个是_success成功运行标识符,无数据占用。然后一个是结果输出文件,可cat擦看内容。
$ bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar grep input output 'dfs[a-z.]+'
运行hadoop/bin/hadoop命令,采用jar,jar目标hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar,然后将Hadoop处理后的内容进行过滤grep——采用正则表达式进行匹配,以dfs开头的之后任意匹配字符的字符串作为输出文件内容,输入数据源为input,输出文件为output

WordCount 大数据词频统计

Hadoop统计大数据中重复词出现次数【热点】

  1. 在Hadoop目录下创建wcinput
    $ Mkdir wcinput
  2. 在wcinput中创建文件wc.input
    $ touch wc.input
    该文件可用互联网上,任何你感兴趣的,英文文献/新闻/书籍……
  3. 在wc.input中输入长串英文内容
    $ Vim wc.input
  4. 进入hadoop根目录执行hadoop命令
    $ hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount wcinput/ wcoutput

注:如果输出目录已经存在,则会在hadoop运行后报错【不生成结果文件】
19/05/09 22:00:19 INFO jvm.JvmMetrics: Cannot initialize JVM Metrics with
processName=JobTracker, sessionId= - already initialized
org.apache.hadoop.mapred.FileAlreadyExistsException: Output directory
file:/opt/module/hadoop-2.7.2/output already exists

VMware克隆

克隆
完整克隆
个人建议,给每个虚拟机开辟单独的文件夹,一个虚拟机有5个文件。都放一起…搞不清,如果删除复制的话,处理文件夹即可。
在这里插入图片描述

被克隆后需要修改的——网卡名配置(因为MAC地址改变了),网络配置,主机名

[atguigu@hadoop02 ~]$ ifconfig
[atguigu@hadoop02 ~]$ sudo vim /usr/lib/udev/rules.d/60-net.rules
[atguigu@hadoop02 ~]$ sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0
[atguigu@hadoop02 ~]$ sudo vim /etc/hostname

从上到下,依次为:

  1. 获取MAC地址
  2. 修改网卡名配置文件的MAC地址
  3. 修改静态IP地址
  4. 修改主机名。

克隆结束

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

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

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值