[raspberry pi3] hadoop 编译搭建和配置

Causion:

只有一个raspberry pi3的就随便玩玩吧,瓶颈不在在cpu, 1 G的内存实在是太少了,跑个hadoop就很辛苦了

下面是瞎折腾的过程:

oracle的arm jdk的安装过程这边就直接略过了

1. 下载hadoop的源代码,

因为raspberry 虽然是 64bit的cpu但是实际上跑的是32 位系统, 没有能够直接使用的二进制,这边下载和编译下源代码, 以便提高下运行的效率,减少下需要的内存的量。

这边下载的版本是2.7.2, 下载完成之后解压

2. 安装下必要的软件,可以参照源代码目录下的BUILDING.txt

* Maven
  $ sudo apt-get -y install maven
* Native libraries
  $ sudo apt-get -y install build-essential autoconf automake libtool cmake zlib1g-dev pkg-config libssl-dev
* ProtocolBuffer 2.5.0 (required)
  $ sudo apt-get -y install libprotobuf-dev protobuf-compiler

Optional packages:

* Snappy compression
  $ sudo apt-get install snappy libsnappy-dev
* Bzip2
  $ sudo apt-get install bzip2 libbz2-dev
* Jansson (C Library for JSON)
  $ sudo apt-get install libjansson-dev
* Linux FUSE
  $ sudo apt-get install fuse libfuse-dev

3. 安装hadoop的maven插件

cd hadoop-maven-plugins/
mvn install

4. 由于系统上使用的protobug的版本是2.6+所以这边需要修改下默认需要的protobuf的版本

不然会报如下的错误:

[ERROR] Failed to execute goal org.apache.hadoop:hadoop-maven-plugins:2.7.2:protoc (compile-protoc) on project hadoop-common: org.apache.maven.plugin.MojoExecutionException: protoc version is ‘libprotoc 2.6.1‘, expected version is ‘2.5.0‘ -> [Help 1]

修改文件:

hadoop-project/pom.xml

修改版本为

<protobuf.version>2.6.1</protobuf.version>

5. 打下arm hard-float的补丁, 不然编译native的code的时候会有soft float的编译问题

错误如下:

     [exec] Soft-float JVM detected
     [exec] -- Looking for exit
     [exec] -- Looking for exit - not found
     [exec] -- Configuring incomplete, errors occurred!
     [exec] See also "/mnt/TimeMachine/hadoop/hadoop-2.7.2-src/hCMake Error at JNIFlags.cmake:59 (message):
     [exec]   Soft-float dev libraries required (e.g.  ‘apt-get install libc6-dev-armel‘
     [exec]   on Deadoop-common-project/hadoop-common/target/native/CMakeFiles/CMakeOutput.log".
     [exec] See also "/mnt/TimeMachine/hadoop/hadoop-2.7.2-srcbian/Ubuntu)

通过下面的命令打补丁

cd hadoop-common-project/hadoop-common/src
wget https://issues.apache.org/jira/secure/attachment/12570212/HADOOP-9320.patch
patch < HADOOP-9320.patch

6. 编译下源代码

mvn compile -Pnative

7.  编译ok后,打包, 不做其中的测试环节,内存少,玩不起

mvn  package -Pnative -Dtar -DskipTests

打包出来的包会被放在下面的位置,拷出来解压, 配置下就能够使用了

8. 接下来就是配置和启动环节了

check下native lib是不是都好了

bin/hadoop org.apache.hadoop.util.NativeLibraryChecker
16/08/14 10:30:00 INFO bzip2.Bzip2Factory: Successfully loaded & initialized native-bzip2 library system-native
16/08/14 10:30:00 INFO zlib.ZlibFactory: Successfully loaded & initialized native-zlib library
Native library checking:
hadoop:  true /mnt/TimeMachine/hadoop/hadoop-2.7.2/lib/native/libhadoop.so.1.0.0
zlib:    true /lib/arm-linux-gnueabihf/libz.so.1
snappy:  true /usr/lib/libsnappy.so.1
lz4:     true revision:99
bzip2:   true /lib/arm-linux-gnueabihf/libbz2.so.1
openssl: true /usr/lib/arm-linux-gnueabihf/libcrypto.so

该有的native library 都有了

我也只有一台,所以也只能配个伪集群了, namenode和datanode都配在同一台pi上,接下来的运行和配置步骤都直接参照官网上说明的进行就可以了

http://hadoop.apache.org/docs/current/hadoop-project-dist/hadoop-common/SingleCluster.html

时间: 2024-08-28 19:06:16

[raspberry pi3] hadoop 编译搭建和配置的相关文章

[raspberry pi3] aarch64 mongodb 编译和安装

raspberry pi3官方支持是32bit的系统,使用mongodb的时候有2G数据库大小的限制,32bit的系统上数据大点基本上就可以认为不能用了,所以要装64bit的opensuse. 安装了suse之后,发现没有mongodb的程序,于是安装了Factory_ARM database的rpm源, 但是发现这个源里面mongod是不能用的,原因是里面没有aarch64的配置,导致了没有可以用的store engine,会告诉你找不到wiredtiger或者mmapv1的engine,应为

Hadoop学习笔记—22.Hadoop2.x环境搭建与配置

自从2015年花了2个多月时间把Hadoop1.x的学习教程学习了一遍,对Hadoop这个神奇的小象有了一个初步的了解,还对每次学习的内容进行了总结,也形成了我的一个博文系列<Hadoop学习笔记系列>.其实,早在2014年Hadoop2.x版本就已经开始流行了起来,并且已经成为了现在的主流.当然,还有一些非离线计算的框架如实时计算框架Storm,近实时计算框架Spark等等.相信了解Hadoop2.x的童鞋都应该知道2.x相较于1.x版本的更新应该不是一丁半点,最显著的体现在两点: (1)H

hadoop实战–搭建eclipse开发环境及编写Hello World

原创文章,转载请注明: 转载自工学1号馆 欢迎关注我的个人博客:www.wuyudong.com, 更多云计算与大数据的精彩文章 1.在eclise中安装hadoop的插件并配置 在上篇文章<编译hadoop eclipse的插件(hadoop1.0)>,已经介绍过怎样编译基于hadoop1.0的eclipse插件 将jar包放在eclipse安装目录下的plugins文件夹下.然后启动eclipse 进入后,在菜单window->Rreferences下打开设置: 点击“Ant” 出现

Hadoop生产环境的配置

生产环境的搭建 主机规划 这里我们使用5 台主机来配置Hadoop集群. djt11/192.168.3.11 djt17/192.168.3.12 djt13/192.168.3.13 djt14/192.168.3.14 djt15/192.168.3.15 namenode 是 是 否 否 否 datanode 否 否 是 是 是 resourcemanager 是 是 否 否 否 journalnode 是 是 是 是 是 zookeeper 是 是 是 是 是 Journalnode和

完全分布式模式的Hadoop环境搭建

一.本文说明:本次测试在五台虚拟机系统上进行完全分布式搭建.Hadoop分布式模式是在多台机器上分布式部署,配置非常类似于伪分布式,名称节点和数据节点都分布在不同的主机上,每台数据节点上都有相应的任务调度. 二.环境说明:       虚拟软件:VM10.0       操作系统:Cent Os 6.7       hadoop版本:hadoop-2.7.2       JDK版本:jdk1.8_77备注:基于独立模式基础上搭建,参考文章:独立模式的Hadoop环境搭建. 三.基本环境配置   

Linux下php+mysql+nginx编译搭建(二)

之前一直都是一键搭建的web服务器,但是一键搭建的环境相对来说都是比较老的.如果要用比较新的环境,特别是正式服务器,就必须自己手动编译搭建了(以下搭建基于linux centos6.5 32位服务器). 二.安装mysql 进入安装目录: Cd /opt 下载并解压: wget http://downloads.mysql.com/archives/mysql-5.0/mysql-5.5.30.tar.gz tar -zxf mysql-5.5.30.tar.gz 编译安装: cmake \ -

nagios的搭建及配置----(上)

首先说下自己的搭建环境.RedHat6.4系统 nagios-4.0.7.关闭selinux和iptables服务 1,准备工作,安装好nagios所需要的软件 Apache    PHP    GCC compiler GD development libraries yum install httpd php gcc glibc glibc-common  gd gd-devel 2,创建nagios使用的账号和组,首先要切换成管理员账号 [[email protected] ~]usera

源码编译搭建LAMP环境&#160;

源码编译搭建LAMP环境  一.将 LAMP 相关软件包上传刡 linux 上 [[email protected] ~]# ls anaconda-ks.cfg      install.log         mysql-5.5.30.tar.gz  公共的  视频  文档  音乐 httpd-2.2.25.tar.gz  install.log.syslog  php-5.4.14.tar.bz2   模板    图片  下载  桌面 1. 安装apache [[email protect

伪分布式模式的Hadoop环境搭建

一.本文说明:     本次测试在一台虚拟机系统上进行伪分布式搭建.Hadoop伪分布式模式是在单机上模拟Hadoop分布式,单机上的分布式并不是真正的伪分布式,而是使 用线程模拟分布式.Hadoop本身是无法区分伪分布式和分布式的,两种配置也很相似.唯一不同的地方是伪分布式是在单机器上配置,数据节点和名字节点均 是一个机器. 二.环境说明:      操作系统:Cent Os 6.7      hadoop版本:hadoop-2.7.2      JDK版本:jdk1.8_77     备注: