大数据Hadoop3.1.1移植到ARM CentOS7.6指导书

  [复制链接]
查看679 | 回复20 | 2021-1-10 12:59:38 | 显示全部楼层 |阅读模式
简要介绍

Hadoop是一个开源的分布式存储及计算框架,被广泛用于海量数据的存储及处理,可以以可靠、高效、可伸缩的方式进行数据处理。

关于Hadoop的更多信息请访问Hadoop官网


开发语言:Java


安装GCC

1)yum安装GCC相关软件。


yum -y install gcc.aarch64 gcc-c++.aarch64 gcc-gfortran.aarch64 libgcc.aarch64
2)解决-fsigned-char问题(修改gcc)。
  • 寻找gcc所在路径(一般位于“/usr/bin/gcc”)。
    command -v gcc

  • 更改gcc的名字(例如改成gcc-impl)。
    mv /usr/bin/gcc /usr/bin/gcc-impl

  • 新建gcc文件。
    vi /usr/bin/gcc

  • 填入如下内容保存。
    #! /bin/sh
    /usr/bin/gcc-impl -fsigned-char "$@"

  • 给脚本添加执行权限。
    chmod +x /usr/bin/gcc

  • 确认命令是否可用。
    gcc --version

zh-cn_image_0270773180.png

2)解决-fsigned-char问题(修改g++)。
  • 寻找gcc所在路径(一般位于“/usr/bin/g++”)。
    command -v g++

  • 更改g++的名字(例如改成g++-impl)。
    mv /usr/bin/g++ /usr/bin/g++-impl

  • 新建g++文件。
    vi /usr/bin/g++

  • 填入如下内容保存。
    #! /bin/sh
    /usr/bin/g++-impl -fsigned-char "$@"

  • 给脚本添加执行权限。
    chmod +x /usr/bin/g++

  • 确认命令是否可用。
    g++ --version

zh-cn_image_0270773914.png




安装依赖
yum install -y wget openssl-devel zlib-devel automake libtool make  libstdc++-static glibc-static git snappy snappy-devel fuse fuse-devel

安装OpenJDK
  • 下载并解压安装到指定目录(此处以指定“/opt/tools/installed”目录为例)。
    wget https://github.com/AdoptOpenJDK/openjdk8-binaries/releases/download/jdk8u252-b09/OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz
    tar -zxf OpenJDK8U-jdk_aarch64_linux_hotspot_8u252b09.tar.gz
    mkdir -p /opt/tools/installed/
    mv jdk8u252-b09 /opt/tools/installed/

  • 配置Java环境变量。
    vim /etc/profile

  • 在文件末尾添加如下代码。
    export JAVA_HOME=/opt/tools/installed/jdk8u252-b09
    export PATH=$JAVA_HOME/bin:$PATH

  • 使修改的环境变量生效。
    source /etc/profile

  • 查看配置是否生效。
    java -version

zh-cn_image_0270773914.png



安装Maven
  • 下载并安装到指定目录(此处以指定“/opt/tools/installed”目录为例)。
    wget https://archive.apache.org/dist/maven/maven-3/3.5.4/binaries/apache-maven-3.5.4-bin.tar.gz
    tar -zxf apache-maven-3.5.4-bin.tar.gz
    mv apache-maven-3.5.4 /opt/tools/installed/

  • 修改Maven环境变量。
    vim /etc/profile

  • “/etc/profile”文件末尾增加下面代码。
    export MAVEN_HOME=/opt/tools/installed/apache-maven-3.5.4
    export PATH=$MAVEN_HOME/bin:$PATH

  • 使修改的环境变量生效。
    source /etc/profile

  • 查看配置是否生效。
    mvn -v

zh-cn_image_0273024222.png

  • 修改Maven配置文件中的:本地仓路径、远程仓等。

    配置文件路径:“/opt/tools/installed/apache-maven-3.5.4/conf/settings.xml”

  • 远程仓库配置(修改成自己搭建的Maven仓库,如果没有,可以按照下面示例配置),在<mirrors>标签内添加以下内容:

    <mirror>
      <id>huaweimaven</id>
      <name>huawei maven</name>
      <url>https://mirrors.huaweicloud.com/repository/maven/</url>
      <mirrorOf>central</mirrorOf>
    </mirror>

  • 当编译环境不能访问外网,需要在settings.xml配置文件中添加代理配置,具体内容如下:

    <proxies>
      <proxy>
        <id>optional</id>
        <active>true</active>
        <protocol>http</protocol>
        <username>用户名</username>
        <password>密码</password>
        <host>代理服务器网址</host>
        <port>代理服务器端口</port>
        <nonProxyHosts>local.net|some.host.com</nonProxyHosts>
      </proxy>
    </proxies>

安装cmake

Hadoop编译要求3.12及以上版本,本文以安装cmake 3.12.4版本为例。

  • 下载cmake安装包。
    wget https://cmake.org/files/v3.12/cmake-3.12.4.tar.gz

  • 解压安装包。
    tar -zxf cmake-3.12.4.tar.gz

  • 编译安装cmake。
    cd cmake-3.12.4
    ./bootstrap
    make -j8
    make install


安装Protobuf
yum install -y protobuf protobuf-devel
protoc --version


编译依赖包
1)请使用yum安装基本库。
yum install openssl-devel zlib-devel automake libtool
2)(可选)编译Snappy。

Snappy是一个可选的压缩库,可添加编译选项打包到hadoop软件包中。

  • 下载Snappy依赖包。

    下载地址:https://github.com/google/snappy/releases/tag/1.1.7

    解压后进入文件夹。

    cd snappy-1.1.7

  • 修改CMakeLists.txt文件开启动态链接库编译。

    vim CMakeLists.txt

  • 将该选项从“OFF”改为“ON”。

    option(BUILD_SHARED_LIBS "Build shared libraries(DLLs)." ON)

  • 创建编译目录并执行编译。
    mkdir build
    cd build
    cmake ../
    make install




编译Hadoop
  • 下载Hadoop源码包。
    wget https://archive.apache.org/dist/hadoop/common/hadoop-3.1.1/hadoop-3.1.1-src.tar.gz

  • 解压源码包。
    tar -zxvf hadoop-3.1.1-src.tar.gz

  • 进入解压后目录。
    cd hadoop-3.1.1-src

  • 修改pom.xml文件。
    vim pom.xml

  • 在repositories标签的第一位添加鲲鹏maven仓库源:

     <repository>
            <id>kunpengmaven</id>
            <name>kunpeng maven</name>
            <url>https://mirrors.huaweicloud.com/kunpeng/maven</url>
       </repository>
    
    zh-cn_image_0269902434.png
  • 除了依赖仓库源,还要添加插件仓库源,pluginRepositories和repositories的节点级别一样:

    <pluginRepositories>
      <pluginRepository>
        <id>huaweicloud-plugin</id>           
        <url>http://mirrors.huaweicloud.com/repository/maven</url>
        <snapshots>
          <enabled>true</enabled>
        </snapshots>
      </pluginRepository>
    </pluginRepositories>
    zh-cn_image_0269910772.png
  • 执行基础编译命令。

    mvn package -DskipTests -Pdist,native -Dtar -Dmaven.javadoc.skip=true

  • (可选)添加snappy库编译命令。

    mvn package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib64 -Dbundle.snappy -Dmaven.javadoc.skip=true

  • 编译成功后,将在源码下的hadoop-dist/target/目录生成tar.gz包、
zh-cn_image_0275133862.png


验证1)组件安装可参考官方网站手册,分为单节点和集群安装两种。
2)使用hadoop自带测试程序计算PI值。
./hadoop-3.1.1/bin/yarn jar hadoop-3.1.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-3.1.1.jar pi 5 10
技术大佬 | 2021-1-11 05:30:38 | 显示全部楼层
这个很受用
回复

使用道具 举报

计划你大爷计j | 2021-1-11 05:43:11 | 显示全部楼层
还不错
回复

使用道具 举报

刘晖钰 | 2021-1-11 05:43:58 | 显示全部楼层
很好、
回复

使用道具 举报

形腿望舞 | 2021-1-12 04:42:06 | 显示全部楼层
如果技术再讲细节一点就更好了。
回复

使用道具 举报

春天到了 | 2021-1-13 16:07:31 | 显示全部楼层
转发了、转发了。
回复

使用道具 举报

一世醉生梦死 | 2021-1-13 23:01:35 | 显示全部楼层
这个必须顶起来
回复

使用道具 举报

今早我梦醒了坎 | 2021-1-14 11:02:24 | 显示全部楼层
非常实用,收藏起来
回复

使用道具 举报

MemorySober | 2021-1-15 20:11:40 | 显示全部楼层
内容强大啊
回复

使用道具 举报

子然伯 | 2021-1-18 16:33:26 | 显示全部楼层
我之前看过他的文章,确实很不错的
回复

使用道具 举报

高级模式
B Color Image Link Quote Code Smilies

本版积分规则

3

主题

21

帖子

3229

积分

超级会员

Rank: 10Rank: 10Rank: 10

积分
3229