首页
学习
活动
专区
圈层
工具
发布
首页
学习
活动
专区
圈层
工具
MCP广场
社区首页 >专栏 >Hadoop基础教程-第13章 源码编译(13.1 Zookeeper源码编译)

Hadoop基础教程-第13章 源码编译(13.1 Zookeeper源码编译)

作者头像
程裕强
发布于 2018-01-02 08:36:14
发布于 2018-01-02 08:36:14
98900
代码可运行
举报
运行总次数:0
代码可运行

第13章 源码编译

13.1 Zookeeper源码编译

13.1.1 安装Ant

注意,不要下载最新版,下载指定版本 http://archive.apache.org/dist/ant/binaries/apache-ant-1.9.4-bin.tar.gz

解压缩

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron ~]# cd apache-ant-1.9.4/
[root@hadron apache-ant-1.9.4]# ll
总用量 380
drwxr-xr-x 2 root root   4096 430 2014 bin
drwxr-xr-x 3 root root   4096 430 2014 etc
-rw-r--r-- 1 root root  11253 430 2014 fetch.xml
-rw-r--r-- 1 root root   4445 430 2014 get-m2.xml
-rw-r--r-- 1 root root    126 430 2014 INSTALL
-rw-r--r-- 1 root root  92261 430 2014 KEYS
drwxr-xr-x 2 root root   4096 430 2014 lib
-rw-r--r-- 1 root root  15289 430 2014 LICENSE
drwxr-xr-x 8 root root   4096 430 2014 manual
-rw-r--r-- 1 root root    305 430 2014 NOTICE
-rw-r--r-- 1 root root   4119 430 2014 README
-rw-r--r-- 1 root root 225057 430 2014 WHATSNEW
[root@hadron apache-ant-1.9.4]#

13.1.2 下载Zookeeper源码

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron ~]# git clone https://github.com/apache/zookeeper.git
正克隆到 'zookeeper'...
remote: Counting objects: 35618, done.
remote: Compressing objects: 100% (11/11), done.
remote: Total 35618 (delta 0), reused 5 (delta 0), pack-reused 35606
接收对象中: 100% (35618/35618), 28.06 MiB | 81.00 KiB/s, done.
处理 delta 中: 100% (23152/23152), done.
您在 /var/spool/mail/root 中有新邮件
[root@hadron ~]# cd zookeeper/
[root@hadron zookeeper]# ll
总用量 160
drwxr-xr-x 2 root root  4096 726 09:45 bin
-rw-r--r-- 1 root root 82419 726 09:45 build.xml
drwxr-xr-x 2 root root  4096 726 09:45 conf
drwxr-xr-x 4 root root  4096 726 09:45 docs
-rw-r--r-- 1 root root  1709 726 09:45 ivysettings.xml
-rw-r--r-- 1 root root  4132 726 09:45 ivy.xml
-rw-r--r-- 1 root root 11358 726 09:45 LICENSE.txt
-rw-r--r-- 1 root root   170 726 09:45 NOTICE.txt
-rw-r--r-- 1 root root  1347 726 09:45 README_packaging.txt
-rw-r--r-- 1 root root  1636 726 09:45 README.txt
drwxr-xr-x 7 root root  4096 726 09:45 src
-rw-r--r-- 1 root root 21462 726 09:45 zk-merge-pr.py
[root@hadron zookeeper]# 

13.1.3 查看文档

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron zookeeper]# cat README_packaging.txt 
README file for Packaging Notes

Requirement
-----------

ant (recommended version 1.9.4 or later for concurrent JUnit test execution)
gcc, cppunit and python-setuptools are required to build 
C and python bindings.

On RHEL machine:

yum install cppunit
yum install python-setuptools

On Ubuntu:

apt-get --install cppunit
apt-get --install python-setuptools

Package build command
---------------------

The ZooKeeper project publishes releases as tarballs.  For ZooKeeper packages
specific to your OS (such as rpm and deb), consider using Apache Bigtop:

http://bigtop.apache.org/

Command to build tarball package: ant tar

zookeeper-<version>.tar.gz tarball file structure layout

  /bin                               - User executable
  /sbin                              - System executable
  /libexec                           - Configuration boot trap script
  /lib                               - Library dependencies
  /docs                              - Documents
  /share/zookeeper                   - Project files

Command to build tarball package with native components: ant package-native tar

zookeeper-<version>-lib.tar.gz tarball file structure layout

  /bin                               - User executable
  /lib                               - Native libraries
  /include/zookeeper                 - Native library headers

13.1.4 安装依赖工具

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron ~]# yum install -y cppunit
[root@hadron ~]# yum install -y python-setuptools

13.1.5 开始编译

(1)初次编译

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron zookeeper]# /root/apache-ant-1.9.4/bin/ant tar
Buildfile: /root/zookeeper/build.xml

init:
    [mkdir] Created dir: /root/zookeeper/build/classes
    [mkdir] Created dir: /root/zookeeper/build/lib
    [mkdir] Created dir: /root/zookeeper/build/package/lib
    [mkdir] Created dir: /root/zookeeper/build/test/lib

....
....

check-cppunit-configure:

create-cppunit-configure:
     [exec] Can't exec "aclocal": 没有那个文件或目录 at /usr/share/autoconf/Autom4te/FileUtils.pm line 326.
     [exec] autoreconf: failed to run aclocal: 没有那个文件或目录

BUILD FAILED
/root/zookeeper/build.xml:1276: exec returned: 1

Total time: 30 seconds
[root@hadron zookeeper]# 

(2)解决缺失依赖

解决问题:Can’t exec “aclocal”: 没有那个文件或目录 at /usr/share/autoconf/Autom4te/FileUtils.pm line 326

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron ~]# yum install automake

(3)重新编译

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron zookeeper]# /root/apache-ant-1.9.4/bin/ant tar
Buildfile: /root/zookeeper/build.xml

init:
.....................
输出省略
.....................

compile:
     [echo] contrib: queue
    [javac] /root/zookeeper/src/recipes/build-recipes.xml:103: warning: 'includeantruntime' was not set, defaulting to build.sysclasspath=last; set to false for repeatable builds
    [javac] Compiling 1 source file to /root/zookeeper/build/recipes/queue/classes

jar:
     [echo] recipes: queue
      [jar] Building jar: /root/zookeeper/build/recipes/queue/zookeeper-3.6.0-SNAPSHOT-recipes-queue.jar

zookeeperbuildrecipes.package:
     [echo] recipes: queue
    [mkdir] Created dir: /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/recipes/queue
     [copy] Copying 1 file to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/recipes/queue

package:
     [copy] Copying 1 file to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/recipes/queue
    [mkdir] Created dir: /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/recipes/queue/test
     [copy] Copying 1 file to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/recipes/queue/test
    [mkdir] Created dir: /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/recipes/queue/src
     [copy] Copying 16 files to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/recipes/queue/src
     [copy] Copying 1 file to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT
    [mkdir] Created dir: /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/dist-maven
     [copy] Copying 1 file to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/dist-maven
     [copy] Copying 2 files to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/dist-maven
     [copy] Copying 1 file to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/dist-maven
     [copy] Copying 9 files to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/bin
     [copy] Copying 3 files to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/conf
     [copy] Copying 350 files to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/docs
     [copy] Copying 7 files to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT
     [copy] Copying 1104 files to /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT/src

tar:
      [tar] Building tar: /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT.tar.gz

BUILD SUCCESSFUL
Total time: 1 minute 27 seconds
您在 /var/spool/mail/root 中有新邮件
[root@hadron zookeeper]# 

注意输出信息BUILD SUCCESSFUL,表示编译成功! (4)查看tar包

代码语言:javascript
代码运行次数:0
运行
AI代码解释
复制
[root@hadron zookeeper]# ll /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT.tar.gz
-rw-r--r-- 1 root root 18418052 726 11:02 /root/zookeeper/build/zookeeper-3.6.0-SNAPSHOT.tar.gz
[root@hadron zookeeper]#
本文参与 腾讯云自媒体同步曝光计划,分享自作者个人站点/博客。
原始发表:2017-08-28 ,如有侵权请联系 cloudcommunity@tencent.com 删除

本文分享自 作者个人站点/博客 前往查看

如有侵权,请联系 cloudcommunity@tencent.com 删除。

本文参与 腾讯云自媒体同步曝光计划  ,欢迎热爱写作的你一起参与!

评论
登录后参与评论
暂无评论
推荐阅读
编辑精选文章
换一批
Hadoop基础教程-第8章 Zookeeper(8.2 Zookeeper下载与安装)
ZooKeeper服务器是用Java创建的,它在JVM上运行。需要使用JDK 6或更高版本。这里我们使用JDK8,前文已经安装。
程裕强
2022/05/06
2680
Hadoop基础教程-第8章 Zookeeper(8.2 Zookeeper下载与安装)
Hadoop基础教程-第13章 源码编译(13.3 HBase1.2.6源码编译)
程裕强
2018/01/02
8010
Hadoop基础教程-第4章 HDFS的Java API(4.6 Java API应用)
先在本地(客户端)一个文件,比如在D盘下新建一个word2.txt文件,内容随便写
程裕强
2022/05/06
2720
Hadoop基础教程-第4章 HDFS的Java API(4.6 Java API应用)
Hadoop基础教程-第13章 源码编译(13.2 Hadoop2.7.3源码编译)
本文介绍了从Apache Hadoop 2.7.3源代码中编译并打包Hadoop 2.7.3的详细步骤。主要步骤包括:下载并配置Hadoop源代码、编译、解决依赖问题、准备安装包、添加配置文件、生成并上传分发包、部署Hadoop集群。此外,还提供了在本地环境中使用Hadoop客户端命令进行测试的方法。
程裕强
2018/01/02
1.1K0
搭建zookeeper集群
下载zookeeper-3.4.14.tar.gz 使用xshell的rz命令或者xftp工具将zookeeper-3.4.14.tar.gz压缩文件上传到三台主机的 /opt 目录下 解压 zookeeper-3.4.14.tar.gz tar -zxvf zookeeper-3.4.14.tar.gz 切换到zookeeper-3.4.14目录,创建data和log文件夹【三台机器都要创建】 cd zookeeper-3.4.14 mkdir data log #####################
暖月寒星
2020/03/10
5870
zookeeper-02 部署
1. 主机规划 主机名称 外网IP【外部访问】 内网IP 操作系统 备注 安装软件 docker01 10.0.0.11 172.16.1.11 CentOS 7.2 zookeeper-3.4.5【集群】 docker02 10.0.0.12 172.16.1.12 CentOS 7.2 zookeeper-3.4.5【集群】 docker03 10.0.0.13 172.16.1.13 CentOS 7.2 zookeeper-3.4.5【集群】 docker04 10.0.0.14 172.16
踏歌行
2020/10/15
3090
Hadoop基础教程-第7章 MapReduce进阶(7.7 MapReduce 全排序)
MapReduce默认只是保证同一个分区内的Key是有序的,但是不保证全局有序。如果我们将所有的数据全部发送到一个Reduce,那么不就可以实现结果全局有序。所以前文7.6节二次排序已经实现了最终结果有序,也就是全排序。 MapReduce全排序的方法1: 每个map任务对自己的输入数据进行排序,但是无法做到全局排序,需要将数据传递到reduce,然后通过reduce进行一次总的排序,但是这样做的要求是只能有一个reduce任务来完成。
程裕强
2022/05/06
2530
Hadoop基础教程-第7章 MapReduce进阶(7.7 MapReduce 全排序)
Hadoop基础教程-第4章 HDFS的Java API(4.7 Java API封装类)(
第4章 HDFS的Java API 4.7 Java API封装类 package cn.hadron.hdfsDemo; import java.io.IOException; import java.io.InputStream; import java.net.URI; import java.net.URISyntaxException; import org.apache.hadoop.conf.Configuration; import org.apache.hadoop.fs.FileSys
程裕强
2022/05/06
2740
Hadoop基础教程-第4章 HDFS的Java API(4.7 Java API封装类)(
HDFS Java API
官网 http://hadoop.apache.org/docs/r2.7.3/api/index.html
程裕强
2022/05/06
1.7K0
HDFS Java API
CentOS7.4下编译Hadoop-2.7.6
1. 使用系统和软件 操作系统:CentOS Linux release 7.4.1708 (Core) 64位 使用软件如下: jdk1.8.0_112.tar.gz hadoop-2.7.6-src.tar.gz apache-ant-1.9.11-bin.tar.gz apache-maven-3.5.3-bin.tar.gz findbugs-3.0.1.tar.gz protobuf-2.5.0.tar.gz 2. 必要的包安装 [root@mini05 ~]# yum install -y
踏歌行
2020/10/15
8790
CentOS7.4下编译Hadoop-2.7.6
ZooKeeper伪分布式集群安装及使用
ZooKeeper是一个为分布式应用所设计的分布的、开源的协调服务,它主要是用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用协调及其管理的难度,提供高性能的分布式服务。ZooKeeper本身可以以Standalone模式安装运行,不过它的长处在于通过分布式ZooKeeper集群(一个Leader,多个Follower),基于一定的策略来保证ZooKeeper集群的稳定性和可用性,从而实现分布式应用的可靠性。
星哥玩云
2022/07/04
4180
驭象者之Apache Oozie
(1)Apache Oozie是什么? Oozie在英语中的释义指的是:驯象人,驭象者(多指缅甸那边的俗称),这个比喻相对与它的功能来说,还是很恰当的。 Apache Oozie是一个用来管理Hadoop任务的工作流调度系统,是基于有向无环图的模型(DAG)。Oozie支持大多数的Hadoop任务的组合,常见的有Java MapReduce,Streaming map-reduce,Pig,Hive, Sqoop , Distcp,也可以结合一些脚本如Shell,Python,Java来很灵活的完成
我是攻城师
2018/05/11
1.1K0
Hadoop基础教程-第5章 YARN:资源调度平台(5.4 YARN集群运行)
求解wordcount过程中,我们可以观察页面http://192.168.80.131:8088,
程裕强
2022/05/06
2660
Hadoop基础教程-第5章 YARN:资源调度平台(5.4 YARN集群运行)
ZooKeeper 集群
ZooKeeper 本身就是为分布式应用服务的,为了确保高可用所以很少使用 Standalone 模式,而更多是使用集群模式运行
franket
2022/03/25
2220
Azkaban-3.x源码编译以及Solo-Server模式部署
查看azkaban-3.73.1/gradle/wrapper/gradle-wrapper.properties文件:
CoderJed
2019/08/22
1.3K0
Azkaban-3.x源码编译以及Solo-Server模式部署
Mysql+Mycat实现数据库主从同步与读写分离
官网: http://mycat.io/ 电子书: http://mycat.io/document/Mycat_V1.6.0.pdf 书: http://blog.csdn.net/wind520/article/details/53213691
民工哥
2020/09/16
8320
Mysql+Mycat实现数据库主从同步与读写分离
基于Innobackupex的全备恢复
    对于MySQL数据库的热备,xtrabackup是大多数DBA朋友们的选择。xtrabackup内嵌了一个innobackupex可用于热备MySQL数据库。本文描述了基于innobackupex这个工具全备下的恢复并给出演示供大家参考。     有关Innobackupex的全备可参考:Innobackupex 全备数据库
Leshami
2018/08/13
9690
基于Innobackupex的全备恢复
Python快速入门教程2:Python 面向对象
1.1 定义类     通常你需要在单独的文件中定义一个类     [root@hadron python]# vi Employee.py
程裕强
2022/05/06
4180
CentOS源码构建RPM包
之前在安装nova-compute服务时,遇到了nova-compute服务要求qemu-kvm >= 2.9.0的依赖问题,但是对应版本的操作系统仅有2.7.0的安装包,所以利用这次机会学习了一下如何自己构建openstack nova rpm包,并把相关的步骤记录了下来。
jiang
2020/06/27
2.3K0
Fastdfs + Nginx整合部署
记一次Fastdfs + Nginx整合部署 1、环境介绍 操作系统:CentOS Linux release 7.6.1810 (Core) Nginx编译安装,版本-nginx/1.18.0 Fastdfs编译安装,版本-fastdfs-5.11 server ip 用途 Nginx 10.110.10.110 Nginx/1.18.0 Fastdfs 10.110.10.110 Fastdfs/5.11 2、上传需要的安装包 [root@test-10 src]# pwd /usr/local/sr
染指流年
2023/03/13
5670
Fastdfs + Nginx整合部署
相关推荐
Hadoop基础教程-第8章 Zookeeper(8.2 Zookeeper下载与安装)
更多 >
领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档