MacOS部署單機版Hadoop(僞分佈模式)

MacOS部署單機版Hadoop

hadoop是一種分佈式框架,一般部署在計算機集羣(cluster)上。在沒有集羣的情況下,爲了學習和調試hadoop程序,可以在本機上部署一個單機版的hadoop框架。

hadoop下載鏈接:https://archive.apache.org/dist/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz

版本爲3.2.0

是一個.tar.gz的壓縮文件,首先,將該文件解壓縮到指定的文件夾,如這裏指定將其放在opt文件夾下:

tar -zxvf hadoop-3.2.0.tar.gz -C /opt/

這時就可以看到

baidudeMacBook-Pro:~ jiazhuang01$ ls /opt
DuGuanJiaSvc	MacAptSvc	hadoop-3.2.0

已經解壓到了該文件夾裏

第一步仍然是要將hadoop添加到路徑中,即將其創建變量,並且寫入PATH中:

vim /etc/profile

將如下語句添加到現有的內容後面:

export HADOOP_HOME=/opt/hadoop-3.2.0
export PATH=$PATH:$HADOOP_HOME/bin

保存好,並且source一下讓其生效:

source /etc/profile

這時看一下HADOOP_HOME,如下:

baidudeMacBook-Pro:hadoop-3.2.0 jiazhuang01$ echo $HADOOP_HOME 
/opt/hadoop-3.2.0

可以看到,環境變量已經配好。下面需要改一下hadoop配置文件xml中的一些內容。

然後,進入hadoop-3.2.0文件夾,可以看到在 etc/hadoop路徑下有很多xml文件。需要對其中的幾個進行修改:分別是:

Core-site.xml

Yarn-site.xml

Mapred-site.xml

Hdfs-site.xml

修改後的內容如下(這裏參考了 http://www.hihubs.com/article/341 中的方法):

vim $HADOOP_CONF_DIR/core-site.xml
<configuration>
      <property>
            <name>fs.defaultFS</name>
            <value>hdfs://localhost/</value>
        </property>
    </configuration>
    
vim $HADOOP_CONF_DIR/hdfs-site.xml
   <configuration>
       <property>
            <name> dfs.replication </name>
            <value> 1 </value>
        </property>
    <configuration>

vim $HADOOP_CONF_DIR/mapred-site.xml      
    <configuration>
        <property>
            <name> mapreduce.framework.name </name>
            <value> yarn </value>
         </property>
        <property>
            <name> mapreduce.application.classpath </name>
            <value> $HADOOP_HOME/share/hadoop/mapreduce/\*:$HADOOP_HOME/share/hadoop/mapreduce/lib/\* </value>
         </property>
    <configuration>
    
vim $HADOOP_CONF_DIR/yarn-site.xml    
    <configuration>
       <property>
            <name> yarn.nodemanager.aux-services </name>
            <value> mapreduce_shuffle </value>
       </property>
         <property>
            <name> yarn.nodemanager.env-whitelist </name>
            <value> HADOOP_HOME,JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME </value>
         </property>
    <configuration>

修改好後,配置ssh免密登錄,具體方法可以參考:

https://dongkelun.com/2018/04/05/sshConf/

操作如下:

ssh-keygen -t rsa

用RSA算法加密,得到結果如下:

Generating public/private rsa key pair.
Enter file in which to save the key (/Users/jiazhuang01/.ssh/id_rsa): 
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /Users/jiazhuang01/.ssh/id_rsa.
Your public key has been saved in /Users/jiazhuang01/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:YxUsVinjo54B86DZ9+bwuz0TFzT9zV8v0rZMaGqFfn4 [email protected]
The key's randomart image is:
+---[RSA 2048]----+
|         oo. .   |
|        = o.o .  |
|       o +.. . o.|
|    +   o.  .   =|
|   + = .S. . +  +|
|  o . =. .o * = o|
|     o.+ . * = o |
|      ooo.* . E  |
|       o=+.=..   |
+----[SHA256]-----+

然後將public key導入到authorized_keys中:

baidudeMacBook-Pro:hadoop-3.2.0 jiazhuang01$ cd /Users/jiazhuang01/.ssh/
baidudeMacBook-Pro:.ssh jiazhuang01$ cat id_rsa.pub>>authorized_keys 

完成後可以ssh一下localhost,看看是否可以:

baidudeMacBook-Pro:hadoop-3.2.0 jiazhuang01$ ssh localhost
Last login: Fri Jul 19 18:04:02 2019

可以了~

第一次要格式化一下:

hadoop namenode -format

下面,進入Hadoop的home目錄下,找到sbin子目錄的start-dfs.sh文件,運行:

sbin/start-dfs.sh

得到結果:

Starting namenodes on [localhost]
Starting datanodes
Starting secondary namenodes [baidudeMacBook-Pro.local]
2019-07-19 16:54:20,914 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

可以用jps(java processing status,查看JAVA進程)命令看一下結果

55952 ResourceManager
61137 Jps
60642 NameNode
11013 
60742 DataNode
60879 SecondaryNameNode

可以看到建立了NameNode、DataNode以及SecondaryNameNode。

到此本機架設Hadoop就完成啦!

2019-07-19 19:06:48

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