溫馨提示×

溫馨提示×

您好,登錄后才能下訂單哦!

密碼登錄×
登錄注冊×
其他方式登錄
點(diǎn)擊 登錄注冊 即表示同意《億速云用戶服務(wù)條款》

hadoop的基本搭建

發(fā)布時(shí)間:2020-07-04 20:13:49 來源:網(wǎng)絡(luò) 閱讀:410 作者:立夏wj 欄目:大數(shù)據(jù)

Hadoop

 

Server1.example.com 172.25.23.1 master

Server2.example.com 172.25.23.2 slave

Server3.example.com 172.25.23.3 slave

Server4.example.com 172.25.23.4 slave

Selinux iptables disabled 加解析(節(jié)點(diǎn)間可以ping) sshd enaled

 

Hadoop1.2.1

Master上進(jìn)行存儲計(jì)算等 單機(jī)

useradd -u 900 hadoop

echo westos | passwd --stdin hadoop

su - hadoop

1.安裝java (若原來的機(jī)子上有java先卸載)

(1)

sh jdk-6u32-linux-x64.bin

mv jdk1.6.0_32 /home/hadoop

ln -s jdk1.6.0_32 java

(2)添加路徑

vim .bash_profile

export JAVA_HOME=/home/hadoop/java

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

export PATH=$PATH:$JAVA_HOME/bin

source .bash_profile

2.設(shè)置hadoop

tar zxf hadoop-1.2.1.tar.gz

ln -s hadoop-1.2.1 hadoop

3.無密碼ssh設(shè)置

ssh-keygen

ssh-copy-id 172.25.23.1

ssh 172.25.23.1  測試確保無密碼

4.配置文件進(jìn)行修改

(1)設(shè)置從節(jié)點(diǎn)

vim hadoop/conf/slave

172.25.23.1

(2)設(shè)置主節(jié)點(diǎn)

vim hadoop/conf/master

172.25.23.1

(3) 修改java的家路徑

vim hadoop/conf/hadoop-env.sh

hadoop的基本搭建 

(4) 修改Hadoop核心配置文件core-site.xml配置的是HDFS的地址和端口號指定 namenode

vim hadoop/conf/core-site.xml

hadoop的基本搭建 

(5) 指定文件保存的副本數(shù)

vim hadoop/conf/hdfs-site.xml

hadoop的基本搭建 

(6) 指定 jobtracker

vim hadoop/conf/mapred-site.xml

hadoop的基本搭建 

5.開啟服務(wù)

(1) 格式化一個(gè)新的分布式文件系統(tǒng)

bin/hadoop namenode -format   

(2) 啟動 Hadoop 守護(hù)進(jìn)程

bin/start-all.sh = bin/start-dfs.sh + bin/start-mapred.sh

(3) 查看進(jìn)程

a)jps

hadoop的基本搭建 

b)bin/hadoop dfsadmin -report

hadoop的基本搭建
7.一些hadoop的常用命令 ( 類似于linux的命令只是在前面增加了hadoop特有的 )

bin/hadoop fs -ls

mkdir input

cp conf/*.xml input

bin/hadoop jar hadoop-examples-1.2.1.jar grep input output 'dfs[a-z.]+'

bin/hadoop fs -cat output/*

bin/hadoop fs -put conf/ input

bin/hadoop fs -get output output

 

8.瀏覽 NameNode JobTracker 的網(wǎng)絡(luò)接口,它們的地址默認(rèn)為:

NameNode http://172.25.23.1:50070/

hadoop的基本搭建 

點(diǎn)擊Browse the filesystem 下的 /user/hadoop/ 可看到上傳的

hadoop的基本搭建 

JobTracker http://172.25.23.1:50030/

hadoop的基本搭建 

 

 

分布式部署

先停掉master上的相關(guān)服務(wù)bin/stop-all.sh再刪掉/tmp/*

slave

1.目錄設(shè)置

useradd -u 900 hadoop

2.確保master可以和slave無密碼連接

yum install -y rpcbind

/etc/init.d/rpcbind start (nfs的一個(gè)中介服務(wù)用來通知客戶端)

3.同步數(shù)據(jù) (nfs)

(1) master(分享節(jié)點(diǎn)root下進(jìn)行)

/etc/init.d/nfs start  

vim /etc/exports

hadoop的基本搭建 

exportfs -rv

(2) slave端掛載

yum install -y nfs-utils

showmount -e 172.25.23.1

hadoop的基本搭建 

mount 172.25.23.1:/home/hadoop /home/hadoop

 

Master

1.修改配置文件

(1) vim  hadoop/conf/slave

172.25.23.2

172.25.23.3

(2) vim hadoop/conf/hdfs-site.xml

datanade保存2

hadoop的基本搭建 

2.查看master能否與slave進(jìn)行無密碼連接

ssh 172.25.23.2

  若需要密碼則進(jìn)行如下操作

(1)進(jìn)入hadoop用戶查看權(quán)限顯示(正確的應(yīng)顯示為hadoop)

hadoop的基本搭建 

(2)解析是否正確

(3)rpcbind是否開啟

(4)若上述都正確則可進(jìn)行

chkconfig rpcbind on

chkconfig rpcgssd on

chkconfig rpcidmapd on

chkconfig rpcsvcgssd on

reboot

hadoop的基本搭建 

則可無密碼連接

3.啟動服務(wù)

(1) 格式化一個(gè)新的分布式文件系統(tǒng)

bin/hadoop namenode -format   

(2) 啟動 Hadoop 守護(hù)進(jìn)程

bin/start-all.sh

(3) 查看進(jìn)程

master

hadoop的基本搭建 

slave

hadoop的基本搭建 

(4) 上傳文件

bin/hadoop fs -put conf/ input

(5) 訪問 172.25.23.150030

hadoop的基本搭建 

可看到有2個(gè)節(jié)點(diǎn)

172.25.23.150070

hadoop的基本搭建 

有文件上傳

 

新增一個(gè)從節(jié)點(diǎn)(172.25.23.4)且將文件轉(zhuǎn)移

1.新增節(jié)點(diǎn)和已經(jīng)配置好的從節(jié)點(diǎn)做相同的設(shè)置

yum install -y nfs-utils rpcbind

useradd -u 900 hadoop

/etc/init.d/rpcbind start

vim /etc/hosts

showmount -e 172.25.23.1

mount 172.25.23.1:/home/hadoop /home/hadoop

2.master端修改slaves

添加 172.25.23.4

3.在新增的從節(jié)點(diǎn)上啟動服務(wù)加入集群

bin/hadoop-daemon.sh start datanode

bin/hadoop-daemon.sh start tasktracker

4.master上查看

bin/hadoop dfsadmin -report

......

hadoop的基本搭建 

......

hadoop的基本搭建 

可看到新增的節(jié)點(diǎn)

5.均衡數(shù)據(jù):

bin/start-balancer.sh

1)如果不執(zhí)行均衡,那么 cluster 會把新的數(shù)據(jù)都存放在新的 datanode ,這樣會降低 mapred的工作效率

2)設(shè)置平衡閾值,默認(rèn)是 10%,值越低各節(jié)點(diǎn)越平衡,但消耗時(shí)間也更長bin/start-balancer.sh -threshold 5

 

6.數(shù)據(jù)轉(zhuǎn)移刪除

(1) vim hadoop/conf/mapred-site.xml

添加如下內(nèi)容

hadoop的基本搭建 

(2) 添加需要刪除的主機(jī)名

 vim /home/hadoop/hadoop/conf/hostexclude

172.25.23.3

(3) bin/hadoop dfsadmin -refreshNodes

此操作會在后臺遷移數(shù)據(jù),等此節(jié)點(diǎn)的狀態(tài)顯示為 Decommissioned,就可以安全關(guān)閉了??梢酝ㄟ^bin/hadoop dfsadmin -report查看 datanode 狀態(tài)

在做數(shù)據(jù)遷移時(shí),此節(jié)點(diǎn)不要參與 tasktracker,否則會出現(xiàn)異常。

(4) 刪除tasktracker可在172.25.23.3上直接停止(上邊都沒有node節(jié)點(diǎn)了)

 

恢復(fù)垃圾文件

1.編輯垃圾文件保留時(shí)間

vim hadoop/conf/core-site.xml

 

hadoop的基本搭建 

2.測試

刪除文件可以發(fā)現(xiàn)多出了一個(gè) .Trash目錄逐層進(jìn)入該目錄直到找到所刪除的文件再將該文件mv到原來所在的目錄里??梢园l(fā)現(xiàn) .Trash里面已經(jīng)沒有文件了。

hadoop的基本搭建 

 

 

Hadoop2.6.4

 

分布式部署(所有主從節(jié)點(diǎn)全部切換到su - hadoop )

 

在和1.2.1版本相同的環(huán)境目錄nfs等都不變

本次配置使用的是1.2.1的機(jī)子(里面的host rpcbind nfs 為做修改)在重新配置2.6.4時(shí)先停掉所有的1.2.1版的hadoop服務(wù)刪掉java等鏈接刪除 /tmp/下的文件等

二Java配置

2.6.4的版本要求67java版本

1.下載java安裝包 (hadoop的家目錄下)

jdk-7u79-linux-x64.tar.gz

tar zxf jdk-7u79-linux-x64.tar.gz

ln -s jdk1.7.0_79/ java

2.配置java路徑 (1.2的配置相同)

3.查看 版本號java -version

hadoop的基本搭建 

Hadoop的配置

cd hadoop/etc/hadoop

1. vim core-site.xml

hadoop的基本搭建 

2. vim hdfs-site.xml

hadoop的基本搭建 

3. cp mapred-site.xml.template mapred-site.xml

vim mapred-site.xml

hadoop的基本搭建 

 

4. vim yarn-site.xml

hadoop的基本搭建 

5. vim yarn-env.sh

hadoop的基本搭建 

6. vim etc/hadoop/hadoop-env.sh

hadoop的基本搭建 

7. vim slaves

172.25.23.2

172.25.23.3

172.25.23.4

四啟動服務(wù)

1.格式化

tar xf hadoop-native-64-2.6.0.tar -C hadoop/lib/native lib中最好將原來的另外保存或刪除將庫文件改成64位的

bin/hdfs namenode -format

2.開啟服務(wù)

sbin/start-dfs.sh  sbin/start-yarn.sh

3.查看進(jìn)程

master

hadoop的基本搭建 

slave

hadoop的基本搭建 

 

五、上傳文件

1.創(chuàng)建保存的目錄( V1版本是自動創(chuàng)建的 )

 bin/hdfs dfs -mkdir /user

 bin/hdfs dfs -mkdir /user/hadoop 

 

2.上傳文件

 mkdir input

cp etc/hadoop/*.xml input

bin/hdfs dfs -put input

bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output bin/hadoop jar hadoop-examples-1.2.1.jar wordcount input output

 

3.訪問

172.25.23.1:8088

hadoop的基本搭建

 

172.25.23.1:50070

將后面的.jsp改成 .html即可訪問該頁面

hadoop的基本搭建 

 

 

 

 問題

1.datanade沒有啟動

在關(guān)閉節(jié)點(diǎn)時(shí)會發(fā)現(xiàn) no datanade to stop 。

hadoop的基本搭建 

每次格式化后都會創(chuàng)建一個(gè)namenodeIDtmp下包含了上次的IDnamenode - format清除了namenode下的數(shù)據(jù)但是沒有清空datanade下的數(shù)據(jù)導(dǎo)致啟動失敗因此每次格式化后都要清除掉主從節(jié)點(diǎn)下的/tmp/*的所有數(shù)據(jù)。

 

2.namenode in safe mode

執(zhí)行bin/hadoop dfsadmin -safemode leave 即可

 

3.Exceeded MAX_FAILED_UNIQUE_FETCHES

這是因?yàn)槌绦蛑写蜷_的文件太多了一般系統(tǒng)默認(rèn)普通用戶不得超過1024

hadoop的基本搭建 

可以切換到root修改 /etc/security/limits.conf

添加 hadoop  -  nproc  4096

  hadoop  -  nofile  65535

- 可代表的是軟鏈接和硬鏈接 再切換到 hadoop 查看

hadoop的基本搭建 

 

4. vim hadoop/conf/core-site.xml

(2.6.4下配置hadoop.tmp.dir參數(shù))

<configuration>

       <property>

               <name>fs.defaultFS</name>

               <value>hdfs://172.25.23.1:9000</value>

     </property>

  <property>

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

               <value>/home/hadoop/tmp</value>

     </property>

<property>

           <name>dfs.namenode.name.dir</name>

           <value>/home/hadoop/tmp/namedir</value>

     </property>

<property>

           <name>dfs.datanade.data.dir</name>

           <value>/home/hadoop/tmp/datadir</value>

     </property>

</configuration>

若沒有配置這些參數(shù)則默認(rèn)的臨時(shí)目錄是在/tmp/下而/tmp/目錄每次重啟都會清空必須重新format才可以   

                    


向AI問一下細(xì)節(jié)

免責(zé)聲明:本站發(fā)布的內(nèi)容(圖片、視頻和文字)以原創(chuàng)、轉(zhuǎn)載和分享為主,文章觀點(diǎn)不代表本網(wǎng)站立場,如果涉及侵權(quán)請聯(lián)系站長郵箱:is@yisu.com進(jìn)行舉報(bào),并提供相關(guān)證據(jù),一經(jīng)查實(shí),將立刻刪除涉嫌侵權(quán)內(nèi)容。

AI