国产一级a片免费看高清,亚洲熟女中文字幕在线视频,黄三级高清在线播放,免费黄色视频在线看

打開APP
userphoto
未登錄

開通VIP,暢享免費(fèi)電子書等14項(xiàng)超值服

開通VIP
Hadoop安裝部署-系統(tǒng)架構(gòu)
  Hadoop要求所有機(jī)器上hadoop的部署目錄結(jié)構(gòu)要相同,并且都有一個(gè)相同的用戶名的帳戶,所以需要每臺機(jī)器見一個(gè)同名的用戶。Hadoop需要namenode到datanode的無密碼SSH,所以需要設(shè)置namenode到其他3臺datanode的無密碼公鑰認(rèn)證方式的SSH。

1. Hadoop安裝部署

1.1. 機(jī)器說明
總共4臺機(jī)器:test161.sqa,test162.sqa, test163.sqa,test164.sqa
IP地址分別為:192.168.207.161 …… 192.168.207.164
操作系統(tǒng):Redhat Linux
root用戶密碼:hello123

test161.sqa(192.168.207.161)作為namenode(master),其他的作為datanode(slave)

1.2. 用機(jī)器名ping通機(jī)器
用root用戶登錄。
在namenode和各個(gè)slave上用機(jī)器名互相ping,ping不通的話,修改/etc/hosts文件,加入如下內(nèi)容:
192.168.207.161 test161.sqa
192.168.207.162 test162.sqa
192.168.207.163 test163.sqa
192.168.207.164 test164.sqa
這樣應(yīng)該就可以用機(jī)器名ping通了。
其他datanode機(jī)器只要保證和namenode能ping通就可以了

1.3. 新建系統(tǒng)hadoop用戶
Hadoop要求所有機(jī)器上hadoop的部署目錄結(jié)構(gòu)要相同,并且都有一個(gè)相同的用戶名的帳戶,所以需要每臺機(jī)器見一個(gè)同名的用戶。
在這4臺機(jī)器上建hadoop用戶,密碼:hadoop,默認(rèn)路徑/home/hadoop/。

1.4. SSH設(shè)置
Hadoop需要namenode到datanode的無密碼SSH,所以需要設(shè)置namenode到其他3臺datanode的無密碼公鑰認(rèn)證方式的SSH。
首先用hadoop用戶登錄每臺機(jī)器(包括namenode),在/home/hadoop/目錄下建立.ssh目錄,并將目錄權(quán)設(shè)為:drwxr-xr-x,設(shè)置命令:
chmod 755 .ssh
在namenode執(zhí)行入下圖命令(用新建的hadoop用戶登錄):

輸入ssh-keygen -t rsa后,
Enter file in which to save the key (/home/hadoop/.ssh/id_rsa):
Enter passphrase (empty for no passphrase): Enter same passphrase again:
這三個(gè)項(xiàng)目都直接回車。
然后將id_rsa.pub的內(nèi)容復(fù)制到每個(gè)機(jī)器(也包括本機(jī))的/home/hadoop/.ssh/authorized_keys文件中,
如果機(jī)器上已經(jīng)有authorized_keys這個(gè)文件了,就在文件末尾加上id_rsa.pub中的內(nèi)容,
如果沒有authorized_keys這個(gè)文件,直接cp或者scp就好了,
下面的操作假設(shè)各個(gè)機(jī)器上都沒有authorized_keys文件。
具體命令:
在namenode執(zhí)行(用新建的hadoop用戶登錄):
cp /home/hadoop/.ssh/id_rsa.pub /home/hadoop/.ssh/authorized_keys scp authorized_keys test162.sqa:/home/hadoop/.ssh/
此處的scp就是通過ssh進(jìn)行遠(yuǎn)程copy,此處需要輸入遠(yuǎn)程主機(jī)的密碼,即test162.sqa機(jī)器上hadoop帳戶的密碼(hadoop),
當(dāng)然,也可以用其他方法將authorized_keys文件拷貝到其他機(jī)器上。另外2臺datanode也一樣拷貝。
scp authorized_keys test163.sqa:/home/hadoop/.ssh/scp authorized_keys test164.sqa:/home/hadoop/.ssh/
用hadoop用戶登錄每臺機(jī)器,修改/home/hadoop/.ssh/authorized_keys文件的權(quán)限為:-rw-r–r–,設(shè)置命令:
cd /home/hadoop/.sshchmod 644 authorized_keys
設(shè)置完成后,測試一下namenode到各個(gè)節(jié)點(diǎn)的ssh鏈接,包括到本機(jī),如果不需要輸入密碼就可以ssh登錄,說明設(shè)置成功了。
其他機(jī)器一樣測試:
ssh test162.sqassh test163.sqassh test164.sqa

1.5. 安裝JDK
到sun網(wǎng)站下載JDK安裝包,并在每臺機(jī)器的root用戶下面安裝。下面以實(shí)例簡單描述一下如何安裝:
下載JDK的rpm包jdk-6u6-linux-i586-rpm.bin
chmod u+x ./jdk-6u6-linux-i586-rpm.bin./ jdk-6u6-linux-i586-rpm.bin rpm -ivh jdk-6u6-linux-i586.rpm
安裝軟件會將JDK自動安裝到 /usr/java/jdk1.6.0_07目錄下。安裝完成后,設(shè)置JDK的環(huán)境變量,
考慮到JDK可能會有其他系統(tǒng)用戶也會用到,建議將環(huán)境變量直接設(shè)置在/etc/profile中具體內(nèi)容:
export JAVA_HOME=/usr/java/jdk1.6.0_07
export CLASSPATH=$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH:$HOME/bin

1.6. 設(shè)置目錄并安裝Hadoop
用hadoop用戶登錄namenode,并新建一個(gè)目錄,用于存放所有hadoop相關(guān)內(nèi)容。
本例中在/home/hadoop目錄下新建HadoopInstall下載hadoop安裝包
http://apache.mirror.phpchina.com/hadoop/core/hadoop-0.16.3/hadoop-0.16.3.tar.gz,
存放到namenode的hadoop用戶的/home/hadoop/HadoopInstall并解壓縮:
tar zxvf hadoop-0.16.3.tar.gz
考慮到今后升級以及其他操作的方便性,建議建一個(gè)名稱為hadoop的鏈接,指向hadoop-0.16.3目錄:
ln -s hadoop-0.16.3 hadoop
新建目錄:/home/hadoop/HadoopInstall/hadoop-conf
將/home/hadoop/HadoopInstall/hadoop/conf目錄下的hadoop_site.xml,slaves,hadoop_env.sh,
masters文件拷貝到/home/hadoop/HadoopInstall/hadoop-conf目錄
在/home/dbrg/.bashrc文件中設(shè)置環(huán)境變量$HADOOP_CONF_DIR:
export HADOOP_CONF_DIR=$HOME/HadoopInstall/hadoop-conf/

1.7. Hadoop環(huán)境變量設(shè)置和配置文件修改
在/home/hadoop/HadoopInstall/hadoop-conf/hadoop_env.sh文件中設(shè)置環(huán)境變量:
export JAVA_HOME=/usr/java/jdk1.6.0_06export HADOOP_HOME=/home/hadoop/HadoopInstall/hadoop
在/home/hadoop/HadoopInstall/hadoop-conf/masters文件中設(shè)置namenode:
文件內(nèi)容:
test161.sqa
在/home/hadoop/HadoopInstall/hadoop-conf/slaves文件中設(shè)置datanode:
文件內(nèi)容:
test162.sqatest163.sqatest164.sqa
在/home/hadoop/HadoopInstall/hadoop-conf/ hadoop-site.xml文件中設(shè)置hadoop配置:

fs.default.name
test161.sqa:9000The name of the default file system. Either the literal
string “l(fā)ocal” or a host:port for DFS.
mapred.job.tracker
test161.sqa:9001The host and port that the MapReduce job tracker runs at.
If “l(fā)ocal”, then jobs are run in-process as a single map and reduce task.
hadoop.tmp.dir/home/hadoop/HadoopInstall/tmp
A base for other temporary directories.
dfs.name.dir
/home/hadoop/HadoopInstall/filesystem/nameDetermines where on the local filesystem
the DFS name node should store the name table. If this is a comma-delimited list of directories then the name table
is replicated in all of the directories, for redundancy.
dfs.data.dir
/home/hadoop/HadoopInstall/filesystem/dataDetermines where on the local filesystem
an DFS data node should store its blocks. If this is a comma-delimited list of directories, then data will be stored
in all named directories, typically on different devices. Directories that do not exist are ignored.
dfs.replication1Default block replication.
The actual number of replications can be specified when the file is created. The default is used if replication is
not specified in create time.
1.8. 部署datanode節(jié)點(diǎn)
將namenode上安裝配置完成的hadoop文件拷貝到所有datanode:
scp -r /home/hadoop/HadoopInstall test162.sqa:/home/hadoop/scp -r /home/hadoop/HadoopInstall
test163.sqa:/home/hadoop/scp -r /home/hadoop/HadoopInstall test164.sqa:/home/hadoop/
1.9. 啟動Hadoop
格式化namenode
/home/hadoop/HadoopInstall/hadoop/bin/hadoop namenode -format
在/home/hadoop/HadoopInstall/hadoop/bin/下面有很多啟動腳本,可以根據(jù)自己的需要來啟動:
* start-all.sh 啟動所有的Hadoop守護(hù)。包括namenode, datanode, jobtracker, tasktrack
* stop-all.sh 停止所有的Hadoop。
* start-mapred.sh 啟動Map/Reduce守護(hù)。包括Jobtracker和Tasktrack。
* stop-mapred.sh 停止Map/Reduce守護(hù)
* start-dfs.sh 啟動Hadoop DFS守護(hù).Namenode和Datanode
* stop-dfs.sh 停止DFS守護(hù)

 

在這里,簡單啟動所有守護(hù)
bin/start-all.sh
同樣,如果要停止hadoop,則
bin/stop-all.sh

1.10. HDFS測試
運(yùn)行bin/目錄的hadoop命令,可以查看Haoop所有支持的操作及其用法,這里以幾個(gè)簡單的操作為例。
在HDFS建立目錄:
bin/hadoop dfs -mkdir testdir
在HDFS中建立一個(gè)名為testdir的目錄

復(fù)制文件到HDFS:
bin/hadoop dfs -put /home/hadoop/large.zip testfile.zip
把本地文件large.zip拷貝到HDFS的根目錄/user/hadoop/下,文件名為testfile.zip

查看HDFS的現(xiàn)有文件
bin/hadoop dfs -ls

1.11. C++測試程序
分別用c++編寫mapper和reducer程序,完成對文件中的單詞數(shù)量的統(tǒng)計(jì):

mapper.cpp:
// c++ map reduce Mapper
// word count example
// 2008.4.18
// by iveney
#include
#include
using namespace std;

int main()
{
string buf;
while( cin>>buf )
cout< return 0;
}

reducer.cpp:
#include
#include
#include
using namespace std; int main()
{
map dict;
map::iterator iter;
string word;
int count;
while( cin>>word>>count )
dict[word]+=count;
iter = dict.begin();
while( iter != dict.end() )
{
cout<first<<”\t”<second< iter++;
}
return 0;
}

來自:Hadoop安裝部署

 

編譯兩個(gè)源文件:
g++ mapper.cpp -o mapperg++ reducer.cpp -o reducer
簡單測試一下這兩個(gè)程序:echo "ge abc ab df " | ./mapper | ./reducer
輸出:ab 1abc 1df 1hadoop
運(yùn)行測試bin/hadoop dfs -mkdir inputbin/hadoop dfs -put /home/hadoop/ap_base_session_fatmt0.txt
inputbin/hadoop jar contrib/streaming/hadoop-0.16.3-streaming.jar -mapper
/home/hadoop/hdfile/mapper -reducer /home/hadoop/hdfile/reducer -input input/ap_base_session_fatmt0.txt -output output
注意:
1、 用streaming方式運(yùn)行測試程序,執(zhí)行的是本地文件,所以要講mapper和reducer
兩個(gè)程序拷貝到namenode和每個(gè)datanode的相同目錄下。本例是將mapper和reducer拷貝到每臺機(jī)器的
/home/hadoop/hdfile目錄下。
2、 處理的文本文件要先傳到HDFS中,本例是將ap_base_session_fatmt0.txt傳到HDFS的input目錄下。
3、 如果要重新運(yùn)行測試,需要將HDFS上的output目錄刪除,否則會報(bào)output目錄已經(jīng)存在的錯(cuò)誤。
刪除命令:bin/hadoop dfs -rmr output

本站僅提供存儲服務(wù),所有內(nèi)容均由用戶發(fā)布,如發(fā)現(xiàn)有害或侵權(quán)內(nèi)容,請點(diǎn)擊舉報(bào)。
打開APP,閱讀全文并永久保存 查看更多類似文章
猜你喜歡
類似文章
Hadoop 集群配置(最全面)
Hadoop:Hadoop單機(jī)偽分布式的安裝和配置
818不敗家
hadoop2.4.0 偽分布安裝配置
第九章 搭建Hadoop 2.2.0版本HDFS的HA配置
hadoop配置文件詳解、安裝及相關(guān)操作
更多類似文章 >>
生活服務(wù)
分享 收藏 導(dǎo)長圖 關(guān)注 下載文章
綁定賬號成功
后續(xù)可登錄賬號暢享VIP特權(quán)!
如果VIP功能使用有故障,
可點(diǎn)擊這里聯(lián)系客服!

聯(lián)系客服