hadoop一主一從部署(1)

1、安裝前說明

主機IP:192.168.132.128
從機IP:192.168.132.129
1. 全部的安裝包我放在了/root/這個目錄下,你要根據本身狀況去修改,這點必須注意
2. 採用的安裝包以下

jdk-7u79-linux-x64.tar.gz,hadoop-2.8.0.tar.gznode

3. 採用的Linux系統是centos7.0
4. 文中命令若是沒有強調,默認在兩臺機子上都執行相同的命令

2、安裝步驟

1 配置免密登陸
執行命令ssh-keygen
一直按回車鍵便可。
主機執行命令ssh-copy-id root@192.168.132.129
從機執行命令ssh-copy-id root@192.168.132.128
按照要求輸入yes,和密碼linux

2 驗證免密登陸
主機執行命令 ssh 192.168.132.129
正常狀況是不須要輸入密碼就能夠登陸,驗證成功以後執行exit命令退出遠程登陸。
一樣的操做在從機執行一遍,從機執行命令 ssh 192.168.132.128web

3 在/etc/hosts這個文件下加入以下兩行:apache

192.168.132.128 master
192.168.132.129 slaver

4 解壓jdk和Hadoop,並將其添加到環境變量centos

tar zxvf jdk-7u79-linux-x64.tar.gz
tar zxvf hadoop-2.8.0.tar.gz

在/etc/profile下寫入以下代碼(個人路徑放在/root/下,你要改爲本身的路徑):app

export JAVA_HOME=/root/jdk1.7.0_79
export HADOOP_HOME=/root/hadoop-2.8.0
export PATH=$PATH:$JAVA_HOME/bin
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

執行命令 source /etc/profile使環境變量生效ssh

5 建立必要的目錄用來存放數據和一些臨時文件(這些目錄會在配置文件中用到)webapp

mkdir tmp dfs
mkdir dfs/data dfs/name

6 對Hadoop的配置文件進行修改
執行命令cd /root/hadoop-2.8.0/etc/hadoop/
將hadoop-env.sh,yarn-env.sh,mapred-env.sh文件中的JAVA_HOME的值改爲
/root/jdk1.7.0_79
以爲手動修改麻煩的也能夠採用以下三個命令:oop

sed -i '/^export JAVA_HOME=${JAVA_HOME}/ s/JAVA_HOME=${JAVA_HOME}/JAVA_HOME=\/root\/jdk1.7.0_79/g' hadoop-env.sh
sed -i '/^#.*export JAVA_HOME=.*/ s/^.*$/export JAVA_HOME=\/root\/jdk1.7.0_79/g' yarn-env.sh
sed -i '/^#.*export JAVA_HOME=.*/ s/^.*$/export JAVA_HOME=\/root\/jdk1.7.0_79/g' mapred-env.sh

7 對Hadoop的core-site.xml這個配置文件進行修改,執行命令
sed -i '/<.*configuration>/d' core-site.xml
上述命令是將原先的配置文件進行清理,而後執行以下命令寫入新的配置文件(這個配置文件主機從機沒區別,所有用主機的IP):測試

cat >> core-site.xml << EOF
<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://master:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>file:/root/tmp</value>
    </property>
    <property>
        <name>io.file.buffer.size</name>
        <value>131702</value>
    </property>
</configuration>
EOF

8 對Hadoop的配置文件hdfs-site.xml,(這裏主機和從機的配置文件略有區別)執行命令:
sed -i '/<.*configuration>/d' hdfs-site.xml
上述命令是將原先的配置文件進行清理,而後在從機上!!(若是是主機,須要把下面配置文件中的slaver改爲master,由於這個配置文件主機和從機略有區別,這個配置文件主機和從機用本身的IP,)執行以下命令寫入新的配置文件:

cat >> hdfs-site.xml << EOF
<configuration>
    <property>
        <name>dfs.namenode.name.dir</name>
        <value>file:/root/dfs/name</value>
    </property>
    <property>
        <name>dfs.datanode.data.dir</name>
        <value>file:/root/dfs/data</value>
    </property>
    <property>
        <name>dfs.replication</name>
        <value>2</value>
    </property>
    <property>
        <name>dfs.namenode.secondary.http-address</name>
        <value>slaver:9001</value>
    </property>
    <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
    </property>
</configuration>
EOF

9 對Hadoop的配置文件mapred-site.xml進行修改
執行命令mv mapred-site.xml.template mapred-site.xml
執行命令sed -i '/<.*configuration>/d' mapred-site.xml
在從機上執行以下一大段命令(若是是主機,把slaver改爲master,由於這個配置文件主機從機有區別,這個配置文件用本身的IP):

cat >> mapred-site.xml << EOF
<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>slaver:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>slaver:19888</value>
    </property>
</configuration>
EOF

10 對Hadoop配置文件yarn-site.xml進行修改
執行命令:sed -i '/<.*configuration>/d' yarn-site.xml
執行以下一大段命令(這個配置文件主機從機沒區別,都用主機的):

cat >> yarn-site.xml << EOF
<configuration>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
        <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>
        <value>org.apache.hadoop.mapred.ShuffleHandler</value>
    </property>
    <property>
        <name>yarn.resourcemanager.address</name>
        <value>master:8032</value>
    </property>
    <property>
        <name>yarn.resourcemanager.scheduler.address</name>
        <value>master:8030</value>
    </property>
    <property>
        <name>yarn.resourcemanager.resource-tracker.address</name>
        <value>master:8031</value>
    </property>
    <property>
        <name>yarn.resourcemanager.admin.address</name>
        <value>master:8033</value>
    </property>
    <property>
        <name>yarn.resourcemanager.webapp.address</name>
        <value>master:8088</value>
    </property>
    <property>
        <name>yarn.nodemanager.resource.memory-mb</name>
        <value>4096</value>
    </property>
</configuration>
EOF

11 對Hadoop配置文件slavers進行修改
將裏面的localhost刪除
寫入 slaver

至此,Hadoop搭建初步完成,下一篇博文會簡單介紹Hadoop初始化以及簡單的使用。本代碼已通過屢次測試,若是出現問題
  1. 檢查絕對路徑
  2. 檢查是否疏漏一些命令
相關文章
相關標籤/搜索