Hadoop以两种方式发行,一种是binary格式的tar压缩包,一种是source源文件。考虑到暂时并无修改Hadoop源码的需求,简单起见,我都是直接使用编译好的binary包。然后,在运行Hadoop时,却会收到一个警告:“Unable to load native-hadoop library for your platform” 。在stackoverflow站点上,找到了相关问题的一个帖子,stackoverflow,按照其中的一个高票回复,按下面这样修改了一下环境变量,解决了这个问题:
Hadoop-2.4.0的源码目录下有个BUILDING.txt文件,它介绍了如何在Linux和Windows下编译源代码,本文基本是遵照BUILDING.txt指示来操作的,这里再做一下简单的提炼。
首先要在需要编译的机器上安装maven(下载安装,配置环境变量,修改sitting.xml加阿里云镜像),这里可以自己搜索相应帖子。
和Hadoop1一样,YARN也支持可插入式的调度方式。本文将介绍如何在源码的基础上修改调度策略,并将其应用至Hadoop2上,以修改CapacityScheduler为例,其原理和过程如下。
版本使用范围,大致 与Apache Hadoop编译步骤一致大同小异,因为CDH的Hadoop的本来就是从社区版迁过来的,所以,这篇文章同样适合所有的以Apache Hadoop为原型的其他商业版本的hadoop编译,例如,Cloudera(CDH)的hadoop和Hortonworks(HDP)的的hadoop编译,下面开工: 1,环境准备(Cenots6.x,其他的大同小异) (1)yum安装 sudo yum install -y autoconf automake libtool git
Hadoop官方网站中只提供了32位的Hadoop-2.2.0.tar.gz,如果要在64位Ubuntu下部署Hadoop-2.2.0,就需要重新编译源码包,生成64位的部署包。
个人理解,ant的初衷是打造一个本地化工具,而编译hadoop插件的资源间的依赖超出了这一目标。导致我们在使用ant编译的时候需要手工去修改配置。那么自然少不了设置环境变量、设置classpath、添加依赖、设置主函数、javac、jar清单文件编写、验证、部署等步骤。
到hadoop官网下载对应的包 这里用的src带源码的hadoop2.7.1,因为需要自己编译(如果是32位的系统,直接下载编译的版本也行) 通过命令上传到linux后,解压 在目录下,可以观察对应的BUILDING.txt (这里用的SecureCRT lrzsz 应用安装已经下载好的文件, 通过 yum -y install lrzsz 安装应用)
在之前的文章中介绍了如何直接在Ubuntu中安装Hadoop。但是对于64位的Ubuntu来说,官方给出的Hadoop包是32位的,运行时会得到警告:
Hadoop2.2作为release不支持Linux的64位版本,需要自己手工编译。下面是我自己的安装过程:
Map Reduce什么的我是不懂啊。 今天是帮马同学搭建Hadoop。 用的2.2.0版本,结果运行时发现提示 “libhadoop.so.1.0.0 which might have disabled stack guard” 的警告。 Google了一下发现是因为 hadoop 2.2.0提供的是libhadoop.so库是32位的,而我们的机器是64位。 解决的办法就是重新在64位的机器上编译hadoop。 恰好马同学刚刚步入linux用户的行列,连机器上的Ubuntu都是新装的,因此,为了编译hadoop,一切都得从头配置。
前置条件: CentOS6.7 JDK1.7+ Maven 3.3.9 Spark2.1.0 1.到spark官网上下载spark2.1.0的源码 📷 spark-download.png 2.执行mkdir source新建目录,在此目录下通过wget下载源代码 wget https://archive.apache.org/dist/spark/spark-2.1.0/spark-2.1.0.tgz 3.在source目录下执行tar -zxvf spark-2.1.0.tg
本文介绍了Hadoop在Windows系统上的部署、配置和常见问题解决方案。主要包括Hadoop在Windows系统上的安装、配置和优化,以及在使用过程中可能遇到的错误和解决方案。通过本文,读者可以了解到Hadoop在Windows系统上的部署和配置方法,以及如何解决在使用过程中遇到的问题。
# A fatal error has beendetected by the Java Runtime Environment:
下载了Hadoop预编译好的二进制包,hadoop-2.2.0.tar.gz,启动起来后,总是出现这种警告: WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
snappy是google的一个开源的压缩库,在合理的压缩率的前提下提供了提供了一个很高的压缩/解压的速度,利用单颗Intel Corei7处理器内核处理达到每秒处理250MB~500MB的数据流。snappy压缩在Hadoop中不是自带的,本文介绍在hadoop2.0中安装和配置snappy压缩,使hadoop2.0支持snappy压缩。 1 安装snappy库
root@node1 server$ scp -r /export/server/hadoop root@node2:$PWD
一、项目结构 在Hadoop代码结构中,按照功能的不同将项目划分到不同目录当中。 整个项目可以用maven进行构建,因此根目录下有pom.xml文件。 每个子目录也可作为独立的maven项目进行编译,
添加用户及无密码访问 添加用户 adduser hadoop 设置密码 passwd hadoop 添加到sudo用户组 chmod +w /etc/sudoers echo '%hadoop ALL=(ALL) NOPASSWD: ALL' >> /etc/sudoers chmod -w /etc/sudoers su hadoop ssh-keygen -t rsa 机器互通 安装maven sudo mkdir -p /opt/maven sudo chown -R hadoop:hadoop /opt/maven tar zxvf apache-maven-3.1.1-bin.tar.gz -C /opt/maven/ 安装JDK sudo mkdir -p /opt/java sudo chown -R hadoop:hadoop /opt/java tar zxvf jdk-7u45-linux-x64.tar.gz -C /opt/java/ 配置环境变量 sudo vim /etc/profile export JAVA_HOME=/opt/java/jdk1.7.0_45 export MAVEN_HOME=/opt/maven/apache-maven-3.1.1 export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH 安装protobuf wget https://protobuf.googlecode.com/files/protobuf-2.5.0.tar.bz2 sudo mkdir -p /opt/protobuf sudo chown -R hadoop:hadoop /opt/protobuf tar jxvf protobuf-2.5.0.tar.bz2 -C /opt/protobuf sudo yum install gcc cd /opt/protobuf/protobuf-2.5.0 ./configure make sudo make check sudo make install protoc --version 安装hadoop 2.2.0 tar zxvf hadoop-2.2.0-src.tar.gz 打补丁 cd hadoop-2.2.0-src wget https://issues.apache.org/jira/secure/attachment/12614482/HADOOP-10110.patch patch -p0 < HADOOP-10110.patch 编译 mvn clean install -DskipTests 编译本地包 sudo yum install cmake ncurses-devel openssl-devel -y mvn package -Pdist,native -DskipTests -Dtar 校验安装成功 cd /home/hadoop/hadoop-2.2.0-src/hadoop-dist/target/hadoop-2.2.0 bin/hadoop version 加快其它机器编译速度 scp -r ~/.m2/ kn02:~/
1 Hadoop二次开发环境构建 1.1 Hadoop编译环境构建 1.1.1 系统信息 Linux版本: 1.1.2 编译环境准备 1.1.2.1 安装jdk7.0 rpm -ivh jdk-7u2
问题导读 1.spark集群能否单独运行? 2.如何在spark中指定想编译的hadoop版本? 3.构建的时候,版本选择需要注意什么? 上一篇 如何查看spark与hadoop、kafka、S
参考官方网站:http://hadoop.apache.org/docs/r2.8.0/hadoop-project-dist/hadoop-common/NativeLibraries.html
lzo压缩格式有很快的压缩/解压速度和合理的压缩率,并且支持分块(split),所以lzo是目前在Hadoop中最流行的压缩格式。hadoop中的lzo不是自带的,如果要支持lzo,需要另外安装。本文介绍了在hadoop2.0上安装和配置lzo,同样也适用于hadoop1.0。
这些资料都是我在工作中学习、解决问题的资料汇总,我不能保证这里罗列的所有资料对看到的人有用,但大部分都经过我的实际验证。在不断学习和实践过程中,我会不断更新和总结这些资料,同时欢迎大家留言交流。感谢这些资料的作者。 一、HDFS 1、集群安装: Hadoop 2.6.0 HA高可用集群配置详解 2、NameNode: HDFS NameNode内存全景 3、DataNode: Hadoop--HDFS之DataNode 4、权限管理: HDFS权限管理实践 5、数据平衡: How does the
Apache Tez是构建于Apache Hadoop YARN上,基于有向无环图进行数据处理的框架。
有时候装完的hadoop2.2的集群,在我们的系统(REAL系)执行bin/hadoop checknative 命令时,出现如上图的警告,意思就是载入bzip2压缩失败,但是在整个编译过程,并没有出现任何错误,或异常,而且去cenots下的lib64位目录下,查看libbz2的so文件,发现也正常 ,那么问题出究竟现在哪里呢? 经过google查找,散仙在hadoop官网的的jira上找到答案,大家请看这个链接地址https://issues.apache.org/jira/browse/HADOOP-1
最近在做一个城商行项目的POC测试it版本,涉及到编译Linux64bti的源码和开发插件使用,作为笔记分享给大家。
问题提出: 在运行kylin sample时出现以下错误: org.apache.hadoop.hive.ql.metadata.HiveException: native snappy library not available: this version of libhadoop was built without snappy support. 造成以上错误的原因是Hadoop的二进制安装包中没有snappy支持,需要手工重新编译。 操作过程: 1. 下载所需要的源码包 snappy-1.1.1.tar.gz protobuf-2.5.0.tar.gz hadoop-2.7.2-src.tar.gz 2. 准备编译环境 yum install svn yum install autoconf automake libtool cmake yum install ncurses-devel yum install openssl-devel yum install gcc* 3. 编译安装snappy # 用root用户执行以下命令 tar -zxvf snappy-1.1.1.tar.gz cd snappy-1.1.1/ ./configure make make install # 查看snappy库文件 ls -lh /usr/local/lib |grep snappy 4. 编译安装protobuf # 用root用户执行以下命令 tar -zxvf protobuf-2.5.0.tar.gz cd protobuf-2.5.0/ ./configure make make install # 查看protobuf版本以测试是否安装成功 protoc --version 5. 编译hadoop native tar -zxvf hadoop-2.7.2-src.tar.gz cd hadoop-2.7.2-src/ mvn clean package -DskipTests -Pdist,native -Dtar -Dsnappy.lib=/usr/local/lib -Dbundle.snappy
Hadoop不提供64位编译好的版本,只能用源码自行编译64位版本。学习一项技术从安装开始,学习hadoop要从编译开始。
最近因为要改Hadoop的一些代码,需要重新编译,测试环境是用cdh4.6.0做debug,简单记录下hadoop的编译方法:
hadoop 是工作在linux下的分布式系统,做为一个开发者,对于手里资源有限,不得不使用只有终端的虚拟机来运行hadoop集群。但是,在这种环境下,开发,调试就变得那么的不容易了。那么,有没有办法在windows下发调试呢。答案是肯定的。 hadoop为我们提供了一个Eclipes插件,使用我们可以在Eclipse环境下开发,调试hadoop程序,那么,应该如何安装eclipse-hadoop插件呢。下面把我的研究结果分享给大家(附上我自己编译的插件)。 1、编译eclipse-hadoop-plugi
访问HDFS的方式很多,常用的有命令行方式、通过Hadoop提供的API访问、也可以通过挂载NFS的方式访问,在前面的文章Fayson也都有介绍过。本篇文章Fayson主要介绍使用FTP的方式来访问HDFS,这里介绍一个开源的小工具hdfs-over-ftp,简单易用的实现了基于FTP的方式对HDFS上文件进行上传和下载等功能。本篇文章Fayson主要介绍如何基于C6编译hdfs-over-ftp工具,并进行安装部署及验证。
yum -y install lzo-devel zlib-devel gcc autoconf automake libtool gcc-c++ openssl-devel ncurses-devel
因为Hadoop2在官网上预编译的包都是在32位下编译的,在64位系统上可能运行出问题,所以需要在64位系统上编译运行。
1)hadoop本身并不支持lzo压缩,故需要使用twitter提供的hadoop-lzo开源组件。hadoop-lzo需依赖hadoop和lzo进行编译,编译步骤如下。 2)将编译好后的hadoop-lzo-0.4.20.jar 放入hadoop-2.7.2/share/hadoop/common/
在hudi中,hbase可以作为索引数据的存储,hudi默认使用的hbase版本为1.2.3。
配置CentOS能连接外网。Linux虚拟机ping www.baidu.com 是畅通的 注意:采用root角色编译,减少文件夹权限出现问题
准备一台linux环境,内存4G或以上,硬盘40G或以上,我这里使用的是Centos7.7 64位的操作系统(注意:一定要使用64位的操作系统),需要虚拟机联网,关闭防火墙,关闭selinux,安装好JDK8。
Hue和hive等安装不同,需要进行编译安装,所以安装起来较为复杂。具体安装步骤:
首先准备一个hadoop源码包,我选择的hadoop版本是:hadoop-2.7.7-src.tar.gz,在hadoop-2.7.7的源码包的根目录下有一个文档叫做BUILDING.txt,这其中说明了编译hadoop所需要的一些编译环境相关的东西。不同的hadoop版本的要求都不一样,对应的版本参照BUILDING.txt
Spark是Apache的一个顶级项目,Apache Spark 是专为大规模数据处理而设计的快速通用的计算引擎。Spark是UC Berkeley AMP lab (加州大学伯克利分校的AMP实验室)所开源的类Hadoop MapReduce的通用并行框架,Spark拥有Hadoop MapReduce所具有的优点;但不同于MapReduce的是——Job中间输出结果可以保存在内存中,从而不再需要读写HDFS,因此Spark能更好地适用于数据挖掘与机器学习等需要迭代的MapReduce的算法。
Fayson在前面的文章中介绍过什么是Spark Thrift,Spark Thrift的缺陷,以及Spark Thrift在CDH5中的使用情况,参考《0643-Spark SQL Thrift简介》。
3)增加磁盘后,保证每个目录数据均衡 开启数据均衡命令: bin/start-balancer.sh –threshold 10 对于参数10,代表的是集群中各个节点的磁盘空间利用率相差不超过10%,可根据实际情况进行调整。 停止数据均衡命令: bin/stop-balancer.sh 实时的通信检测,也会浪费一定资源,因此调配过后就可以关闭了。
Atlas官网没有提供Atlas的安装包,需要下载Atlas的源码后编译安装,下载Atlas源码需要登录Atlas官网下载Atlas:https://atlas.apache.org/#/Downloads,选择2.1.0版本:
第2章 工具环境搭建(具体实操)2.1 MongoDB(单节点)环境配置2.2 Redis(单节点)环境配置2.3 ElasticSearch(单节点)环境配置2.4 Azkaban(单节点)环境配置2.4.1 安装 Git2.4.2 编译 Azkaban2.4.3 部署 Azkaban Solo2.5 Spark(单节点)环境配置2.6 Zookeeper(单节点)环境配置2.7 Flume-ng(单节点)环境配置2.8 Kafka(单节点)环境配置2.9 Apache 环境配置2.10 Tomcat 环境配置2.11 开发环境配置2.11.1 安装IDEA(略)2.11.2 Postman 安装2.11.3 安装 nodejs2.11.4 安装AngularJS CLI
64位os下为啥要编译hadoop就不解释了,百度一下就能知道原因,下面是步骤: 前提:编译源码所在的机器,必须能上网,否则建议不要尝试了 一. 下载必要的组件 a) 下载hadoop源码 (当前最新的稳定版是2.6.0) 地址 http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.6.0-src.tar.gz b) 下载apache-ant (centos自带的ant版本太低,编译过程中会报错) 地址: http://mirro
可以指定安装的目录,如果不指定的话,会默认把redis安装在/usr/local目录下,建议就把redis安装在源码包下面,且指定安装位置的时候,路径写为绝对路径
1、jdk 1.7问题 hadoop 2.7.0必须要求jdk 1.7.0,而oracle官网已经声明,jdk 1.7 以后不准备再提供更新了,所以趁现在还能下载,赶紧去down一个mac版吧 http://www.oracle.com/technetwork/java/javase/downloads/jdk7-downloads-1880260.html 应该选择mac ox 64位的版本 http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-
Apache Hadoop2.2.0作为新一代hadoop版本,突破原来hadoop1.x的集群机器最多4000台的限制,并有效解决以前常遇到的OOM(内存溢出)问题,其创新的计算框架YARN被称为hadoop的操作系统,不仅兼容原有的mapreduce计算模型而且还可支持其他并行计算模型。
领取专属 10元无门槛券
手把手带您无忧上云