一、我缘何选择CentOS7.0

14年7月7日17:39:42发布了CentOS 7.0.1406正式版,我曾使用过多款Linux,对于Hadoop2.X/YARN的环境配置缘何选择CentOS7.0,其原因有:

1、界面采用RHEL7.0新的GNOME界面风,这可不是CentOS6.5/RHEL6.5所能比的!(当然,Fedora早就采用这种风格的了,但是现在的Fedora缺包已然不成样子了)

2、曾经,我也用了RHEL7.0,它最大的问题就是YUM没法用,而且总会有Warning提示注册购买!为此,必须去修改YUM源,还有修改其他的文件使之不提示才能用,看了这么麻烦,想必有很多童鞋滴心就已经凉了4/7了吧!

3、当然,Ubuntu系列我用过Ubuntu14.04/12.04和elementaryOS,不知为何,一用Ubuntu14.04就觉得好丑呀!!但是有很多人都说CentOS和RHEL更丑,但殊不知哪个才是企业级的,那个才是霸主。

另一方面,要求视觉效果的话,建议去装个elementaryOS试试,当然,elementaryOS也有缺陷:它已经许久没有提供更新了,12年推出的,已逾2年未曾发布新版本的系统,也未曾更新网站,与此同时,elementaryOS的模型Ubuntu早就更新换代了,所以,暴露了不少问题,其中麻烦的是不要随意更新系统,否则黑屏,那就真的纯命令行了,漂亮的系统突然被打回原型,那心铁定疤凉疤凉的,而且它更新后的apt-get是无法安装某些匹配某些,所以elementaryOS只供欣赏把玩!

4、也有人用过openSUSE,据说是最华丽的系统,在我看来,花哨的KDE打开文件/软件时显示的一跳一跳的,我心里就痒痒的,没事儿你弄个没用又难看的东东干嘛??干嘛??另外,最新的openSUSE对中文的设计的确无法令人满意。另外,就是openSUSE的环境不怎么熟悉,欧洲人设计的GNU/Linux还有些难适应,当然,我也不打算改旗易帜向欧洲SUSE倒戈。

其实,GNU/Linux版本众多,选择一个适合自己的一款一直玩下去、用下去就足够了,Linux版本众多,设计各有千秋,但使用大同小异,了解“异”点即可!当然,还是奉劝一句:初学者仅仅跑跑虚拟机看看效果就好,莫要将每款都用会了!毕竟,体验也是学习的动力之一!

二、体验CentOS7与之前版本的“异”

初次启动

装完机后,开机进系统的界面换了,乍一看以为是两个内核,原来有一个是rescue选择,而且按e后,会发现所有的grub.conf的信息全出来了,好不容易找到内核启动的地方,写了个 1(要进单用户模式),然后进了rescue模式。

字符界面

进系统后,是图形界面,想进字符界面,结果找到/etc/inittab,发现几乎是个空文件,文件中提示想改runlevel的话,可以把/lib/systemd/system/runlevel*.target 软连到 /etc/systemd/system/default.target下(当然考过来,覆盖也行),试了一下还行,能改到字符界面runlevel3。

配置网络和主机名

然后,想配置网络,进/etc/sysconfig/network-script/一看,我靠,网卡改名了enp1s5,好有趣,配置完网络后改主机名, 到/etc/sysconfig/network去改名字,发现这个文件也是空的,按原6版本的去修改,重启后没效果,man了一下hostname, 发现7中改名要到/etc/hostname去改名字。

本地yum源和挂载

接着,想配置一个本地yum源,配上后要挂光盘,手动挂上了,然后直接echo“mount ......”到rc.local中,毕竟是启动执行脚本,重启之后竟然没挂上,进去rc.local中看了一下,7中竟然要手动的把chmod +x rc.local, 是的,要手动加执行权限,难道我之前装的6以前的系统中这个都要手动加执行权限,我不记得啊!!!! 当然,加了权限后,开机后启动执行了rc.local的mount命令。

LVM和xfs

后来,想着装一个lvm玩玩,于是啊就分区,格式化(特意格式化为了xfs),pv,vg,lv一步一步,都没问题,然后想着放大,缩小,这时出问题了,执行resize2fs时,怎么一直报superblock什么的出错,这是怎么回事,然后man resize2fs一下,发现这命令只支持ext的文件系统,我艹,那我装系统是怎么是lvm的,这个问题我还没解决,应该有解决方法。

dhcp和服务

接着,想着装一个dhcp玩玩,惊奇的发现所有dhcp的包装上之后,不能service dhcpd start,然后发现/etc/init.d/中竟然没一个dhcp类似的东西,毕竟6之前有dhcpd,dhcpd6,dhcrelay的,然后发现 /sbin/dhcpd有启动文件,难道,难道,以后的服务想service启,都要手动自己编?错了,是在/usr/lib/systemd/system/dhcpd.service,还要修改好多,然后加权限,执行service 服务 restart/stop。。。。。。可以,但是指向了systemctl restart/start/stop 服务.service

iptables

又发现iptables这次也不是作为一个服务在/etc/init.d/下面了,/sbin下有;

防火墙由iptables更换成了firewalld

三、系统配置之关闭防火墙

systemctl stop firewalld.service #停止firewall

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

  1. systemctl命令的基本操作格式是:
  2.  
  3. systemctl 动作 服务名.service
  4. 动作:start,stop,restart,status,enable,disable,is-enabled

四、配置Linux网络

1、修改hostname

CentOS 7.0的hostname在/etc/hostname中用root用户修改:

  1. [root@hadoop1 ~]# vim /etc/hostname #编辑/etc/hostname
  2. [root@hadoop1 ~]# cat /etc/hostname #查看/etc/hostname
  3. hadoop1
  4. [root@hadoop1 ~]#

以前版本的CentOS在/etc/sysconfig/network中用root用户修改:

  1. [root@hadoop1 ~]# vim /etcsysconfig/network

"/etc/sysconfig/network"的设定项目如下:

  1. NETWORKING 是否利用网络
  2.  
  3. GATEWAY 默认网关与接下来配置IP的属性文件中默认网关一致
  4.  
  5. IPGATEWAYDEV 默认网关的接口名
  6.  
  7. HOSTNAME 主机名
  8.  
  9. DOMAIN 域名

reboot后hostname生效

2、修改当前机器的IP

Step1:进入配置文件目录

现在已经是root权限了,我们cd到网络配置文件的目录,并列出目录下的文件。

Step2:修改配置文件

该目录下,文件名“ifcfg-ens192”文件就是网络配置的主文件。vi它!

修改或添加一下:

  1. ONBOOT=yes
  2. BOOTPROTO=static
  3. IPADDR=IP地址
  4. NETMASK=255.255.255.0 #子网掩码
  5. GATEWAY=192.168.30.1 #网关地址

Step3:重启网络服务

修改完配置文件后,:wq!保存退出!然后重启网络。

Step4:测试

通过ifconfig命令查看ip是否设置成功,然后ping一下网络。这个时候应该成功了!

3、修改DNS(看情况,非必选)

若网络环境有DNS要求,则配置,否则,勿配!

格式:

nameserver DNS地址

  1. [root@hadoop1 ~]# vi /etc/resolv.conf
  2. nameserver 202.131.80.1 #依需求而定
  3. nameserver 202.131.80.5 #依需求而定

4、配置hosts文件

"/etc/hosts"这个文件是用来配置主机将用的DNS服务器信息,是记载LAN内接续的各主机的对应[HostName和IP]用的。当用户在进行网络连接时,首先查找该文件,寻找对应主机名(或域名)对应的IP地址。

我们要测试两台机器之间知否连通,一般用"ping 机器的IP",如果想用"ping 机器的主机名"发现找不见该名称的机器,解决的办法就是修改"/etc/hosts"这个文件,通过把LAN内的各主机的IP地址和HostName的一一对应写入这个文件的时候,就可以解决问题。

例如:机器为"hadoop1:59.67.107.80"对机器为"hadoop2:59.67.107.79"用命令"ping"记性连接测试。测试结果如下:

从上图中的值,直接对IP地址进行测试,能够ping通,但是对主机名进行测试,若没有ping通,提示"unknown host——未知主机",这时查看"hadoop1"的"/etc/hosts"文件内容。

若ping hadoop1不通则显示:

若ping hadoop1通则显示:

若发现里面没有"59.67.107.79 hadoop2"内容,故而本机器是无法对机器的主机名为"hadoop2" 解析。

在进行Hadoop集群配置中,需要在"/etc/hosts"文件中添加集群中所有机器的IP与主机名,这样Master与所有的Slave机器之间不仅可以通过IP进行通信,而且还可以通过主机名进行通信。所以在所有的机器上的"/etc/hosts"文件末尾中都要添加如下内容:

因为本文以已经配置好的环境说明,所以我的/etc/hosts显示:

一般处于内网下,照此添加(192.168.1.1为网关):

  1. 192.168.1.2 hadoop1
  2.  
  3. 192.168.1.3 hadoop2
  4.  
  5. 192.168.1.4 hadoop3
  6.  
  7. 192.168.1.5 hadoop4

用以下命令进行添加:

  1. vim /etc/hosts

现在我们在进行对机器为"hadoop2"的主机名进行ping通测试,看是否能测试成功。

从上图中我们已经能用主机名进行ping通了,说明我们刚才添加的内容,在局域网内能进行DNS解析了,那么现在剩下的事儿就是在其余的Slave机器上进行相同的配置。然后进行测试。

YARN环境搭建 之 一:CentOS7.0系统配置的更多相关文章

  1. Spark环境搭建(三)-----------yarn环境搭建及测试作业提交

    配置好HDFS之后,接下来配置单节点的yarn环境 1,修改配置文件 文件 : /root/app/hadoop-2.6.0-cdh5.7.0/etc/hadoop/yarn-site-xml 插入 ...

  2. 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0

    目录 深度学习环境搭建:Tensorflow1.4.0+Ubuntu16.04+Python3.5+Cuda8.0+Cudnn6.0 Reference 硬件说明: 软件准备: 1. 安装Ubuntu ...

  3. 保姆级教程——Ubuntu16.04 Server下深度学习环境搭建:安装CUDA8.0,cuDNN6.0,Bazel0.5.4,源码编译安装TensorFlow1.4.0(GPU版)

    写在前面 本文叙述了在Ubuntu16.04 Server下安装CUDA8.0,cuDNN6.0以及源码编译安装TensorFlow1.4.0(GPU版)的亲身经历,包括遇到的问题及解决办法,也有一些 ...

  4. 深度学习环境搭建:window10+CUDA10.0+CUDNN+pytorch1.2.0

    去年底入手一台联想Y7000P,配置了Nvidia GeForce GTX 1660 Ti GPU,GPU内存6G,但是因为有GPU服务器,所以一直没有在这台笔记本上跑过模型,如今经过一番折腾,终于在 ...

  5. YARN环境搭建 之 二:CentOS7.0 JDK配置

    Hadoop是Java写的,他无法使用Linux预安装的OpenJDK,因此安装hadoop前需要先安装JDK(1.6以上)   原材料:在Oracle官网下载的32位JDK:     说明: 1.C ...

  6. cocos2d-x环境搭建(win7+cocos2d-x-3.0)

    一.环境需准备的材料: 1.VS2012,下载地址:官网 2.cocos2d-x和cocostudio,下载地址:官网 3.eclispe,我用的是:adt-bundle-windows-x86_64 ...

  7. node+webpack环境搭建 vue.js 2.0 基础学习笔记

    npm install -g vue //全局安装vue npm install -g webpack //全局安装webpack npm install -g vue-cli //全局安装vue-c ...

  8. nodejs npm vue yarn 环境搭建

    1.nodejs中文网http://nodejs.cn/download/下载最新版本 2.安装注意,虽然.msi包没有右键用管理员权限运行,如果直接双击安装可能会存在安装失败的问题.使用管理员权限运 ...

  9. 0.react学习笔记-环境搭建与脚手架

    0.环境搭建 笔者使用的是deepin/mac两种系统,因为两个电脑经常切换用.环境搭建没什么区别. 0.1 node安装 按照node官网叙述安装 # Using Debian, as root c ...

随机推荐

  1. 树形菜单复选框级联选择HTML

    模块标题 标识符 类别 链接 排序 系统管理   组   1 用户权限设定 Sys_UserModelConfigList 模块 Sys_UserModelConfigList.aspx 1 角色管理 ...

  2. java使用POI jar包读写xls文件

    主要使用poi jar来操作excel文件.代码中用到的数据库表信息见ORACLE之表.使用public ArrayList<Person> getPersonAllRecords()获得 ...

  3. Part 89 to 91 Talking about pass the parameters in thread

    Part 89   ParameterizedThreadStart delegate Use ParameterizedThreadStart delegate to pass data to th ...

  4. table-layout:fixed 属性的解说

    table-layout:fixed 属性的解说如果想要一个table固定大小,里面的文字强制换行(尤其是在一长串英文文本,并且中间无空格分隔的情况下),以达到使过长的文字不撑破表格的目的,一般是使用 ...

  5. GitHub之上传文件

    github是一个基于git的代码托管平台,付费用户可以建私人仓库,我们一般的免费用户只能使用公共仓库,也就是代码要公开.对于一般人来说公共仓库就已经足够了,而且我们也没多少代码来管理,O(∩_∩)O ...

  6. (js有关图片加载问题)dom加载完和onload事件

    引用旺旺的话...哈哈哈DOMContentLoaded事件表示页面的DOM结构绘制完成了,这时候外部资源(带src属性的)还没有加载完.而onload事件是等外部资源都加载完了就触发的.$.read ...

  7. Linux命令(2):ls命令

    1.作用:列出目录的内容: 2.格式:ls [选项] [文件] [选项]为指定要查看文件相关的内容,若未指定文件默认查看当前目录下的所有文件: 3.常见参数: 如图: 4.使用实例: [yournam ...

  8. C#中数组、ArrayList和List<T>三者的发展历程

    在C#中数组,ArrayList,List使我们用的最多的类型之一.他们共同的作用都是能够存储一组对象. 那么问题来了: (1)为什么要有三个一样作用的东西呢?他们都很完美吗? (2)谁先出生,又是因 ...

  9. (转)mongodb常用命令脚本化-自动化运维

    mongodb常用命令脚本化-自动化运维 把一些运维中常用到的mongodb命令写成shell脚本,极大的方便了维护   1 设置副本集   #!/bin/bash#mongodb 进入client ...

  10. 分享10款功能强大的HTML5/CSS3应用插件

    1.纯CSS3美化Checkbox和Radiobox按钮 外观很时尚 利用CSS3我们可以打造非常具有个性化的用户表单,今天我们就利用CSS3美化Checkbox复选框和Radiobox单选框.CSS ...