Linux上搭建Hadoop集群


本文將為初學者的搭建簡單的偽分布式集群,將搭建一台虛擬機,用於學習Hadoop

工具:vm虛擬機,centOS7,jdk-8,Hadoop2.7,xftp,xshell

用戶:在虛擬機中創建一個hadoop用戶並加入到root組中useradd -m hadoop -G root -s /bin/bash

准備好這些工具,用戶,我們將開始搭建hadoop

1.讓虛擬機鏈接同主機:(建議使用nat模式)

因為虛擬機默認就是nat鏈接,所以我們一路配置虛擬機便可。然后我們使用root用戶登陸Linux(我的Linux叫bigdatas)

查看主角ip (ip a)比如我的IP是192.168.1.11.然后我們打開主機(真機不是虛擬機)打開網路編輯

將里面的IP,網口全部改成和bigdatas里面相同的便可,如果在主機聯網的情況下,進入bigdatas中 ping www.baidu.com

有返回值,便可修改hosts  vi /etc/ hosts添加如下:

192.168.1.111 bigdatas

2.配置ssh免密碼登陸:

ssh-keygen -t rsa 生成公鑰和私鑰一路回車道yes,完成后便可登陸自己,要想登陸其他機器要

將生產的公鑰拷貝給需要登錄的目標主機 ssh-copy-id bigdatas

然后便可看道.ssh文件

cd ~
ll .ssh

這時我們便可測試ssh登陸了ssh bigdatas(1.先使用hadoop用戶連接 2.連接成功后再次ssh free97zl 無需輸入密碼登錄即測試成功!)

3配置環境

這時我拿xftp把下載好的jdk,hadoop傳到bigdatas下hadoop文件夾下,並解壓(tar -zxvf 。。。)

切換到hadoop用戶,vi ~/.bashrc后

添加如下環境變量

export JAVA_HOME=/home/hadoop/opt/jdk-9.0.1
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_HOME=/home/hadoop/opt/hadoop-2.9.0
export HADOOP_CONF_DIR=/home/hadoop/opt/hadoop-2.9.0/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

然后按下shift zz進行保存

然后輸入source .bashrc讓環境變量立刻生效

4配置Hadoop,想進入如下目錄下

/home/hadoop/opt/hadoop-2.9.0/etc/hadoop 在/home/hadoop/opt/hadoop-2.9.0下建一個臨時目錄tmp

輸入ll -a后修改如下幾個配置文件:

core-site.xml
        <property>
                   <name>fs.defaultFS</name>
                <value>hdfs://bigdatas:9000</value>
            </property>
            <property>
                <name>hadoop.tmp.dir</name>
                <value>file:/home/hadoop/opt/hadoop-2.9.0/tmp</value>
            </property>    
    
        fs:指定hadoop文件系統hdfs
        dir:指定hadoop數據存放位置
    hdfs-site.xml
         <property>
                    <name>dfs.namenode.secondary.http-address</name>
                    <value>bigdatas:50090</value>
                </property>
            <property>
                        <name>dfs.replication</name>
                        <value>1</value>
                </property>
            <property>
                    <name>dfs.namenode.name.dir</name>
                    <value>file:/home/hadoop/opt/hadoop-2.9.0/tmp/dfs/name</value>
            </property>
            <property>
                    <name>dfs.datanode.data.dir</name>
                    <value>file:/home/hadoop/opt/hadoop-2.9.0/tmp/dfs/data</value>
            </property>

        host:port
        dfs.replication 默認備份3

    mapred-site.xml
         cp mapred-site.xml.template mapred-site.xml
         <property>
                    <name>mapreduce.framework.name</name>
                        <value>yarn</value>
            </property>
            <property>
                    <name>mapreduce.jobhistory.address</name>
                    <value>free97zl:10020</value>
                </property>
            <property>
                    <name>mapreduce.jobhistory.webapp.address</name>
                    <value>free97zl:19888</value>
            </property>

    slaves(不需要vi slaves)
    yarn-site.xml
          <property>
                    <name>yarn.resourcemanager.hostname</name>
                    <value>free97zl</value>
            </property>
            <property>
                    <name>yarn.nodemanager.aux-services</name>
                    <value>mapreduce_shuffle</value>
            </property>

5啟動hadoop集群

hadoop用戶下:
hdfs namenode -format #第一次啟動要執行格式化,之后啟動不用執行這個
start-dfs.sh

6.

在free97zl 執行 jps
看到如下算成功
[root@bigdatas hadoop]# jps
2880 JobHistoryServer
2457 ResourceManager
2746 NodeManager
2922 Jps
2107 DataNode
2012 NameNode
2300 SecondaryNameNode

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM