集群环境安装与部署 Hadoop

安装 hadoop 与部署 hadoop

本文主要讲解如何在分布式集群上部署 hadoop,具体的操作如下所示。

安装 hadoop

  1. 第一步,在 usr 目录创建一个目录 cstor,具体的操作命令如下所示。

    bash 复制代码
    cd /usr
    sudo mkdir cstor
  2. 第二部,进入到目录 /usr/cstor 下解压hadoop2.7.7.tar.gz文件,具体的操作命令如下所示。

    bash 复制代码
    cd cstor
    sudo tar -zxvf /media/sf_vmshare/hadoop-2.7.7.tar.gz

    执行上述操作后,检查以下文件是否成功解压了 hadoop-2.7.7.tar.gz 文件,查询到的信息如下所示。

    bash 复制代码
    leolei@leifenglin:/usr/cstor$ ls -l
    total 4
    drwxr-xr-x 9 leolei staff 4096 Jul 19  2018 hadoop-2.7.7

    若文件解压成功则将解压后的文件名系应该为 hadoop,修改完成之后再次查询文件名是否修改成功,查询到的信息如下所示。

    bash 复制代码
    leolei@leifenglin:/usr/cstor$ sudo mv hadoop-2.7.7 hadoop
    leolei@leifenglin:/usr/cstor$ ls -l
    total 4
    drwxr-xr-x 9 leolei staff 4096 Jul 19  2018 hadoop

    notebook tip

    • 注意,上述的命令ls -l可以缩写为ll
    • mv 命令具有两种功能,分别是重命名和移动文件的位置。若文件在同一目录下且都不带 "/"符号,即为重命名。若 mv 的参数只要有一个带有符号"/",则是移动文件。
  3. 文件解压完成和改名成功后,更改 hadoop 文件的权限,修改为普通用户的权限。具体的操作命令如下所示。

    bash 复制代码
    sudo chown -R leolei:leolei hadoop

    修改完成之后查询 hadoop 文件及其子目录的权限,具体的操作命令如下所示。

    bash 复制代码
    leolei@leifenglin:/usr/cstor$ ls -l
    total 4
    drwxr-xr-x 9 leolei leolei 4096 Jul 19  2018 hadoop
    leolei@leifenglin:/usr/cstor$ cd hadoop/
    leolei@leifenglin:/usr/cstor/hadoop$ ll
    total 144
    drwxr-xr-x 9 leolei leolei  4096 Jul 19  2018 ./
    drwxr-xr-x 3 root   root    4096 Oct 27 13:23 ../
    drwxr-xr-x 2 leolei leolei  4096 Jul 19  2018 bin/
    drwxr-xr-x 3 leolei leolei  4096 Jul 19  2018 etc/
    drwxr-xr-x 2 leolei leolei  4096 Jul 19  2018 include/
    drwxr-xr-x 3 leolei leolei  4096 Jul 19  2018 lib/
    drwxr-xr-x 2 leolei leolei  4096 Jul 19  2018 libexec/
    -rw-r--r-- 1 leolei leolei 86424 Jul 19  2018 LICENSE.txt
    -rw-r--r-- 1 leolei leolei 14978 Jul 19  2018 NOTICE.txt
    -rw-r--r-- 1 leolei leolei  1366 Jul 19  2018 README.txt
    drwxr-xr-x 2 leolei leolei  4096 Jul 19  2018 sbin/
    drwxr-xr-x 4 leolei leolei  4096 Jul 19  2018 share/

    如上述的输出信息可以知道文件 hadoop 及其子目录的权限都修改为普通用户 leolei 的权限。

    注意:命令 sudo chown -R leolei:leolei hadoop的参数 R 就是将整个文件及其子目录的所有文件权限都修改为普通用户。

部署HDFS

  1. 部署 HDFS ,在其指定文件中添加 JDK 安装目录。

    首先查看 JDK 的安装目录,具体的操作命令如下所示。

    bash 复制代码
    leolei@leifenglin:/$ java -version
    openjdk version "1.8.0_362"
    OpenJDK Runtime Environment (build 1.8.0_362-8u372-ga~us1-0ubuntu1~18.04-b09)
    OpenJDK 64-Bit Server VM (build 25.362-b09, mixed mode)
    
    leolei@leifenglin:/$ echo $JAVA_HOME
    /usr/lib/jvm/java-8-openjdk-amd64

    如上述的输出信息所示,可以知道 JDK 的版本为 1.8.0_362,JDK 的安装目录为 /usr/lib/jvm/java-8-openjdk-amd64。这里建议安装 Ubuntu 系统自带的 JDK。JDK 的安装方法可以参考网址https://blog.csdn.net/2301_77987130/article/details/153122819?spm=1011.2415.3001.5331进行安装。

  2. 编辑文件"/usr/cstor/hadoop/etc/hadoop/hadoop-env.sh",找到如下一行:export JAVA_HOME=${JAVA_HOME},将这行内容修改为:export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64。具体信息如下所示。

    shell 复制代码
    ...
    # The java implementation to use.
    # export JAVA_HOME=${JAVA_HOME}
    export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
    # The jsvc implementation to use. Jsvc is required to run secure datanodes
    # that bind to privileged ports to provide authentication of data transfer
    # protocol.  Jsvc is not required if SASL is configured for authentication of
    # data transfer protocol using non-privileged ports.
    ...

    修改完文件 hadoop-env.sh 后,保存退出。

  3. 指定HDFS主节点

    编辑文件"/usr/cstor/hadoop/etc/hadoop/core-site.xml",将如下内容嵌入此文件里最后两行的标签之间,配置core-site.xml文件时需要在添加一个配置,让所有节点能够访问namenode,配置如下所示:

    xml 复制代码
    <configuration>
            <properties>
                    <name>hadoop.tmp.dir</name>
                    <value>/usr/cstor/hadoop/cloud</value>
            </properties>
            <properties>
                    <name>fs.defaultFS</name>
                    <value>hdfs://leifenglin:8020</value>
            </properties>
            <properties>
                    <name>dfs.namenode.rpc-bind-host</name>
                    <value>0.0.0.0</value>
            </properties>
    </configuration>

    上述文件的配置信息配置完成之后,然后保存退出。

  4. 将hadoop 文件拷贝至其它集群服务器。具体的操作如下所示。

    在 leifenglin 主节点上执行下列命令,将配置好的 hadoop 拷贝至slaveX。

    首先创建一个当前用户下创建一个文件 machines,用于存储子节点 leifenglin1 和 leifenglin2 的节点名。先通过命令vim machines打开文件,然后添加如下所示的信息。

    shell 复制代码
    leifenglin1
    leifenglin2

    然后通过以下命令将 hadoop 文件拷贝到子节点上,执行下列步骤时需要保证复制的目标目录存在才能成功复制。具体操作如下所示。

    首先在子节点 leifenglin1 和 leifenglin2 上创建文件 /usr/cstor/hadoop。具体的操作如下所示。

    bash 复制代码
    cd /usr
    sudo mkdir -p cstor/hadoop
    cd cstor/
    sudo chown -R leolei:leolei hadoop

    执行过上述命令后通过命令ls -l查看文件的权限。权限修改成功之后再执行后续操作。

    然后开始执行以下命令开始拷贝 hadoop 文件到子节点。

    bash 复制代码
    leolei@leifenglin:~$ for x in `cat machines` ; do echo $x ; scp -r /usr/cstor/hadoop $x:/usr/cstor/hadoop ; done

    最后,分别到子节点 leifenglin1 和 leifenglin2 上检查上述创建的目录是否有完整的文件,若有,则证明 hadoop 文件拷贝成功。具体操作命令如下所示。

    上一步骤的操作完成之后,发现多了一层目录 hadoop/,先将文外层文件改名为 hadoop-1,再将内层 hadoop 文件移动到 cstor/ 目录下,然后删除改名后的文件。具体的操作命令如下所示。

    bash 复制代码
    leolei@leifenglin1:/usr/cstor$ sudo mv hadoop hadoop-1
    leolei@leifenglin1:/usr/cstor$ ls
    hadoop-1
    leolei@leifenglin1:/usr/cstor$ sudo mv /usr/cstor/hadoop-1/hadoop/ .
    leolei@leifenglin1:/usr/cstor$ ls
    hadoop  hadoop-1
    leolei@leifenglin1:/usr/cstor$ cd hadoop
    leolei@leifenglin1:/usr/cstor/hadoop$ ls
    bin  etc  include  lib  libexec  LICENSE.txt  NOTICE.txt  README.txt  sbin  share
    leolei@leifenglin1:/usr/cstor/hadoop$ cd ../hadoop-1/
    leolei@leifenglin1:/usr/cstor/hadoop-1$ ls
    leolei@leifenglin1:/usr/cstor/hadoop-1$ cd ..
    leolei@leifenglin1:/usr/cstor$ ll
    total 16
    drwxr-xr-x  4 root   root   4096 Oct 27 15:02 ./
    drwxr-xr-x 11 root   root   4096 Oct 27 14:33 ../
    drwxr-xr-x  9 leolei leolei 4096 Oct 27 14:54 hadoop/
    drwxr-xr-x  2 leolei leolei 4096 Oct 27 15:02 hadoop-1/
    leolei@leifenglin1:/usr/cstor$ sudo rm -rf hadoop-1/
    leolei@leifenglin1:/usr/cstor$ ls
    hadoop

    子节点 leifenglin2 的操作与上述操作一致。
    未完成!!!

相关推荐
某林2123 小时前
模型转换和边缘计算中至关重要的概念:归一化 和量化策略
嵌入式硬件·ubuntu·边缘计算·1024程序员节
ragnwang3 小时前
解决 Ubuntu 安装 NVIDIA 固件时的包冲突问题
linux·运维·ubuntu
EasyCVR4 小时前
赋能智慧水利:视频汇聚平台EasyCVR智慧水利工程视频管理系统解决方案
大数据
程序员洲洲4 小时前
使用亮数据爬虫API一键式爬取Facebook数据
大数据·数据·亮数据·bright data·爬虫api
汽车仪器仪表相关领域5 小时前
工业商业安全 “哨兵”:GT-NHVR-20-A1 点型可燃气体探测器实操解析与场景适配
大数据·人工智能·功能测试·安全·安全性测试
ctrigger6 小时前
电子信息三胞胎:电子信息工程、电子科学技术、电子信息科学技术
大数据·注册电气工程师
得物技术6 小时前
告别数据无序:得物数据研发与管理平台的破局之路
大数据·数据库·数据分析
武子康6 小时前
大数据-137 ClickHouse MergeTree 实战指南|分区、稀疏索引与合并机制 存储结构 一级索引 跳数索引
大数据·后端·nosql
TDengine (老段)7 小时前
TDengine 数学函数 SIGN 用户手册
大数据·数据库·sql·时序数据库·iot·tdengine·涛思数据