hadoop-2.6集羣安裝

 

基礎環境

 

sshd配置

 

目錄:/root/.ssh 

 

整個配置就四個shell

 

1.        每臺機器操作一次 

ssh-keygen   -t rsa

生成ssh密鑰,生成的文件如下:

id_rsa

id_rsa.pub

.pub爲公鑰,沒有.pub爲私鑰

 

2.        每臺機器操作一次

cp   id_rsa.pub     authorized_keys

 

authorized_keys不能錯,保留的規定

 

3.        給每個機器拷一次,分發。

scp            id_rsa.pub                 hadoop262:/root/.ssh/hadoop261.pub 

 

拷貝本機公鑰到hadoop262機器的/root/.ssh目錄下,新文件名hadoop261.pub

 

4.        加入其它機器的公鑰到本機,就可以不輸入密碼了

cat             hadoop261.pub        >>   authorized_keys

 

有多少加多少,我的是除id_rsa.pub文件外,其它的xxxxx.pub都是其它機器,全加上;

 

注意事項:

/etc/hosts的主機映射,對本機的映射,/etc/sysconfig/network裏的本機hostname,只要不衝突,一般不會有問題,怕就怕繞暈了自己,衝突了

 

我的shell腳本:

 

/etc/hosts  -->  配置

# masterhadoop  localhost

192.168.121.218         hadoop261

# salve1hadoop

192.168.121.228         hadoop262

# salve2hadoop

192.168.121.238         hadoop263

127.0.0.1   localhost localhost.localdomain   hadoop261

 

/etc/sysconfig/network  -->  配置

NETWORKING=yes

HOSTNAME=hadoop261

GATEWAY=192.168.121.1

 

 

 

 

ftp 配置

我這裏主要是要上傳工具方便,並不是要做專業的 ftp服務器,所以我只使用root用戶登陸上傳,root用戶只需要把ftp屏蔽的用戶列表去掉root,打開防火牆,關閉selinux即可.

 

在以下文件一般第一行就是root  使用#註釋掉  其它的不用管。

vim/etc/vsftpd/user_list 

vim/etc/vsftpd/ftpusers

 

運行setup

關閉防火牆,如圖:

用箭頭下翻,回車(enter)確認,進去把*去掉,示不運行了。接着選擇[系統服務] ,一般是最後,把vsftpd前面勾選,如圖:

*示運行,沒有*示未運行,在這個窗體順便把iptables也反選,一般iptables是有*的;

vsftpd勾選可以讓他隨系統啓動

 

 

接着關閉selinux:

 

暫時關閉:

setenforce     0

 

永遠關閉:

sed  -i 's/SELINUX=enforcing/SELINUX=disabled/' /etc/selinux/config

 

getenforce可以獲取當前selinux的狀態:

Disabled狀態爲已經永久關閉

Permissive爲暫時關閉狀態

 

如果IP配置正確,現在啓動或重啓vsftpd就可以用了,默認vsftpd是不啓動的.

service   vsftpd   restart   重啓

service   vsftpd   start     啓動

 

 

環境規劃

 

特別提醒:

在安裝前首先規劃一下主機名,IP,hadoop目錄,java目錄。

 

 

解壓文件移動文件(重命名)

 

java_home             

/home/jdk1.7

hadoop home                   /home/hadoop_app/hadoop-2.6.0

 

 

環境變量配置

  重複執行在所有機器上

重複vim  /etc/profile

 

exportJAVA_HOME=/home/jdk1.7

exportCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JRE_HOME/lib/tools.jar:$CLASSPATH

exportPATH=$JAVA_HOME/bin:$PATH

# hadoop

exportHADOOP_HOME=/home/hadoop/hadoop-2.6.0

exportPATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

 

 

重複hostname:

vim   /etc/hosts

  重複執行在所有機器上

# masterhadoop

192.168.121.218         hadoop261

# salve1 hadoop

192.168.121.228         hadoop262

# salve2 hadoop

192.168.121.238         hadoop263

 

127.0.0.1   localhost localhost.localdomain        hadoop262

#::1         localhostlocalhost.localdomain localhost6 localhost6.localdomain6

 

/etc/sysconfig/network

 

NETWORKING=yes

HOSTNAME=hadoop262

GATEWAY=192.168.121.1

 

hadoop配置

 

 

 

 

core-site.xml

<?xmlversion="1.0" encoding="UTF-8"?>

<?xml-stylesheet  type="text/xsl"  href="configuration.xsl"?>

<configuration>

<property>

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

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

<description>Abasefor other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://192.168.121.218:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>4096</value>

</property>

</configuration>

 

 

hdfs-site.xml

 

 

<?xmlversion="1.0" encoding="UTF-8"?>

<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>

<!--

Licensedunder the Apache License, Version 2.0 (the "License");

you maynot use this file except in compliance with the License.

You mayobtain a copy of the License at

 

http://www.apache.org/licenses/LICENSE-2.0

 

Unlessrequired by applicable law or agreed to in writing, software

distributedunder the License is distributed on an "AS IS" BASIS,

WITHOUTWARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.

See theLicense for the specific language governing permissions and

limitationsunder the License. See accompanying LICENSE file.

-->

 

<!--Put site-specific property overrides in this file. -->

 

<configuration>

<property>

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

<value>file:///home/hadoop_app/dfs/name</value>

</property>

<property>

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

<value>file:///home/hadoop_app/dfs/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

 

<!--

<property>

<name>dfs.nameservices</name>

<value>hadoop-cluster1</value>

</property>

-->

 

<property>

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

<value>192.168.121.218:50090</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

 

</configuration>

 

mapred-site.xml

 

<?xmlversion="1.0"?>

<?xml-stylesheettype="text/xsl" href="configuration.xsl"?>

<configuration>

 

<property>

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

<value>yarn</value>

<final>true</final>

</property>

 

<property>

<name>mapreduce.jobtracker.http.address</name>

<value>192.168.121.218:50030</value>

</property>

<property>

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

<value>192.168.121.218:10020</value>

</property>

<property>

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

<value>192.168.121.218:19888</value>

</property>

<property>

<name>mapred.job.tracker</name>

<value>http://192.168.121.218:9001</value>

</property>

</configuration>

 

 

yarn-site.xml

 

<property>

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

<value>hadoop261</value>

</property>

 

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>192.168.121.218:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>192.168.121.218:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>192.168.121.218:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>192.168.121.218:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>192.168.121.218:8088</value>

</property>

 

 

vi hadoop-env.sh  和 yarn-env.sh 

 

在開頭添加如下環境變量,我試過不加報找不到JAVA_HOME的錯

 

export JAVA_HOME=/home/java/jdk1.7

# Thejava implementation to use.

exportJAVA_HOME=${JAVA_HOME}

 

其實環境變量已經可以讀了,我還是加上去了

 

 

單機完成,  重複執行在所有機器上

可以使用hadoop   dfsadmin  -report查看一下有沒有報錯

 

修改slaves

 

# hadoop261

hadoop262

hadoop263

 

 

這裏可以看到,挺簡單,集不集羣,只在於slaves。

 

省事的配置方法:

在一臺機器上配置完成後,把java和hadoop整體目錄拷到其它機器上按原目錄組織,再加上環境變量即可。

 

 

格式化文件系統:

 

 

 

hadoopnamenode  -format

 

如果不格輸入hadoop   dfsadmin  -report報如下錯:

report:Call From hadoop261/192.168.121.218 to hadoop261:9000 failed on connectionexception: java.net.ConnectException: 拒絕連接; For moredetails see: http://wiki.apache.org/hadoop/ConnectionRefused

 

 

 

驗證安裝:

啓動:

 

sbin/start-all.sh

 

啓動完成後輸入:

[root@hadoop261sbin]# jps

56745Jps

56320SecondaryNameNode

56465ResourceManager

56129NameNode

 

 

在本機瀏覽輸入地址:

http://192.168.121.218:8088/cluster

 

結果如圖:

 

輸入地址:http://192.168.121.218:50070/

 

Datanode Information

 

 

這裏試過使用64 位rhel 6,啓動有問題,又換回64位的hadoop2.6重新整。

 

 

第一次使用的hostname配置地址,也報了錯,就全改成IP了

 

明天繼續wordcount,如有興趣可以進QQ羣208881891進行討論

 

 

 

 

 

 

 

 

 

 

 

 

 

 


發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章