macOS 安装 Hadoop

默认 JAVA 已安装成功

第一步:安装 HomeBrew ,HomeBrew 官网:https://brew.sh/

打开 Mac 终端,复制下面的话并回车

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

第二步:配置SSH

为了确保在远程管理 Hadoop 以及 Hadoop 节点用户共享时的安全性, Hadoop 需要配置使用SSH协议。

1.设置:系统偏好设置->共享->打开远程登录服务->右侧选择允许所有用户访问。

2.在终端输入:ssh localhost,如果终端有返回 Last login: Tue Oct 22 16:47:46 2019,

说明你之前成功配置了SSH keys,

如果「没有返回上述内容」或「即使出现上述情况,但在此之前你并没有配置过 SSH 」或「有多个秘钥」也需要使用 id_rsa.pub 

在终端输入:

ssh-keygen -t rsa

执行上述命令会在当前用户目录下的.ssh文件夹(是一个隐藏文件)中生成一个id_rsa文件, 然后继续执行如下命令:

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

用于授权你的公钥到本地可以避免每次登陆时都要询问你的密码,再次输入 ssh localhost

若返回 Last login: Tue Oct 22 16:58:29 2019 from ::1 ,那么你就成功完成了SSH的配置。

第三步:安装 Hadoop

在终端下执行命令 brew install hadoop

brew install hadoop
########?为终端输出内容?########
Updating Homebrew...
==> Auto-updated Homebrew!
Updated 1 tap (homebrew/core).
No changes to formulae.

==> Downloading https://www.apache.org/dyn/closer.cgi?path=hadoop/common/hadoop-
==> Downloading from http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ha
######################################################################## 100.0%
?  /usr/local/Cellar/hadoop/3.2.1: 22,397 files, 815.6MB, built in 2 minutes 32 seconds

安装完成后,Hadoop 被安装到 /usr/local/Cellar/hadoop/ 中,需要完成如下配置才算成功安装 Hadoop

1.找到 usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop 目录下,打开 hadoop-env.sh 文件,找到其中一行:

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true" 

将其修改为:
 

export HADOOP_OPTS="$HADOOP_OPTS -Djava.net.preferIPv4Stack=true -Djava.security.krb5.realm= -Djava.security.krb5.kdc="

export JAVA_HOME="/Library/Java/JavaVirtualMachines/jdk1.8.0_221.jdk/Contents/Home/"#改为自己JDK目录 

2.然后要配置 hdfs 的地址和端口号,在 usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop 目录下,打开 core-site.xml,会发现 core-site.xml 文件中的 <configuration></configuration> 标签中间的内容为空,需要我们自己加入如下配置信息:

<!-- Put site-specific property overrides in this file. -->

<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:8020</value>
  </property>
</configuration>

3.再然后就是设置 map-reduce 中 jobtracker 的地址和端口号,在目录 usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop 下,找到 mapred-site.xml 文件,在其内加上:

<!-- Put site-specific property overrides in this file. -->

<configuration>
	<property>
        <name>mapred.job.tracker</name>
        <value>localhost:8021</value>
      </property>
</configuration>

4.最后要设置hdfs的默认备份方式,默认值是3,在伪分布式系统中,需要修改为1。在目录usr/local/Cellar/hadoop/3.2.1/libexec/etc/hadoop 下,找到 hdfs-site.xml 文件,在其内加上:

<!-- Put site-specific property overrides in this file. -->

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

5.在运行 Hadoop 前, 需要格式化新安装的 HDFS, 并通过创建存储目录和初始化元数据创新空的文件系统, (在上述目录下)执行命令:

hdfs namenode -format

第四步:启动

/usr/local/Cellar/hadoop/3.2.1/sbin/ 目录下执行如下命令

./start-dfs.sh    #启动HDFS
./stop-dfs.sh     #停止HDFS

在启动过程中出现了 Permission denied (publickey,password,keyboard-interactive).

这个问题就需要在配置 SSH 中完成 「ssh-keygen -t rsa 」及「cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys」即可解决

启动成功本地服务后,在浏览器中输入如下网址:http://localhost:9870 就可以看到Hadoop的页面。

 

/usr/local/Cellar/hadoop/3.2.1/sbin/ 目录下执行如下命令

./start-yarn.sh     #启动yarn,一个MapReduce框架 
./stop-yarn.sh      #停止yarn

在浏览器中打开 http://localhost:8088http://localhost:8042 会出现相应的界面

如果嫌麻烦的话可以直接运行:

./start-all.sh    #启动Hadoop 
./stop-all.sh     #停止Hadoop

该命令可以同时开启/关闭上述三个本地服务。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值