title: “Quickstart: Setup”
Get Flink up and running in a few simple steps.
Flink runs on Linux, Mac OS X, and Windows. To be able to run Flink, the only requirement is to have a working Java 7.x (or higher) installation. Windows users, please take a look at the [Flink on Windows]({{ site.baseurl }}/setup/local_setup.html#flink-on-windows) guide which describes how to run Flink on Windows for local setups.
Download the ready to run binary package. Choose the Flink distribution that matches your Hadoop version. If you are unsure which version to choose or you just want to run locally, pick the package for Hadoop 1.2.
$ cd ~/Downloads # Go to download directory $ tar xzf flink-*.tgz # Unpack the downloaded archive $ cd flink-{{site.version}} $ bin/start-local.sh # Start Flink
Check the JobManager's web frontend at http://localhost:8081 and make sure everything is up and running.
Run the Word Count example to see Flink at work.
Download test data:
$ wget -O hamlet.txt http://www.gutenberg.org/cache/epub/1787/pg1787.txt
You now have a text file called hamlet.txt in your working directory.
Start the example program:
$ bin/flink run ./examples/batch/WordCount.jar --input file://`pwd`/hamlet.txt --output file://`pwd`/wordcount-result.txt
You will find a file called wordcount-result.txt in your current directory.
To stop Flink when you're done, you just have to type:
$ bin/stop-local.sh
Running Flink on a cluster is as easy as running it locally. Having passwordless SSH and the same directory structure on all your cluster nodes lets you use our scripts to control everything.
jobmanager.rpc.address
key in conf/flink-conf.yaml
to its IP or hostname. Make sure that all nodes in your cluster have the same jobmanager.rpc.address
configured.conf/slaves
.You can now start the cluster at your master node with bin/start-cluster.sh
.
The following example illustrates the setup with three nodes (with IP addresses from 10.0.0.1 to 10.0.0.3 and hostnames master, worker1, worker2) and shows the contents of the configuration files, which need to be accessible at the same path on all machines:
Have a look at the [Configuration]({{ site.baseurl }}/setup/config.html) section of the documentation to see other available configuration options. For Flink to run efficiently, a few configuration values need to be set.
In particular,
taskmanager.heap.mb
),taskmanager.numberOfTaskSlots
),parallelism.default
) andtaskmanager.tmp.dirs
)are very important configuration values.
You can easily deploy Flink on your existing YARN cluster.
./bin/yarn-session.sh
. You can run the client with options -n 10 -tm 8192
to allocate 10 TaskManagers with 8GB of memory each.For more detailed instructions, check out the programming Guides and examples.