Hadoop3.0集群模式安装

一、安装jdk

1、安装jdk

  • 将/data/hadoop目录下jdk-8u161-linux-x64.tar.gz 解压缩到/opt目录下。

    sudo tar -xzvf /data/hadoop/jdk-8u161-linux-x64.tar.gz -C /opt
    
  • 下面将jdk1.8.0_161目录重命名为java,执行:

    sudo mv /opt/jdk1.8.0_161/  /opt/java
    

2、修改环境变量

  • 执行下列命令进行环境变量配置

    sudo vi /etc/profile
    
  • 末端添加如下内容:

    #java
    export JAVA_HOME=/opt/java
    export PATH=$JAVA_HOME/bin:$PATH
    
  • 保存并关闭编辑器

  • 让环境变量生效。

    source /etc/profile
    
  • 刷新环境变量后,可以通过java的家目录找到java可使用的命令。 利用java查看版本号命令验证是否安装成功:

    java -version
    
  • 正常结果显示如下

    java version "1.8.0_161"
    Java(TM) SE Runtime Environment (build 1.8.0_161-b12)
    Java HotSpot(TM) 64-Bit Server VM (build 25.161-b12, mixed mode)
    

二、安装hadoop

1、安装Hadoop

  • 将hadoop-3.0.0.tar.gz解压缩到/opt目录下。

    sudo tar -xzvf /data/hadoop/hadoop-3.0.0.tar.gz -C /opt/
    
  • 为了便于操作,我们也将hadoop-3.0.0重命名为hadoop。

    sudo mv /opt/hadoop-3.0.0/ /opt/hadoop
    

2、修改环境变量

  • 执行下列命令进行环境变量配置

    sudo leafpad /etc/profile
    
  • 末端添加如下内容:

    #hadoop
    export HADOOP_HOME=/opt/hadoop
    export PATH=$HADOOP_HOME/bin:$PATH
    
  • 保存并关闭编辑器

  • 让环境变量生效。

    source /etc/profile
    
  • 利用hadoop查看版本号命令验证是否安装成功:

    hadoop version
    
  • 正常结果显示如下

    Hadoop 3.0.0
    Source code repository https://git-wip-us.apache.org/repos/asf/hadoop.git -r   c25427ceca461ee979d30edd7a4b0f50718e6533
    Compiled by andrew on 2017-12-08T19:16Z
    Compiled with protoc 2.5.0
    From source with checksum 397832cb5529187dc8cd74ad54ff22
    This command was run using /opt/hadoop/share/hadoop/common/hadoop-common-3.0.0.jar
    

3、修改Hadoop配置文件

1、修改hadoop-env.sh文件配置

  • 进入hadoop-env.sh文件

    sudo vi /opt/hadoop/etc/hadoop/hadoop-env.sh
    
  • 末端添加如下内容:

    export JAVA_HOME=/opt/java/
    
  • 保存并关闭编辑器

2、修改hadoop core-site.xml文件配置

  • 进入hadoop core-site.xml文件

    sudo vi  /opt/hadoop/etc/hadoop/core-site.xml
    
  • 添加下面配置到< configuration>与< /configuration>标签之间。

    <property>
    	<name>fs.defaultFS</name>
    	<value>hdfs://master:9000</value>
    </property>
    
  • 保存并关闭编辑器

3、修改hadoop hdfs-site.xml文件配置

  • 进入hadoop hdfs-site.xml文件

    sudo vi  /opt/hadoop/etc/hadoop/hdfs-site.xml
    
  • 添加下面配置到< configuration>与< /configuration>标签之间。

    <property>
    	<name>dfs.replication</name>
    	<value>3</value>
    </property>
    
  • 保存并关闭编辑器

4、修改hadoop yarn-site.xml文件配置

  • 进入hadoop yarn-site.xml
    sudo vi /opt/hadoop/etc/hadoop/yarn-site.xml

  • 添加下面配置到< configuration >与</ configuration>标签之间。

    <property>
    	<name>yarn.nodemanager.aux-services</name>
    	<value>mapreduce_shuffle</value>
    </property>
    <property>
    	<name>yarn.nodemanager.env-whitelist</name>
    	<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    
  • 保存并关闭编辑器

5、mapred-site.xml文件配置

  sudo vi  /opt/hadoop/etc/hadoop/mapred-site.xml
  • 添加下面配置到< configuration>与</ configuration>标签之间。

    <property>
    	<name>mapreduce.framework.name</name>
    	<value>yarn</value>
    </property>
    
  • 保存并关闭编辑器

6、修改hadoop slaves文件配置

  • 进入hadoop slaves文件

    sudo vi  /opt/hadoop/etc/hadoop/slaves
    
  • 覆盖写入主节点映射名和从节点映射名:

    master
    slave1
    slave2
    
  • 保存并关闭编辑器

7、修改hosts文件

  • 查看master ip地址

    ifconfig eth0|sed -n '2p'|awk -F " " '{print $2}'|awk -F ":" '{print $2}'
    
  • 记录下显示的ip,例:172.18.0.4

  • 打开slave1 节点,做如上操作,记录下显示的ip,例:172.18.0.3

  • 打开slave2 节点,做如上操作,记录下显示的ip,例:172.18.0.2

  • 编辑/etc/hosts文件:

    sudo vi /etc/hosts
    
  • 添加master IP地址对应本机映射名和其它节点IP地址对应映射名(如下只是样式,请写入实验时您的正确IP):

    172.18.0.4 master
    172.18.0.3 slave1
    172.18.0.2 slave2
    

8、创建公钥

  • 在主机创建公钥:

    ssh-keygen -t rsa
    
  • 出现如下内容:

    Enter file in which to save the key (/home/dolphin/.ssh/id_rsa):
    
  • 回车即可,出现如下内容:

    Enter passphrase (empty for no passphrase):
    
  • 直接回车,出现内容:

    Enter same passphrase again:
    
  • 直接回车,创建完成,结果内容如下:

    dolphin@master:~$ ssh-keygen -t rsa
    Generating public/private rsa key pair.
    Enter file in which to save the key (/home/dolphin/.ssh/id_rsa):
    Created directory '/home/dolphin/.ssh'.
    Enter passphrase (empty for no passphrase):
    Enter same passphrase again:
    Your identification has been saved in /home/dolphin/.ssh/id_rsa.
    Your public key has been saved in /home/dolphin/.ssh/id_rsa.pub.
    The key fingerprint is:
    SHA256:bpvXc/EXrv3cyXK/1nZbPEmDYQSm/vW4+RGNQWFY7Ss dolphin@tools.hadoop-s.desktop
    The key's randomart image is:
    +---[RSA 2048]----+
    |           o.+=o |
    |          o oo  .|
    |         .   o.. |
    |        .   . ooo|
    |        S.   o.+o|
    |       .  . .E=++|
    |        o  o .oB=|
    |       . o. o.*=%|
    |        o.   **O%|
    +----[SHA256]-----+
    dolphin@master:~$
    

9、拷贝公钥

  • 提示:命令执行过程中需要输入“yes”和密码。三台节点请依次执行完成。

    ssh-copy-id master
    
    ssh-copy-id slave1
    
    ssh-copy-id slave2
    
  • 测试连接是否正常:

    ssh master
    
  • 正确结果如下:

    Welcome to Ubuntu 16.04.3 LTS (GNU/Linux 4.9.60-linuxkit-aufs x86_64)
    
    * Documentation:  https://help.ubuntu.com
    * Management:     https://landscape.canonical.com
    * Support:        https://ubuntu.com/advantage
    $
    
  • 输入exit退出测试

    exit
    
  • 同样方法测试slave1和slave2

    ssh slave1
    
    exit
    
    ssh slave2
    
    exit
    

10、拷贝文件到所有从节点

scp -r /opt/java/ /opt/hadoop/ slave1:/tmp/

scp -r /opt/java/ /opt/hadoop/ slave2:/tmp/
  • 至此,主节点配置完成。

  • 现在,请去slave1和slave2依次完成节点配置。

以下内容在所有从节点配置完成之后回来继续进行!

11、格式化分布式文件系统

hdfs namenode -format

12、启动Hadoop

/opt/hadoop/sbin/start-all.sh

13、查看Hadoop进程

  • 在hadoop主节点执行:

    jps
    
  • 输出结果必须包含6个进程,结果如下:

    2529 DataNode
    2756 SecondaryNameNode
    3269 NodeManager
    3449 Jps
    2986 ResourceManager
    2412 NameNode
    
  • 在hadoop从节点执行同样的操作:

    jps
    
  • 输出结果必须包含3个进程,具体如下:

    2529 DataNode
    3449 Jps
    2412 NameNode
    

14、在命令行中输入以下代码,打开Hadoop WebUI管理界面:

  http://master:8088

15、测试HDFS集群以及MapReduce任务程序

  • 利用Hadoop自带的WordCount示例程序进行检查集群;在主节点进行如下操作,创建HDFS目录:

    hadoop fs -mkdir /dolphin/
    
    hadoop fs -mkdir /dolphin/input
    
  • 创建测试文件

    leafpad /home/dolphin/test
    
  • 添加下面文字

    dolphin
    
  • 保存并关闭编辑器

  • 将测试文件上传到到Hadoop HDFS集群目录:

    hadoop fs -put /home/dolphin/test /dolphin/input
    
  • 执行wordcount程序:

    hadoop jar /opt/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-exampes-3.0.0.jar wordcount /dolphin/input/ /dolphin/out/
    
  • 查看执行结果:

    hadoop fs -ls /dolphin/out/
    
  • 如果列表中结果包含”_SUCCESS“文件,代码集群运行成功。

  • 查看具体的执行结果,可以用如下命令:

    hadoop fs -text /dolphin/out/part-r-00000
    
  • 到此,集群安装完成。

上一篇:#include< >和#include“ “的区别


下一篇:[Code Composer Studio] 使用C I/O函数必须包含stdio.h