Ubuntu16.04 安装配置Hadoop详细步骤(单机版)

前提条件

(1)Ubuntu16.04 机子一台,尽量可以联网。

(2)已安装jdk,具体安装教程请看我以前的文章。

下载Hadoop

Hadoop下载地址,推荐下载2.7.7版本,因为它比较稳定。

使用wget下载:

root@instance-cqxyyrb2:/# mkdir Hadoop
root@instance-cqxyyrb2:/# cd Hadoop/
root@instance-cqxyyrb2:/Hadoop# wget http://mirror.bit.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz

下载成功后如:

root@instance-cqxyyrb2:/Hadoop# ls
hadoop-2.7.7.tar.gz

将Hadopp解压到根目录下Hadoop文件夹内,解压时间大概半分钟。

root@instance-cqxyyrb2:/Hadoop# tar -xzvf hadoop-2.7.7.tar.gz

解压后如:

root@instance-cqxyyrb2:/Hadoop# ls
hadoop-2.7.7  hadoop-2.7.7.tar.gz

配置Hadoop

1.配置/etc/profile

在/etc/profile内配置Hadoop安装路径,在结尾加上下列内容

export HADOOP_HOME=/Hadoop/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

刷新配置文件:

root@instance-cqxyyrb2:/Hadoop/hadoop-2.7.7# source /etc/profile

2.修改hostname

查看本机ip:

root@instance-cqxyyrb2:/Hadoop/hadoop-2.7.7/etc/hadoop# ifconfig
eth0      Link encap:Ethernet  HWaddr 00:16:3e:0c:2c:e8  
          inet addr:172.18.118.58  Bcast:172.18.127.255  Mask:255.255.240.0
          UP BROADCAST RUNNING MULTICAST  MTU:1500  Metric:1
          RX packets:711983 errors:0 dropped:0 overruns:0 frame:0
          TX packets:595554 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1000 
          RX bytes:394480464 (394.4 MB)  TX bytes:158758390 (158.7 MB)

lo        Link encap:Local Loopback  
          inet addr:127.0.0.1  Mask:255.0.0.0
          UP LOOPBACK RUNNING  MTU:65536  Metric:1
          RX packets:1393574 errors:0 dropped:0 overruns:0 frame:0
          TX packets:1393574 errors:0 dropped:0 overruns:0 carrier:0
          collisions:0 txqueuelen:1 
          RX bytes:121113970 (121.1 MB)  TX bytes:121113970 (121.1 MB)

得到本机ip为172.18.118.58

配置/etc/hosts和/etc/hostname文件实现修改本机的hostname

将/etc/hosts内容修改为:

173.18.118.58 master
127.0.0.1  localhost  localhost.localdomain

将/etc/hostname内容修改为:

master

 保存后重启查看hostname:

root@master:~# hostname
master

可以看到hostname修改成功

3.配置ssh

进入~目录:

root@master:~# cd

生成ssh秘钥,输入ssh-keygen -t rsa后一直按enter:


root@master:~# ssh-keygen -t rsa
Generating public/private rsa key pair.
Enter file in which to save the key (/root/.ssh/id_rsa): 
Created directory '/root/.ssh'.
Enter passphrase (empty for no passphrase): 
Enter same passphrase again: 
Your identification has been saved in /root/.ssh/id_rsa.
Your public key has been saved in /root/.ssh/id_rsa.pub.
The key fingerprint is:
SHA256:8C72/b14V6HCPSIEVRIHEgHClWNeUZK3bB4KDpWGCLo root@master
The key's randomart image is:
+---[RSA 2048]----+
|o o.oo+*B*+o     |
|.. o.B +o.o      |
|.   = + + .      |
| . . o o *     . |
|E   o . S o . . .|
|     . o o + +  .|
|      o . . o . .|
|     . o .   o. .|
|        . ..o.oo |
+----[SHA256]-----+

授权:

root@master:~# cat .ssh/id_rsa.pub >> .ssh/authorized_keys

检验ssh:

[root@master ~]# ssh master
Last login: Thu Mar 14 11:45:09 2019 from master
[root@master ~]# 

表示配置成功。 

4.配置Hadoop配置文件

进入解压后的文件夹:

root@master:/Hadoop# cd hadoop-2.7.7/
root@master:/Hadoop/hadoop-2.7.7# ls
bin  etc  include  lib  libexec  LICENSE.txt  NOTICE.txt  README.txt  sbin  share

Hadoop需要配置的核心文件主要有以下几个:

       1、hadoop-env.sh

       2、core-site.xml

       3、hdfs-site.xml

       4、mapred-site.xml

       5、yarn-site.xml

       6、master

       7、workers

       8、slaves

这些文件都在Hadoop安装目录内的/etc/hadoop内,下面我们一个一个地来配置这些文件。

首先进入配置文件所在目录:

(1)hadoop-env.sh

hadoop-env.sh内配置的是JAVA_HOME,使用vi打开编辑:

root@master:/Hadoop/hadoop-2.7.7/etc/hadoop# vi hadoop-env.sh 

找到下列内容:

# The java implementation to use. By default, this environment
# variable is REQUIRED on ALL platforms except OS X!
export JAVA_HOME=${JAVA_HOME}

将# export JAVA_HOME=修改为:

#修改前
export JAVA_HOME=${JAVA_HOME}

#修改后
export JAVA_HOME=/Java/jdk1.8

(2)core-site.xml

core-site.xml内存储的是Hadoop的核心配置,包括namenode的地址等。

修改内的内容为:



    
    
        fs.defaultFS
        hdfs://master:9000
    

    
    
        hadoop.tmp.dir
        /Hadoop/tmp
    

(3)hdfs-site.xml

hdfs-site.xml内存储的是HDFS的配置

修改内的内容为:





  dfs.http.address
  hdfs://master:50070
 



        dfs.namenode.secondary.http-address
       master:50090




        dfs.replication
        1




        dfs.name.dir
        /Hadoop/data/name




        dfs.data.dir
        /Hadoop/data/datanode




    hadoop.tmp.dir
    /Hadoop/data/hadoop/tmp



(4)mapred-site.xml

mapred-site.xml内存储的是mapreduce使用的配置,包括计算框架,内存大小等等。

修改内的内容为:



    
    
        mapreduce.framework.name
        yarn
    


(5)yarn-site.xml

yarn-site.xml内存储的是yarn计算框架的配置,包括resourcemanager的hostname等等

修改内的内容为:





    yarn.resourcemanager.hostname
    master



(6)master

master文件存储的是namenode和secondarynamenode的hostname

添加:

master

(7)slaves

slaves文件存储的是datanode的hostname

添加:

master

(8)workers

workers文件存储的是所有在工作的机器的hostname,包括namenode、datanode、secondarynamenode的hostname

添加:

master

要成功启动Hadoop还需要配置以下几个文件:

         1、start-dfs.sh

         2、stop-dfs.sh

         3、start-yarn.sh

         4、stop-yarn.sh

这些文件在Hadoop安装目录下的sbin文件夹内。

下面依次配置这些文件。

1.start-dfs.sh、stop-dfs.sh

使用vi打开文件,在文件末尾追加内容:

HDFS_DATANODE_USER=root 
HADOOP_SECURE_DN_USER=hdfs 
HDFS_NAMENODE_USER=root 
HDFS_SECONDARYNAMENODE_USER=root 

2.start-yarn.sh 、stop-yarn.sh

使用vi打开文件,在文件末尾追加内容:

YARN_RESOURCEMANAGER_USER=root
HADOOP_SECURE_DN_USER=yarn 
YARN_NODEMANAGER_USER=root

最后创建Hdoop运行时所需的文件夹:

root@master:/Hadoop/hadoop-2.7.7/sbin# mkdir -p /Hadoop/data/tmp
root@master:/Hadoop/hadoop-2.7.7/sbin# mkdir -p /Hadoop/data/name
root@master:/Hadoop/hadoop-2.7.7/sbin# mkdir -p /Hadoop/data/datanode

(3)启动Hadoop

第一次启动Hadoop之前需要格式化namenode:

root@master:/Hadoop# hdfs namenode -format

启动之前使用jps查看hadoop节点运行情况:
 

root@master:/Hadoop/hadoop-2.7.7# jps
37650 Jps

最紧张的时刻终于到来了,启动Hadoop,一起期待吧!

root@master:~# start-all.sh 
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [master]
master: starting namenode, logging to /Hadoop/hadoop-2.7.7/logs/hadoop-root-namenode-master.out
master: starting datanode, logging to /Hadoop/hadoop-2.7.7/logs/hadoop-root-datanode-master.out
Starting secondary namenodes [master]
master: starting secondarynamenode, logging to /Hadoop/hadoop-2.7.7/logs/hadoop-root-secondarynamenode-master.out
starting yarn daemons
starting resourcemanager, logging to /Hadoop/hadoop-2.7.7/logs/yarn-root-resourcemanager-master.out
master: starting nodemanager, logging to /Hadoop/hadoop-2.7.7/logs/yarn-root-nodemanager-master.out
root@master:~# jps
26673 NameNode
27155 ResourceManager
27268 NodeManager
27622 Jps
26971 SecondaryNameNode
26783 DataNode

可以看到启动成功啦。

你可能感兴趣的:(Hadoop)