美文网首页
Mac下使用homebrew安装Hadoop-3.1.1记录

Mac下使用homebrew安装Hadoop-3.1.1记录

作者: PC_Repair | 来源:发表于2018-09-26 20:39 被阅读571次

    环境说明

    • macOS Sierra 10.12.6
    • JDK 1.8.0_101
    • hadoop 3.1.1
    • homebrew

    homebrew安装

    • HomeBrew 是OSX中的方便的套件管理工具。采用Homebrew安装Hadoop非常简洁方便(中文官网:http://brew.sh/index_zh-cn.html
      复制如下代码安装:
    /usr/bin/ruby -e "$(curl -fsSL https://raw.githubusercontent.com/Homebrew/install/master/install)"
    

    配置 ssh localhost(免密登录)

    • 脱坑参考文章:(https://www.imooc.com/article/37545)
    • 因为安装hadoop需要远程登入的功能,所以需要安装ssh工具,但Mac下自带ssh,所以不需要安装ssh。可以通过如下命令验证:
    $ which ssh
    /usr/bin/ssh
    $ which sshd
    /usr/sbin/sshd
    $ which ssh-keygen
    /usr/bin/ssh-keygen
    
    • Mac OS X只需在 系统偏好设置-->共享-->远程登录 勾选就可以使用ssh了。
      系统偏好设置.png

    注意:如果没有执行远程登陆勾选操作,在运行ssh localhost的时候会出现:mac ssh: connect to host localhost port 22: Connection refused。

    • ssh免密设置:终端输入
    ssh-keygen -t rsa -P ""
    cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
    
    • 确认能否不输入口令就用ssh登录localhost:
    $ ssh localhost
    

    JDK安装

    • 查看java版本
    $ java -version
    
    • 终端输出如下
    java version "1.8.0_101"
    Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
    Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
    

    brew 安装 hadoop

    • 安装命令
    $ brew install hadoop
    
    • 安装结果
    ==> 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.1.1: 21,637 files, 770.9MB, built in 5 minutes 26 seconds
    
    • 查看安装目录
    $ brew list hadoop
    

    配置Hadoop相关文件(此处伪分布式,还有单机模式和完全分布式模式)

    • 修改/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/hadoop-env.sh,添加内容如下:
    export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_101.jdk/Contents/Home
    
    • 修改/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的地址和端口号。

    • 修改/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文件中。

    • 修改/usr/local/Cellar/hadoop/3.1.1/libexec/etc/hadoop/hdfs-site.xml,添加内容如下:
    <configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
    </configuration>
    

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

    配置完毕,运行hadoop

    • 跳转目录cd /usr/local/Cellar/hadoop/3.1.1/bin/
    • 启动hadoop之前需要格式化hadoop系统的HDFS文件系统
    $ hadoop namenode -format
    
    • 接着进入cd /usr/local/Cellar/hadoop/3.1.1/sbin/,执行
    $ ./start-all.sh
    

    或者分开启动:

    $ ./start-dfs.sh
    $ ./start-yarn.sh
    

    警告:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable 这对Hadoop的运行没有影响

    • jps命令查看java进程
    jps.png

    通过访问以下网址查看hadoop是否启动成功

    Resource Manager: http://localhost:50070

    • 坑:Hadoop3.0中namenode的默认端口配置发生变化:从50070改为9870,Resource Manager: http://localhost:9870

    JobTracker: http://localhost:8088
    Specific Node Information: http://localhost:8042

    退出hadoop

    • 进入目录cd /usr/local/Cellar/hadoop/3.1.1/sbin/
    • 执行命令
    $ ./stop-all.sh
    

    运行界面截图

    9870.png
    8088.png
    8042.png

    相关文章

      网友评论

          本文标题:Mac下使用homebrew安装Hadoop-3.1.1记录

          本文链接:https://www.haomeiwen.com/subject/tlpjoftx.html