2.Hadoop偽分布式環(huán)境搭建和基本概念

1. Hadoop常用組件:

1. hadoop commons :hadoop基礎模塊玲躯。

2. HDFS:存儲數據(讀-寫),一次寫入坑傅、多次讀取呜呐。(1)namenode :元數據存儲的位置。(2)datanode: 存儲數據充边。

3. MapReduce:是一種計算模型庸推,設計思想是“分而治之”。map:拆分階段浇冰。reduce:合并階段贬媒。

4. Yarn:資源管理器,管理cpu肘习、內存际乘、虛擬代碼。包括ResourceManager 和 NodeManager漂佩。


2.偽分布式模式環(huán)境搭建:


2.1 ?Linux環(huán)境準備:

根據上一篇文章的方法脖含,在虛擬機安裝Linux CentOS 6罪塔,本節(jié)從之前安裝的操作系統(tǒng)開始繼續(xù)。

1. 修改計算機主機名(需要用root用戶):

修改配置文件:

#vi /etc/sysconfig/network

找到以“HOSTNAME=”開頭的那一行养葵,注意這里不要使用下劃線征堪。

修改成“HOSTNAME=hadoop-namenode.ipma.com”。

2. 增加普通用戶(不使用root用戶來使用hadoop):

增加用戶:

#useradd natty

#echo 123456|passwd --stdin natty

(1)passwd的man手冊关拒,--stdin選項:(--stdin : This option is used to indicate that passwd should read the new password from standard input, which can be a pipe.)

(2)刪除用戶的命令(#userdel natty)佃蚜。

3. 虛擬機IP地址修改為靜態(tài)IP

(1)關閉VMWare的DHCP:

關閉本地DHCP服務


(2)NAT設置:


設置NAT

安裝后的虛擬機的IP默認是動態(tài)獲取的,需要改成靜態(tài)IP(企業(yè)服務器都是靜態(tài)IP的夏醉,服務器IP地址不能經常改變)爽锥,有以下兩種方法來調整:圖形界面、修改配置文件畔柔。設置的IP氯夷,可以首先通過ifconfig命令查看當前的IP,再將這個IP設置為靜態(tài)IP靶擦。

(3)保證物理機與虛擬機能夠互聯腮考,設置VMNET8網卡與虛擬機的靜態(tài)IP在同一個網段。


VMNET8 網卡 網絡設置


(4)調取圖形界面:

#setup --console


靜態(tài)IP設置

(5)修改配置文件:

#vi /etc/sysconfig/network-scripts/ifcfg-eth0

例如下面的配置單:

BOOTPROTO=none

IPADDR=192.168.8.128

NETMASK=255.255.255.0

GATEWAY=192.168.8.2

DNS1=192.168.8.2

DNS2=8.8.8.8

4. 關閉防火墻和selinux:

(1)關閉防火墻:

關閉防火墻服務(只在當前Session內有效玄捕,系統(tǒng)重啟后又恢復):

#service iptables stop

想要重啟后生效:

#chkconfig iptables off

(2)關閉selinux:

修改配置文件:

#vi /etc/sysconfig/selinux

添加配置: ?SELINUX=disabled

5. 配置hosts文件:

這部分完成之前配置的靜態(tài)IP和主機名的映射(IP在前踩蔚,主機名在后)。修改下邊文件:

#vi /etc/hosts

增加下面的內容:

192.168.8.168 ? ? ? ? ?hadoop-namenode.ipma.com

在/etc/hosts文件中枚粘,不要保留127.0.0.1的配置馅闽。

6. 重啟主機:

完成上邊所有的配置后,重啟主機以生效配置:

#reboot

7. 生成目錄結構:

對于目錄結構馍迄,不同的人有不同的使用習慣福也。不一定非要按照這里規(guī)定的目錄結構開發(fā),可以自行設定攀圈。

(1)在/opt下生成2個目錄暴凑,兩個目錄的作用:

softwares:存放軟件的安裝包(壓縮包)的目錄。需要把各種軟件上傳到這個目錄赘来,例如jdk,hadoop,hbase安裝壓縮包等等现喳。

modules:軟件的安裝目錄(解壓后目錄)。

#mkdir /opt/softwares

#mkdir /opt/modules

將這2個目錄的 ?“所屬用戶和所屬用戶組” ?修改為 natty(為了方便犬辰,直接將目錄/opt 的權限 修改):

# chown -R natty:natty /opt/


2.2 ?安裝JDK

1. 解壓壓縮文件(使用natty用戶):

$tar zxf jdk-7u67-linux-x64.tar.gz -C /opt/modules/

2. 環(huán)境變量設定(使用root用戶):

#vi /etc/profile

增加如下內容:

## JAVA HOME

JAVA_HOME=/opt/modules/jdk1.7.0_67

PATH=$PATH:$JAVA_HOME/bin

3. 立即生效環(huán)境變量(使用natty用戶):

$source /etc/profile

4. 刪除系統(tǒng)中已經默認安裝的jdk:

因為jdk十分常用嗦篱,所以很多Linux操作系統(tǒng)已經默認安裝了,需要將這些默認安裝的版本刪除幌缝。

首先默色,先查詢系統(tǒng)中已經安裝了哪些 java的rpm包:

#rpm -qa | grep java

根據查詢結果,我的版本的操作系統(tǒng)需要刪除的安裝包:

# rpm -e --nodeps java-1.6.0-openjdk-1.6.0.0-1.50.1.11.5.el6_3.x86_64

# rpm -e --nodeps tzdata-java-2012j-1.el6.noarch

# rpm -e --nodeps java-1.7.0-openjdk-1.7.0.9-2.3.4.1.el6_3.x86_64

PS : 卸載rpm軟件包,使用命令rpm -e 腿宰。 ?

--nodeps選項的官方man文檔:

--nodes ?: ?Don’t check dependencies before uninstalling the packages.


2.3 ?hadoop安裝和配置:

1. 解壓壓縮包(使用natty用戶):

$ tar zxvf hadoop-2.5.0.tar.gz -C /opt/modules/

2. 修改配置文件。

修改目錄 /opt/modules/hadoop-2.5.0/etc/hadoop ?的幾個文件:

(1)在下邊3個文件中添加JAVA_HOME環(huán)境變量:

hadoop-env.sh:

export JAVA_HOME=/opt/modules/jdk1.7.0_67

yarn-env.sh:

export JAVA_HOME=/opt/modules/jdk1.7.0_67

mapred-env.sh:

export JAVA_HOME=/opt/modules/jdk1.7.0_67

(2)修改core-site.xml 和 hdfs-site.xml :

core-site.xml:

<property>

? ? ? ? ? <name>fs.defaultFS</name>

? ? ? ? ?<value>hdfs://hadoop-namenode.ipma.com:8020</value>

</property>

配置項 fs.defaultFS的官方解釋:

The name of the default file system. A URI whose scheme and authority determine the FileSystem implementation. The uri's scheme determines the config property (fs.SCHEME.impl) naming the FileSystem implementation class. The uri's authority is used to determine the host, port, etc. for a filesystem

URI結構

hdfs-site.xml:

<property>

? ? ? ? ? ?<name>dfs.replication</name>

? ? ? ? ? ?<value>1</value>

</property>

HDFS采用冗余存儲缘厢,一般分布式集群設定的副本數是3吃度,但是因為這里配置的偽分布式,只包含一個節(jié)點贴硫,所以設置為1.

3. 啟動HDFS:

Hadoop在安裝和基本配置完成后椿每,第一次啟動HDFS時,需要做一次格式化英遭,格式化后HDFS才可以使用间护。

格式化HDFS:

$ bin/hdfs namenode -format

啟動namenode和datanode:

$ sbin/hadoop-daemon.sh start namenode

$ sbin/hadoop-daemon.sh start datanode

查看啟動的java進程:

$ jps

4. HDFS的簡單測試:

在格式化HDFS,并啟動了namenode和datanode以后挖诸,我們做一個簡單的測試來驗證HDFS是否生效汁尺。在這里,我們將Linux中的一個文件上傳到HDFS多律,并在HDFS查看文件的內容:

$ bin/hdfs dfs -mkdir /input

$ bin/hdfs dfs -put /etc/yum.conf /input

$ bin/hdfs dfs -ls /input

$ bin/hdfs dfs -cat /input/yum.conf

-put是很常用的選項痴突,從linux上傳文件到hdfs。


2.4 Yarn相關配置

1. yarn和mapred配置:

在目錄 /opt/modules/hadoop-2.5.0/etc/hadoop ?中修改Yarn和MapReduce的配置文件:

mapred-site.xml :

<property>

? ? ? ? ? ?<name>mapreduce.framework.name</name>

? ? ? ? ? ?<value>yarn</value>

</property>

配置mapreduce的運行框架為“yarn”狼荞。

yarn-site.xml:

<property>

? ? ? ? ? ? ? ?<name>yarn.nodemanager.aux-services</name>

? ? ? ? ? ? ? ?<value>mapreduce_shuffle</value>

</property>

2. 啟動yarn相關服務:

啟動ResourceManager 和 NodeManager:

$ sbin/yarn-daemon.sh start resourcemanager

$ sbin/yarn-daemon.sh start nodemanager

啟動了服務后辽装,可以在瀏覽器中管理:

http://192.168.17.128:50070/

http://192.168.17.128:8088/

3. MapReduce測試:

下面以WordCount程序測試 MapReduce調用。

在hadoop的安裝目錄下相味,有一個jar包存放一些自帶的mapreduce程序的jar包拾积。

文件目錄位置是:$HADOOP_HOME/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar。

查看該jar包的內程序類:

$jar tvf hadoop-mapreduce-examples-2.4.1.jar

執(zhí)行wordcount mapreduce程序:

$bin/yarn jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.4.1.jar wordcount /user/input /output/01

4. 日志查看

在運行過程中丰涉,如果出現錯誤拓巧,可以查看相關日志來找出錯點。日志所在位置:

$HADOOP_HOME/logs

在logs目錄下昔搂,有兩類日志玲销,分別是 *.log 和 *.out兩類日志。

例如 ?hadoop-[linux用戶名]-[hadoop角色]-[主機名].log[out]

這兩種日志的作用:

.log:通過log4j記錄的摘符,記錄大部分應用程序的日志信息

.out:記錄標準輸出和標準錯誤日志贤斜,少量記錄

5. dfs常用的命令:

hdfs常用的命令和Linux命令類似,有少部分有差異逛裤,下面列舉幾個常用的命令:

dfs -put [localsrc] [dst] ? 從Linux系統(tǒng)上傳文件到hdfs上瘩绒。

dfs -du [dst] ? 查看空間大小使用情況。

dfs -chmod ?分配權限


2.5 其他hadoop配置:

1. xml文件配置:

hdfs-site.xml:

<property>

? ? ? ? ? ? ? <name>dfs.namenode.http-address</name>

? ? ? ? ? ? ? <value>hadoop-namenode.ipma.com:50070</value>

</property>

The address and the base port where the dfs namenode web ui will listen on.

core-site.xml:

<property>

? ? ? ? ? ? ? <name>hadoop.tmp.dir</name>

? ? ? ? ? ? ? <value>/opt/modules/hadoop-2.5.0/data</value>

</property>

A base for other temporary directories.

yarn-site.xml:

<property>

? ? ? ? ? ? ? <name>yarn.resourcemanager.hostname</name>

? ? ? ? ? ? ? ?<value>hadoop-namenode.ipma.com</value>

</property>

配置ResourceManager带族。

2. 啟動日志聚合:

(1)增加配置:

yarn-site.xml:

<property>

? ? ? ? ? ? ? <name>yarn.log-aggregation-enable</name>

? ? ? ? ? ? ? <value>true</value>

</property>

<property>

? ? ? ? ? ? ? <name>yarn.log-aggregation.retain-seconds</name>

? ? ? ? ? ? ? <value>86400</value>

</property>

mapred-site.xml

<property>

? ? ? ? ? ? ? <name>mapreduce.jobhistory.webapp.address</name>

? ? ? ? ? ? ? <value>hadoop-namenode.ipma.com:19888</value>

</property>


(2)啟動服務:

$ sbin/mr-jobhistory-daemon.sh start historyserver

最后編輯于
?著作權歸作者所有,轉載或內容合作請聯系作者
  • 序言:七十年代末锁荔,一起剝皮案震驚了整個濱河市,隨后出現的幾起案子蝙砌,更是在濱河造成了極大的恐慌阳堕,老刑警劉巖跋理,帶你破解...
    沈念sama閱讀 216,402評論 6 499
  • 序言:濱河連續(xù)發(fā)生了三起死亡事件,死亡現場離奇詭異恬总,居然都是意外死亡前普,警方通過查閱死者的電腦和手機,發(fā)現死者居然都...
    沈念sama閱讀 92,377評論 3 392
  • 文/潘曉璐 我一進店門壹堰,熙熙樓的掌柜王于貴愁眉苦臉地迎上來拭卿,“玉大人,你說我怎么就攤上這事贱纠【瘢” “怎么了?”我有些...
    開封第一講書人閱讀 162,483評論 0 353
  • 文/不壞的土叔 我叫張陵谆焊,是天一觀的道長惠桃。 經常有香客問我,道長懊渡,這世上最難降的妖魔是什么刽射? 我笑而不...
    開封第一講書人閱讀 58,165評論 1 292
  • 正文 為了忘掉前任,我火速辦了婚禮剃执,結果婚禮上誓禁,老公的妹妹穿的比我還像新娘。我一直安慰自己肾档,他們只是感情好摹恰,可當我...
    茶點故事閱讀 67,176評論 6 388
  • 文/花漫 我一把揭開白布。 她就那樣靜靜地躺著怒见,像睡著了一般俗慈。 火紅的嫁衣襯著肌膚如雪。 梳的紋絲不亂的頭發(fā)上遣耍,一...
    開封第一講書人閱讀 51,146評論 1 297
  • 那天闺阱,我揣著相機與錄音,去河邊找鬼舵变。 笑死酣溃,一個胖子當著我的面吹牛,可吹牛的內容都是我干的纪隙。 我是一名探鬼主播赊豌,決...
    沈念sama閱讀 40,032評論 3 417
  • 文/蒼蘭香墨 我猛地睜開眼,長吁一口氣:“原來是場噩夢啊……” “哼绵咱!你這毒婦竟也來了碘饼?” 一聲冷哼從身側響起,我...
    開封第一講書人閱讀 38,896評論 0 274
  • 序言:老撾萬榮一對情侶失蹤,失蹤者是張志新(化名)和其女友劉穎艾恼,沒想到半個月后住涉,有當地人在樹林里發(fā)現了一具尸體,經...
    沈念sama閱讀 45,311評論 1 310
  • 正文 獨居荒郊野嶺守林人離奇死亡蒂萎,尸身上長有42處帶血的膿包…… 初始之章·張勛 以下內容為張勛視角 年9月15日...
    茶點故事閱讀 37,536評論 2 332
  • 正文 我和宋清朗相戀三年秆吵,在試婚紗的時候發(fā)現自己被綠了。 大學時的朋友給我發(fā)了我未婚夫和他白月光在一起吃飯的照片五慈。...
    茶點故事閱讀 39,696評論 1 348
  • 序言:一個原本活蹦亂跳的男人離奇死亡,死狀恐怖主穗,靈堂內的尸體忽然破棺而出泻拦,到底是詐尸還是另有隱情,我是刑警寧澤忽媒,帶...
    沈念sama閱讀 35,413評論 5 343
  • 正文 年R本政府宣布争拐,位于F島的核電站,受9級特大地震影響晦雨,放射性物質發(fā)生泄漏架曹。R本人自食惡果不足惜,卻給世界環(huán)境...
    茶點故事閱讀 41,008評論 3 325
  • 文/蒙蒙 一闹瞧、第九天 我趴在偏房一處隱蔽的房頂上張望绑雄。 院中可真熱鬧,春花似錦奥邮、人聲如沸万牺。這莊子的主人今日做“春日...
    開封第一講書人閱讀 31,659評論 0 22
  • 文/蒼蘭香墨 我抬頭看了看天上的太陽脚粟。三九已至,卻和暖如春蘸朋,著一層夾襖步出監(jiān)牢的瞬間核无,已是汗流浹背。 一陣腳步聲響...
    開封第一講書人閱讀 32,815評論 1 269
  • 我被黑心中介騙來泰國打工藕坯, 沒想到剛下飛機就差點兒被人妖公主榨干…… 1. 我叫王不留团南,地道東北人。 一個月前我還...
    沈念sama閱讀 47,698評論 2 368
  • 正文 我出身青樓堕担,卻偏偏與公主長得像已慢,于是被迫代替她去往敵國和親。 傳聞我的和親對象是個殘疾皇子霹购,可洞房花燭夜當晚...
    茶點故事閱讀 44,592評論 2 353

推薦閱讀更多精彩內容