Skip to content

Commit f253283

Browse files
authored
Merge branch 'trunk' into replacejq
2 parents 8d86266 + f34c4be commit f253283

3,549 files changed

Lines changed: 184585 additions & 89940 deletions

File tree

Some content is hidden

Large Commits have some content hidden by default. Use the searchbox below for content that may be hidden.

BUILDING.txt

Lines changed: 25 additions & 22 deletions
Original file line numberDiff line numberDiff line change
@@ -6,7 +6,7 @@ Requirements:
66
* Unix System
77
* JDK 1.8
88
* Maven 3.3 or later
9-
* Boost 1.72 (if compiling native code)
9+
* Boost 1.86.0 (if compiling native code)
1010
* Protocol Buffers 3.21.12 (if compiling native code)
1111
* CMake 3.19 or newer (if compiling native code)
1212
* Zlib devel (if compiling native code)
@@ -29,7 +29,11 @@ This requires a recent version of docker (1.4.1 and higher are known to work).
2929
On Linux / Mac:
3030
Install Docker and run this command:
3131

32-
$ ./start-build-env.sh
32+
$ ./start-build-env.sh [OS platform]
33+
34+
- [OS Platform] One of [centos_7, centos_8, debian_10, ubuntu_20, ubuntu_24, windows_10].
35+
Default is 'ubuntu_20'.
36+
Note: Currently only default ('ubuntu_20') is supported on arm machine
3337

3438
The prompt which is then presented is located at a mounted version of the source tree
3539
and all required tools for testing and building have been installed and configured.
@@ -82,8 +86,8 @@ Refer to dev-support/docker/Dockerfile):
8286
$ make -j$(nproc)
8387
$ sudo make install
8488
* Boost
85-
$ curl -L https://sourceforge.net/projects/boost/files/boost/1.72.0/boost_1_72_0.tar.bz2/download > boost_1_72_0.tar.bz2
86-
$ tar --bzip2 -xf boost_1_72_0.tar.bz2 && cd boost_1_72_0
89+
$ curl -L https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.bz2/download > boost_1_86_0.tar.bz2
90+
$ tar --bzip2 -xf boost_1_86_0.tar.bz2 && cd boost_1_86_0
8791
$ ./bootstrap.sh --prefix=/usr/
8892
$ ./b2 --without-python
8993
$ sudo ./b2 --without-python install
@@ -163,7 +167,7 @@ Maven build goals:
163167
YARN Application Timeline Service V2 build options:
164168

165169
YARN Timeline Service v.2 chooses Apache HBase as the primary backing storage. The supported
166-
version of Apache HBase is 2.5.8.
170+
version of Apache HBase is 2.6.1.
167171

168172
Snappy build options:
169173

@@ -493,9 +497,9 @@ Building on CentOS 8
493497
$ sudo make install
494498

495499
* Install boost.
496-
$ curl -L -o boost_1_72_0.tar.bz2 https://sourceforge.net/projects/boost/files/boost/1.72.0/boost_1_72_0.tar.bz2/download
497-
$ tar xjf boost_1_72_0.tar.bz2
498-
$ cd boost_1_72_0
500+
$ curl -L -o boost_1_86_0.tar.bz2 https://sourceforge.net/projects/boost/files/boost/1.86.0/boost_1_86_0.tar.bz2/download
501+
$ tar xjf boost_1_86_0.tar.bz2
502+
$ cd boost_1_86_0
499503
$ ./bootstrap.sh --prefix=/usr/local
500504
$ ./b2
501505
$ sudo ./b2 install
@@ -526,7 +530,7 @@ Requirements:
526530
* Windows 10
527531
* JDK 1.8
528532
* Maven 3.0 or later (maven.apache.org)
529-
* Boost 1.72 (boost.org)
533+
* Boost 1.86.0 (boost.org)
530534
* Protocol Buffers 3.21.12 (https://github.com/protocolbuffers/protobuf/tags)
531535
* CMake 3.19 or newer (cmake.org)
532536
* Visual Studio 2019 (visualstudio.com)
@@ -593,18 +597,16 @@ configure the bit-ness of the build, and set several optional components.
593597
Several tests require that the user must have the Create Symbolic Links
594598
privilege.
595599

596-
To simplify the installation of Boost, Protocol buffers, OpenSSL and Zlib dependencies we can use
597-
vcpkg (https://github.com/Microsoft/vcpkg.git). Upon cloning the vcpkg repo, checkout the commit
598-
7ffa425e1db8b0c3edf9c50f2f3a0f25a324541d to get the required versions of the dependencies
599-
mentioned above.
600-
> git clone https://github.com/Microsoft/vcpkg.git
600+
We use vcpkg (https://github.com/microsoft/vcpkg.git) for installing Boost, Protocol buffers,
601+
OpenSSL and Zlib dependencies. Run the following commands to setup these dependencies.
602+
> git clone https://github.com/microsoft/vcpkg.git
601603
> cd vcpkg
602-
> git checkout 7ffa425e1db8b0c3edf9c50f2f3a0f25a324541d
604+
> git fetch --all
605+
> git checkout 2025.03.19
603606
> .\bootstrap-vcpkg.bat
604-
> .\vcpkg.exe install boost:x64-windows
605-
> .\vcpkg.exe install protobuf:x64-windows
606-
> .\vcpkg.exe install openssl:x64-windows
607-
> .\vcpkg.exe install zlib:x64-windows
607+
(Assuming that vcpkg was checked out at C:\vcpkg and Hadoop at C:\hadoop)
608+
> copy C:\hadoop\dev-support\docker\vcpkg\vcpkg.json C:\vcpkg
609+
> .\vcpkg.exe install --x-install-root .\installed
608610

609611
Set the following environment variables -
610612
(Assuming that vcpkg was checked out at C:\vcpkg)
@@ -635,11 +637,12 @@ hadoop-dist/target upon successful build. Run these commands from an
635637
"x64 Native Tools Command Prompt for VS 2019" which can be found under "Visual Studio 2019" in the
636638
Windows start menu. If you're using the Docker image from Dockerfile_windows_10, you'll be
637639
logged into "x64 Native Tools Command Prompt for VS 2019" automatically when you start the
638-
container.
640+
container. The Docker image does not have a full VS install, so you need to add the
641+
-Dskip.platformToolsetDetection option (already included below in the examples).
639642

640643
> set classpath=
641644
> set PROTOBUF_HOME=C:\vcpkg\installed\x64-windows
642-
> mvn clean package -Dhttps.protocols=TLSv1.2 -DskipTests -DskipDocs -Pnative-win,dist^
645+
> mvn clean package -Dhttps.protocols=TLSv1.2 -DskipTests -DskipDocs -Pnative-win,dist -Dskip.platformToolsetDetection^
643646
-Drequire.openssl -Drequire.test.libhadoop -Pyarn-ui -Dshell-executable=C:\Git\bin\bash.exe^
644647
-Dtar -Dopenssl.prefix=C:\vcpkg\installed\x64-windows^
645648
-Dcmake.prefix.path=C:\vcpkg\installed\x64-windows^
@@ -651,7 +654,7 @@ Assuming that we're still running in the Docker container hadoop-windows-10-buil
651654
following command to create the Apache Hadoop release tarball -
652655

653656
> set IS_WINDOWS=1
654-
> set MVN_ARGS="-Dshell-executable=C:\Git\bin\bash.exe -Dhttps.protocols=TLSv1.2 -Pnative-win -Drequire.openssl -Dopenssl.prefix=C:\vcpkg\installed\x64-windows -Dcmake.prefix.path=C:\vcpkg\installed\x64-windows -Dwindows.cmake.toolchain.file=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -Dwindows.cmake.build.type=RelWithDebInfo -Dwindows.build.hdfspp.dll=off -Duse.platformToolsetVersion=v142 -Dwindows.no.sasl=on -DskipTests -DskipDocs -Drequire.test.libhadoop"
657+
> set MVN_ARGS="-Dshell-executable=C:\Git\bin\bash.exe -Dhttps.protocols=TLSv1.2 -Pnative-win -Dskip.platformToolsetDetection -Drequire.openssl -Dopenssl.prefix=C:\vcpkg\installed\x64-windows -Dcmake.prefix.path=C:\vcpkg\installed\x64-windows -Dwindows.cmake.toolchain.file=C:\vcpkg\scripts\buildsystems\vcpkg.cmake -Dwindows.cmake.build.type=RelWithDebInfo -Dwindows.build.hdfspp.dll=off -Duse.platformToolsetVersion=v142 -Dwindows.no.sasl=on -DskipTests -DskipDocs -Drequire.test.libhadoop"
655658
> C:\Git\bin\bash.exe C:\hadoop\dev-support\bin\create-release --mvnargs=%MVN_ARGS%
656659

657660
Note:

0 commit comments

Comments
 (0)