You are viewing a plain text version of this content. The canonical link for it is here.
Posted to issues@flink.apache.org by "Robert Metzger (Jira)" <ji...@apache.org> on 2022/01/18 08:54:00 UTC

[jira] [Commented] (FLINK-25679) Build arm64 Linux images for Apache Flink

    [ https://issues.apache.org/jira/browse/FLINK-25679?page=com.atlassian.jira.plugin.system.issuetabpanels:comment-tabpanel&focusedCommentId=17477673#comment-17477673 ] 

Robert Metzger commented on FLINK-25679:
----------------------------------------

I have a (non public) GitHub Actions workflow for building arm64 Flink images. I don't have time to clean it up and publish it, or adjust the Flink release process.
Here are the commands I roughly use:
I'm not sure if everything is really needed, and I haven't investigated pushing multiplatform ("fat") manifests to a docker registry.

{code}
# in a Flink directory
docker run --rm --privileged multiarch/qemu-user-static --reset -p yes
docker buildx create --driver docker-container --use --driver-opt network=host --buildkitd-flags '--allow-insecure-entitlement network.host'
docker buildx inspect --bootstrap
sudo update-binfmts --enable
mvn -Dorg.slf4j.simpleLogger.log.org.apache.maven.cli.transfer.Slf4jMavenTransferListener=warn clean install -DskipTests -Dfast
cd flink-dist/target/flink-*-bin
tar czf flink.tgz flink-*

npm install -g http-server
http-server -p 8000 &
URL="http://127.0.0.1:8000/flink.tgz"
cd $FLINK_ROOT_DIR
git clone https://github.com/apache/flink-docker
cd flink-docker
git checkout dev-master
./add-custom.sh -u $URL -n flink-custom -j $JAVA
cd dev/flink-custom-debian
docker buildx build --push --network host --platform linux/amd64,linux/arm64 -t $IMGNAME .
{code}



> Build arm64 Linux images for Apache Flink
> -----------------------------------------
>
>                 Key: FLINK-25679
>                 URL: https://issues.apache.org/jira/browse/FLINK-25679
>             Project: Flink
>          Issue Type: Improvement
>          Components: flink-docker
>    Affects Versions: 1.15.0
>            Reporter: Robert Metzger
>            Priority: Major
>
> Building Flink images for arm64 Linux should be trivial to support, since upstream docker images support arm64, as well as frocksdb.
> Building the images locally is also easily possible using Docker's buildx features, and the build system of the official docker images most likely supports ARM arch.
> This improvement would allow us supporting development / testing on Apple M1-based systems, as well as ARM architecture at various cloud providers (AWS Graviton)



--
This message was sent by Atlassian Jira
(v8.20.1#820001)