Hadoop2.X/YARN環境搭建--CentOS7.0系統配置,centos7.0

來源:互聯網
上載者:User

Hadoop2.X/YARN環境搭建--CentOS7.0系統配置,centos7.0

一、我緣何選擇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開機啟動

systemctl命令的基本操作格式是:
systemctl   動作   服務名.service
動作:start,stop,restart,status,enable,disable,is-enabled 

四、配置Linux網路

1、修改hostname

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

[root@hadoop1 ~]# vim /etc/hostname    #編輯/etc/hostname
[root@hadoop1 ~]# cat /etc/hostname    #查看/etc/hostname
hadoop1
[root@hadoop1 ~]#

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

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

"/etc/sysconfig/network"的設定項目如下:

NETWORKING 是否利用網路
GATEWAY 預設閘道與接下來配置IP的屬性檔案中預設閘道一致
IPGATEWAYDEV 預設閘道的介面名
HOSTNAME 主機名稱
DOMAIN 網域名稱

reboot後hostname生效

2、修改當前機器的IP

        Step1:進入設定檔目錄

        現在已經是root許可權了,我們cd到網路設定檔的目錄,並列出目錄下的檔案。

Step2:修改設定檔

該目錄下,檔案名稱“ifcfg-ens192”檔案就是網路設定的主檔案。vi它!

修改或添加一下:

ONBOOT=yes  
BOOTPROTO=static 
IPADDR=IP地址 
NETMASK=255.255.255.0 #子網路遮罩
GATEWAY=192.168.30.1  #網關地址

Step3:重啟網路服務

修改完設定檔後,:wq!儲存退出!然後重啟網路。

Step4:測試

通過ifconfig命令查看ip是否設定成功,然後ping一下網路。這個時候應該成功了!

 

3、修改DNS(看情況,非必選)

若網路環境有DNS要求,則配置,否則,勿配!

格式:

nameserver DNS地址

[root@hadoop1 ~]# vi /etc/resolv.conf nameserver 202.131.80.1  #依需求而定 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為網關):

192.168.1.2 hadoop1192.168.1.3 hadoop2192.168.1.4 hadoop3192.168.1.5 hadoop4

用以下命令進行添加:

vim /etc/hosts

現在我們在進行對機器為"hadoop2"的主機名稱進行ping通測試,看是否能測試成功。

從中我們已經能用主機名稱進行ping通了,說明我們剛才添加的內容,在區域網路內能進行DNS解析了,那麼現在剩下的事兒就是在其餘的Slave機器上進行相同的配置。然後進行測試。


android系統開發的完整環境應該怎搭建?具體的環境配置需要什?

eclipse3.5或3.6 + ADT + JDK1.5或1.6 + android-sdk06(07)-windows
詳細步驟請看www.javaeye.com/wiki/topic/444988
 
您好你本地win7在Eclipse中怎配置的就可以訪問Centos下的hadoop220?

如果是代碼訪問的話不需要配置什麼,只要把fs.default.name屬性配置好就行。如果你是指Eclipse整合mapreduce外掛程式,那麼最主要問題就是Eclispe版本,所以要麼網上直接找一個版本,要不就自己多試試
 

相關文章

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.