Mac的Hadoop、Spark、Kafka安装

由于Mac上个星期烧了主板,修回来的电脑内容啥也没有了。为了学习和使用,需要再次安装大数据的相关工具,特此记录。

根据自己平时的使用情况,先只安装了Hadoop、Spark、Kafka组件。使用到了brewhome,作为Mac的软件包管理工具,非常好用。

1. Hadoop安装

1.1 安装brewhome

打开终端,输入命令,安装brewhome。

/usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"

brewhome基本使用方法自行百度。默认情况下,安装的应用在

/user/local/Cellar/

1.2 安装Java

下一步特别需要安装Java,特别注意!!安装Java8,不要安装更高级的版本了,否则Hadoop Yarn中ResourceManager、NodeManager启动异常。由于使用brewhome默认安装的Java版本是11,所以需要指定安装Java8。

安装命令

brew tap caskroom/versionsbrew cask install java8

配置环境变量,vim修改 ~/.bash_profile

JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home"
CLASS_PATH="$JAVA_HOME/lib"
PATH=".:PATH:$JAVA_HOME.bin"

配置生效

source ~/.bash_profile

1.3 配置ssh

打开系统偏好设置->共享里的共享配置。

image.png
ssh-keygen -t rsa -P ""

cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

配置完后,检查是否可以免密登录

ssh localhost

1.4 安装Hadoop

brew install haoop

1.5 配置伪分布式

进入hadoop文件夹中,修改相关的配置

cd /usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop

修改core-site.xml

<configuration>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/Cellar/hadoop/hdfs/tmp</value>
        <description>A base for other temporary directories</description>
    </property>
    <property>
        <name>fs.default.name</name>
        <value>hdfs://localhost:9000</value>
    </property></configuration>

修改mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property></configuration>

修改hdfs-site.xml

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

修改yarn-site.xml

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

修改hadoop-env.sh

在export JAVA_HOME的位置添加JAVA路径

export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_202.jdk/Contents/Home

还需要格式化HDFS,在/usr/local/Cellar/hadoop/3.1.1/libexec/bin路径下执行

hdfs namenode -format

1.6 启动Hadoop

在/usr/local/Cellar/hadoop/3.1.1/libexec/sbin路径下,执行

./start-all.sh

然后jps看java进程

image.png

如果出现ResourceManager、SecondaryNameNode、NameNode、NodeManager、DataNode这五个进程说明Hadoop可以正常使用了。

正常情况下应该没有问题,我安装过程中唯一出现的问题就是JAVA版本过高,导致ResourceManager、NodeManager无法启动。

2.Spark的安装

2.1 Scala安装

brew install scala

配置环境变量

export SCALA_HOME=/usr/local/Cellar/scala/2.12.8
export PATH=$PATH:$SCALA_HOME/bin

配置生效

source ~/.bash_profile

2.2 Spark安装

brew install apache-spark

配置环境变量

export SPARK_PATH=/usr/local/Cellar/apache-spark/2.4.0
export PATH="$SPARK_PATH/bin:$PATH"

配置生效

source ~/.bash_profile

Spark安装更简单,可以通过执行一个例子检验是否正确安装。

run-example SparkPi

3.Kafka的安装

3.1 zookeeper安装

brew install zookeeper

3.2 kafka安装

brew install kafka

4. 总结

由于brewhome的存在,比之前自己手动下包安装方便太多了。基本按照这个流程没有问题,如果出错的话,还需要具体问题具体分析。

5参考文献

推荐阅读更多精彩内容