Mac 安装 hadoop

配置 ssh localhost(免密登录)

  1. Mac OS X只需在 系统偏好设置–>共享–>远程登录 勾选就可以使用ssh了
  2. ssh免密设置:终端输入
ssh-keygen -t rsa -P "" #直接enter yes
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

# 然后验证
ssh localhost
# 然后会突然进入本机的home地址

JDK安装

java -version

输出

java version "1.8.0_192"
Java(TM) SE Runtime Environment (build 1.8.0_192-b12)
Java HotSpot(TM) 64-Bit Server VM (build 25.192-b12, mixed mode)

brew 安装 hadoop

brew install hadoop
brew list hadoop

# 结果
==> Summary
?  /usr/local/Cellar/hadoop/3.1.2: 21,686 files, 774.1MB, built in 2 minutes 40 seconds

配置

  1. /usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/hadoop-env.sh
    配置本机的Java home。

获取本机Javahome方法/usr/libexec/java_home

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

  1. /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>

注: fs.default.name 保存了NameNode的位置,HDFS和MapReduce组件都需要用到它,这就是它出现在core-site.xml 文件中而不是 hdfs-site.xml文件中的原因。在该处配置HDFS的地址和端口号

  1. /usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/mapred-site.xml
<configuration>
    <property>
        <name>mapred.job.tracker</name>
        <value>localhost:9010</value>
    </property>
</configuration>

变量mapred.job.tracker 保存了JobTracker的位置,因为只有MapReduce组件需要知道这个位置,所以它出现在mapred-site.xml文件中。

  1. /usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/hdfs-site.xml
<configuration>
        <property>
             <name>dfs.replication</name>
             <value>1</value>
        </property>
        <property>
             <name>dfs.namenode.name.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/name</value>
        </property>
        <property>
             <name>dfs.datanode.data.dir</name>
             <value>file:/usr/local/hadoop/tmp/dfs/data</value>
        </property>
</configuration>

变量dfs.replication指定了每个HDFS默认备份方式通常为3, 由于我们只有一台主机和一个伪分布式模式的DataNode,将此值修改为1。

Hadoop 的运行方式是由配置文件决定的(运行 Hadoop 时会读取配置文件),因此如果需要从伪分布式模式切换回非分布式模式,需要删除 core-site.xml 中的配置项。此外,伪分布式虽然只需要配置 fs.defaultFS 和 dfs.replication 就可以运行(可参考官方教程),不过若没有配置 hadoop.tmp.dir 参数,则默认使用的临时目录为 /tmp/hadoo-hadoop,而这个目录在重启时有可能被系统清理掉,导致必须重新执行 format 才行。所以我们进行了设置,同时也指定 dfs.namenode.name.dir 和 dfs.datanode.data.dir,否则在接下来的步骤中可能会出错。

运行hadoop

到目录cd /usr/local/Cellar/hadoop/3.1.1/bin/

# 格式化hadoop系统的HDFS文件系统
./hadoop namenode -format

cd /usr/local/Cellar/hadoop/3.1.1/sbin/
./start-all.sh

http://localhost:9870 (Resource Manager)

http://localhost:8088(JobTracker)

http://localhost:8042(Specific Node Information)

参考

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值