hadoop-2.4.0徹底分佈式集羣搭建

1.配置hostsphp

各linux版本hosts文件位置可能不一樣,redhat是在 /etc/hosts,編輯之:
java

172.17.0.1    master
172.17.0.2    resorucemanager
172.17.0.3    datanode1
172.17.0.4    datanode2
172.17.0.5    datanode3

而後copy到其他四臺服務器,而後分別執行 /bin/hostsname hostsnamenode

例如:master上執行 /bin/hostsname master,使之生效。linux

2.配置sshweb

2.1 建立hadoop用戶shell

注意:hadoop有兩種運行模式,安全模式和非安全模式。安裝模式是以指定在健壯的,基於身份驗證上運行的,若是無需運行在非安全模式下,能夠直接使用root用戶。安全

安全模式下要確保hdfs和yarn以不一樣的用戶身份運行,如hdfs和yarn,還有確保mapreduce jobhistory server以user mapred運行。推薦這三個身份使用一個組名爲hadoop。這裏爲了方便直接使用root。服務器

2.2 配置master無密碼ssh各服務器app

在master執行操做:ssh

ssh-keygen -t rsa

而後一直回車,最後在/root/.ssh/目錄下生成了兩個文件 id_rsa 和 id_rsa.pub

cat id_rsa.pub > ./authorized_keys

而後複製到其餘服務器(若沒有.ssh文件夾需手動建立)

scp authorized_keys resourcemanager:/root/.ssh/
scp authorized_keys datanode1:/root/.ssh/
scp authorized_keys datanode2:/root/.ssh/
scp authorized_keys datanode3:/root/.ssh/

驗證可否無密碼ssh,在master服務器上執行操做:

ssh master

注意:第一次可能會提示輸入yes or no,以後就能夠直接ssh登陸了。

同理驗證其他四臺主機是否可用無密碼ssh登陸。

3.配置jdk和hadoop環境變量

版本:jdk1.7.0_55 hadoop-2.4.0

下載並解壓到

/opt/tools/jdk1.7.0_55 

/opt/hadoop-2.4.0

編輯 /etc/profile,在最後加上

export JAVA_HOME=/opt/tools/jdk1.7.0_55
export JRE_HOME=$JAVA_HOME/jre
export HADOOP_HOME=/opt/hadoop-2.4.0
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export CLASSPATH=$JAVA_HOME/lib:$JRE_HOME/lib:$CLASSPATH
export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$HADOOP_HOME/bin:$PATH

保存退出,執行下列命令使之生效

source /etc/profile

4.配置hadoop

配置文件目錄爲hadoop-2.4.0/etc/hadoop/

4.1 在yarn-env.sh 和hadoop-env.sh文件中加上jdk路徑

export JAVA_HOME=/opt/tools/jdk1.7.0_55

4.2 core-site.xml

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
        <final>true</final>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/opt/tmp/hadoop-${user.name}</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131072</value>
    </property>
</configuration>

4.3 hdfs-site.xml

<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/opt/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/opt/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>3</value>
    </property>
</configuration>

4.4 mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
        <description>Execution framework set to Hadoop YARN.</description>
    </property>
</configuration>

4.5 yarn-site.xml

<configuration>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>jobtracker:9001</value>
        <description>The address of the applications manager interface in the RM.</description>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>jobtracker:18030</value>
        <description>The address of the scheduler interface,in order for the RM to obtain the resource from scheduler</description>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>jobtracker:18025</value>
        <description>The address of the resource tracker interface for the nodeManagers</description>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>jobtracker:18035</value>
        <description>The address for admin manager</description>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>jobtracker:18088</value>
        <description>The address of the RM web application.</description>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
</configuration>

4.6 slaves

在該文件中添加

datanode1
datanode2
datanode3

注意:上面配置文件中出現的目錄須要本身建立。配置文件須要複製到各個服務器上,而且個服務器目錄結構要相同

5.運行hadoop

爲了以防某個節點未啓動報錯,建議單獨啓動每項節點,啓動順序依次爲:

  • 格式化namenode(master):

hdfs namenode -format

  • 啓動namenode(master):

/opt/hadoop-2.4.0/sbin/hadoop-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop --script hdfs start namenode

  • 啓動datanode(master):

/opt/hadoop-2.4.0/sbin/hadoop-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop --script hdfs start datanode

  • 啓動resourcemanager(resourcemanager)

/opt/hadoop-2.4.0/sbin/yarn-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop start resourcemanager

  • 啓動nodemanager(resourcemanager)

/opt/hadoop-2.4.0/sbin/yarn-daemon.sh --config /opt/hadoop-2.4.0/etc/hadoop start nodemanager

  • 啓動WebAppProxy Server(resourcemanager

/opt/hadoop-2.4.0/sbin/yarn-daemon.sh start proxyserver --config /opt/hadoop-2.4.0/etc/hadoop

  • 啓動MapReduce JobHistory Serverresourcemanager 

/opt/hadoop-2.4.0/sbin/mr-jobhistory-daemon.sh start historyserver --config /opt/hadoop-2.4.0/etc/hadoop

注意:上面括號中的內容表示在哪一個服務器上執行命令。啓動前須要全部服務器的防火牆關閉,執行

service iptables stop

也能夠想一次性啓動,直接在master上啓動hdfs,在resourcemanager上啓動yarn資源管理系統

  • 啓動hdfs(master)

/opt/hadoop-2.4.0/sbin/start-dfs.sh

  • 啓動yarn(resourcemanager)

/opt/hadoop-2.4.0/sbin/start-yarn.sh

若一切順利,在各服務器上輸入jps

master顯示:

30739 Jps
9547 NameNode
9746 SecondaryNameNode

resourcemanager顯示:

2917 Jps
27910 ResourceManager

各個datanode顯示:

24334 Jps
1594 NodeManager
1027 DataNode

至此,一個徹底分佈式hadoop集羣搭建成功

關閉hadoop按照上面啓動的順序呢,把start改爲stop便可。

相關文章
相關標籤/搜索