Ubuntu 16.04.3 下安装配置 Hadoop

2022-07-13 13:31:48 浏览数 (1)

Hadoop安装环境搭建

一、Hadoop的介绍

Hadoop是Apache的一个伪分布式文件系统的开源项目。作者名为Doug Cutting,Hadoop项目是他通过Google的发布三篇论文所启发,分别为GFS、MapReduce和BigTable。Hadoop最受欢迎是致力于搜索大量数据进行分类工具。

      Hadoop的优点:

      ①高可用性:Hadoop按位存储和处理力能强

      ②高扩展性:Hadoop是在可用的计算机集族间分配数据并完成计算任务,这些集族间可以方便的扩展到数以千计的节点中。

      ③高效性:Hadoop能够在节点之间动态的移动数据,并保证各个节点的平衡。

      ④高容错性:Hadoop能够自动保存数据的多个副本,并且能够将失败的任务重新分配。

      ⑤低成本:Hadoop是开源项目,对比与机体一身、商用商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市,成本会大大降低。

---来自百科,介绍不多说,进入实践动手搭建^_^

二、搭建配置环境

      原材料:Ubuntu-16.04.3-desktop-amd64.iso,jdk-8u151-linux-x64.tar.gz,hadoop-2.4.0.tar.gz

(1)搭建Hadoop需要的安装环境

      1、JDK的配置。

1、在官网下载JDk 如果是64位的操作系统,可以下载64位或者32位的jdk,但是32位的系统不能运行64位的jdk。

2、解压jdk-x.x.x.tar.gz,把安装包放在你想放的文件目录下,使用命令tar -zxvf  jdk-x.x.x.tar.gz。

3、把jdk添加到操作系统环境中,使用命令sudo vim /ect/profile 在文件后面添加一下字段。修改退出。

export JAVA_HOME=/usr/java/jdk1.8.0_151 export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export PATH=$JAVA_HOME/bin:$PATH

4、使用命令source /ect/profile 运行一下文件。(source功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)

5、使用java -version 测试是否配置成功。若输出jdk版信息,则配置成功。

      2、Hadoop的环境配置

      ①下载:在http://hadoop.apache.org/index.html官网下载hadoop,在我写这篇文章的时候最新版本是3.0.0。

      ②解压:把下载的安装包解压到/home/xxx/app/hadoop目录下(需要sudo mkdir /usr/hadoop),使用命令 tar -zxvf hadoop-2.4.0.tar.gz 解压包,使用命令 mv hadoop-2.4.0 hadoop 重命名一下。

      ③设置环境变量:(如同配置JDK环境变量)使用命令sudo vim /etc/profile 编辑文件,在文件后面添加一下两行代码

export HADOOP_HOME =/home/xxx/app/hadoop

export PATH = $HADOOP_HOME/bin:$PATH

          添加完成之后,使用命令 source /ect/profile

      3、安装SSH(主要为了免密码登录,SSH详细介绍参考...)

        使用命令 ssh-keygen,然后一直按回车,会生成一下信息。(SHA256 每个都不一样)

        进入.ssh文件夹(.开头的是系统隐藏文件,可以通过命令 ls -a 查看),把id_rsa.pub 公钥附加到授权文件authorized_keys中,使用命令 cat id_rsa.pud >> authorized_keys,或者使用重命名方式 cp id_rsa.pud authorized_keys 。chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys,修改访问权限。

      配置Hadoop的需要安装环境已经搭建好,接下来要修改Hadoop的配置环境。

(2)配置Hadoop伪分布式模式

        配置Hadoop要修改解压安装包的4个配置文件

        1、修改etc/hadoop目录下的hadoop-evn.sh指定JDK所在位置。

          2、修改core-site.xml文件,指定name主机节点和HDFS的根目录

          3、修改hdfs-site.xml指定namenode和datanode存放目录,配置每个节点存放的副本数和hdfs的IP地址和端口号。

          4、修改mapred-site.xml指定jobTarcker的位置

        最后创建配置文件需要的文件目录

        使用命令 mkdir /var/lib/hadoop/tmp,chmod 777 /var/lib/hadoop 创建Hadoop的根目录。

(3)格式化Namenode

          使用命令 hadoop namenode -format。每次重新安装或者初次安装hadoop都需要且仅一次格式化。

        (4)启动Hadoop

在Hadoop安装根目录sbin文件存放这启动和关闭Hadoop的运行文件。为了启动关闭方便,把hadoop目录下的sbin添加环境中。

        Hadoop的命令如下(*.sh 是linux系统使用的命令,*.cmd是windows系统使用的命令)

        ①启动HDFS 输入命令 start-dfs.sh,启动namenode、 datanode 、secondary namenode

        ②输入jps查看hadoop进程

        ③输入hadoop fs -ls / 查看HDFS的文件根目录。(为了演示效果,我通过-mkdir 命令 创建一个temp文件夹,hadoop的命令类似linux系统)

        Hadoop做了一个web管理系统,我们可以输入Hadoop所配置的IP和端口进行访问,比如我的是192.168.157.130:50070(默认是50070端口)

        ④输入start-yarn.sh启动yarn,并输入jps查看进程,我们可以发现启动了两个进程,ResourceManager和NodeManager。

如果能正常启动着几个进程,说明Hadoop环境搭建完成。

三、遇到的问题

1、无法启动Datanode

          在配置Hadoop过程中可能进行多次的测试,所以避免不了重复多次要格式化namenode,网上一些说法是多次格式化namenode导致namenode和datanode的VERSION不一致,其解决的方法是拷贝namenode的VERSION文件覆盖datanode的。我的解决方法是,删除文件夹,重新格式化,该方法会导致数据的丢失,由于是初始搭建,所以存在的都是测试的无用数据。

  2、无法启动Secondary Namenode

          ①查看core-site.xml文件是否配置了hadoop.tmp.dir。

          ②是否正确创建hadoop.tmp.dir对应的路径,同时要访问权限设置为777。

  3、无法访问50070端口

            查看hdfs-site.xml文件是否配置dfs.http.address,值为0.0.0.0:50070。

0 人点赞