Install Hadoop on MacOS (Macbook M1)

Install Hadoop in MacOS

The Apache Hadoop software library is a framework that allows for the distributed processing of large data sets across clusters of computers using simple programming models.

In this article I have shown how you can install hadoop on MacOS specific on Macbook M1 fixing the possible errors. So let’s get started.

Step 1 : Install HomeBrew

/bin/bash -c “$(curl -fsSL"

Use these commands to add homebrew on your bash_profile

echo ‘eval “$(/opt/homebrew/bin/brew shellenv)”’ >> /Users/arjungautam/.bash_profile

eval “$(/opt/homebrew/bin/brew shellenv)”

Step 2 : Install Hadoop using HomeBrew

brew install hadoop

Open the document containing the environment variable settings :

$ cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop

then open with any editor, I will use vscode


Make sure to have java jdk installed and JAVA_HOME setup on your system. If you haven’t follow this link ( Install Java 8 or 11 not newer versions)

Find JAVA_HOME on that file and add your local Java path

Use this command to find the path in terminal

$ /usr/libexec/java_home

and add the location on


Step 3: Make changes to Core files

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code core-site.xml

and add the following configuration

<configuration> <property>  <name>fs.defaultFS</name>  <value>hdfs://localhost:9000</value> </property></configuration>

Step 4 : Make changes to hdfs files :

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code hdfs-site.xml

<configuration>  <property>    <name>dfs.replication</name>    <value>1</value>  </property></configuration>

Step 5 : Make changes to mapred files

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code mapred-site.xml

<configuration>    <property>       <name></name>       <value>yarn</value>    </property>    <property>    <name>mapreduce.application.classpath</name>   

Step 6: Make changes to yarn files :

cd /opt/homebrew/Cellar/hadoop/3.3.1/libexec/etc/hadoop
code yarn-site.xml

<configuration>  <property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value>  </property>  <property>    <name>yarn.nodemanager.env-whitelist</name>     <value>

Now just go to the system preferences and

Localhost connection refused 22 resolved

Now to run Hadoop

But before doing that just type following command on terminal.

hadoop namenode -format 

just open terminal and type


And type jps to have confirmation that all the parts of Hadoop have been installed and running. You should see something like this

Using jps command

now just type http://localhost:9870

HDFS running on localhost:9870

Now to create the directory

$ hadoop fs -mkdir /user
$ hadoop fs -mkdir /user/arjun.gautam

Add files on the existing directory

$ hadoop fs -put Demo/ /user/arjun.gautam

If you followed this article and worked for you please help me by following on the medium.
Also visit my youtube channel ArjunCodes .




Learn Code with Fun.

Love podcasts or audiobooks? Learn on the go with our new app.

Recommended from Medium

A quick little note about tab completion on the local Scala REPL

Django?? It’s not Music, it’s all Web!!

“Release Train” in Software Development

Tackling the “IllegalArgumentException: navigation destination Foo is unknown to this…

Write better Golang code by grouping similar declarations

[Akka Stream] Principles behind the mechanisms of delay and use cases compared to throttle

ZKSpace Weekly Dev & Operations Report (1.8–1.14)

Get the Medium app

A button that says 'Download on the App Store', and if clicked it will lead you to the iOS App store
A button that says 'Get it on, Google Play', and if clicked it will lead you to the Google Play store
Code With Arjun

Code With Arjun

Learn Code with Fun.

More from Medium

Configure Verdaccio to work with Azure Active Directory

How To Create A Virtual Machine Using Azure Portal and How To Connect Through RDP (Remote Desktop…

Opal: Azure Functions Monitoring