Mac安装Hadoop

软件版本

hadoop3.2.1

 

一、打开本地ssh登录

# 生成公钥默认
$ ssh-keygen -t rsa -C "robots_wang@163.com" -b 4096
# 拷贝
$ cat ~/.ssh/id_rsa.pub
# 拷贝至电脑信任列表
$ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
测试:ssh localhost

二、安装Hadoop

【1】下载地址:

  https://archive.apache.org/dist/hadoop/common/

  解压:tar -zxvf hadoop-3.2.1.tar.gz -C /Users/mac/SoftWare

【2】配置环境变量

 vim ~/.bash_profile

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

export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export PATH="${JAVA_HOME}:${PATH}"

 

export HADOOP_HOME=/Users/mac/SoftWare/hadoop-3.2.1

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"

export PATH=${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin:$PATH

 

 source ~/.bash_profile

【3】修改配置文件(cd /Users/mac/SoftWare/hadoop-3.2.1/etc/hadoop)

hadoop-env.sh

修改JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_201.jdk/Contents/Home

core-site.xml

新加

<configuration>
    <property>
     <name>hadoop.tmp.dir</name>
     <value>file:/Users/mac/SoftWare/Cache/hadoop/tmp</value>
  </property>
  <property>
     <name>fs.defaultFS</name>
     <value>hdfs://localhost:9000</value>
  </property>

  <property>
    <name>hadoop.native.lib</name>
    <value>false</value>
    <description>Should native hadoop libraries, if present, be used.</description>
  </property>

</configuration>

hdfs-site.xml

新加

<configuration>
    <property>
         <name>dfs.replication</name>
         <value>1</value>
    </property>
    <property>
         <name>dfs.namenode.name.dir</name>
         <value>file:/Users/mac/SoftWare/Cache/hadoop/tmp/dfs/name</value>
    </property>
    <property>
         <name>dfs.namenode.data.dir</name>
         <value>file:/Users/mac/SoftWare/Cache/hadoop/tmp/dfs/data</value>
    </property>
</configuration>

mapred-site.xml

<configuration>
    <property>
         <name>mapreduce.framework.name</name>
         <value>yarn</value>
     </property>
    <property> 
        <name>mapreduce.application.classpath</name>
        <value>$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*</value>
    </property>
    <!-- spark配置日志 -->
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>localhost:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>localhost:19888</value>
    </property>
    <!-- 配置正在运行中的日志在hdfs上的存放路径 -->
    <property>
        <name>mapreduce.jobhistory.intermediate-done-dir</name>
        <value>/history/done_intermediate</value>
    </property>
    <!-- 配置运行过的日志存放在hdfs上的存放路径 -->
    <property>
        <name>mapreduce.jobhistory.done-dir</name>
        <value>/history/done</value>
    </property>
</configuration>

yarn-site.xml

<configuration>
    <!-- Site specific YARN configuration properties -->
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <property>
 <name>yarn.nodemanager.env-whitelist</name>
 <value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
    </property>
    <!-- 日志设置 -->
    <property>
        <description>Whether to enable log aggregation</description>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
</configuration>

mac的因为/bin/java 的特殊配置

修改
$HADOOP_HOME/libexec/hadoop-config.sh
在注释下新增JAVA_HOME
# do all the OS-specific startup bits here
# this allows us to get a decent JAVA_HOME,
# call crle for LD_LIBRARY_PATH, etc.
export JAVA_HOME=/Library/Java/JavaVirtualMachines/jdk1.8.0_311.jdk/Contents/Home

 

三、启动Hadoop

【1】初始化Hadoop仅一次

cd /Users/mac/SoftWare/hadoop-3.2.1/bin

hdfs namenode -format

 

 

 【2】启动dfs

cd /Users/mac/SoftWare/hadoop-3.2.1/sbin

./start-dfs.sh

域名:http://localhost:9870

HDFS文件系统地址:http://localhost:9870/explorer.html#

 

 

Starting namenodes on [localhost]

Starting datanodes

Starting secondary namenodes [account.jetbrains.com]

account.jetbrains.com: Warning: Permanently added 'account.jetbrains.com,0.0.0.0' (ECDSA) to the list of known hosts.

2021-07-29 11:42:41,550 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

【3】启动yarn

./start-yarn.sh

http://localhost:8088

 

【4】jobhistory的启动与停止

启动: 在hadoop/sbin/目录下执行

./mr-jobhistory-daemon.sh start historyserver

停止:在hadoop/sbin/目录下执行

./mr-jobhistory-daemon.sh stop historyserver

【5】提交spark任务

spark-submit --master yarn --deploy-mode cluster --class org.apache.spark.examples.SparkPi --name SparkPi --num-executors 1 --executor-memory 1g  --executor-cores 1 /Users/Robots2/softWare/spark-3.1.3/examples/jars/spark-examples_2.12-3.1.3.jar 100

 

参考文档

https://blog.csdn.net/pgs1004151212/article/details/104391391

 

 

 

 

 

 

 

 

 

 

 

 

posted @ 2021-07-28 17:11  Robots2  阅读(453)  评论(0)    收藏  举报