hadoop-单节点伪分布式搭建

操做系统: macOS Mojave 10.14.5java

JDK : 1.8node

hadoop: 2.7.7web

1. Java和Hadoop安装

下载和安装相信都没问题bash

注意的就是:服务器

  • 环境变量设置好,我是mac因此javahome是$(/usr/libexec/java_home);我是zsh因此修改.zshrc,修改完别忘了source。
#JAVA_HOME
export JAVA_HOME=$(/usr/libexec/java_home)
export PATH=$JAVA_HOME/bin:$PATH
#HADOOP_HOME
export HADOOP_HOME=/usr/local/hadoop-2.7.7
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
复制代码
  • 因为我将hadoop放在/usr/local/目录下,因此须要更改hadoop文件夹权限
sudo chown -R zxy:admin /usr/local/hadoop-2.7.7
复制代码

2. 配置SSH

ssh-keygen -t rsa -P ""
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 测试
ssh localhost
复制代码

3. 伪分布式配置

core-site.xml

修改 /usr/local/hadoop-2.7.7/etc/hadoop/core-site.xmlapp

<configuration>
    <property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
    </property>
    <property>
        <name>hadoop.tmp.dir</name>
        <value>/usr/local/hadoop-2.7.7/data/tmp</value>
    </property>
</configuration>
复制代码
  • fs.defaultFS HDFS 的NameNode地址ssh

  • hadoop.tmp.dir hadoop 临时文件地址,本身指定webapp

hdfs-site.xml

修改 /usr/local/hadoop-2.7.7/etc/hadoop/hdfs-site.xml分布式

<configuration>
        <property>
            <name>dfs.replication</name>
            <value>1</value>
        </property>
</configuration>
复制代码
  • dfs.replication HDFS文件存储的副本个数,默认3。由于咱们这只有一个节点,因此设置1.(单一节点至多存一份副本)

yarn-site.xml

修改 /usr/local/hadoop-2.7.7/etc/hadoop/yarn-site.xmloop

<configuration>
    <property>
        <name>yarn.resourcemanager.hostname</name>
        <value>localhost</value>
    </property>
    <property>
        <name>yarn.nodemanager.aux-services</name>
        <value>mapreduce_shuffle</value>
    </property>
    <!-- 开启聚合日志 -->
    <property>
        <name>yarn.log-aggregation-enable</name>
        <value>true</value>
    </property>
    <property>
        <name>yarn.log.server.url</name>
        <value>http://localhost:19888/jobhistory/logs</value>
    </property>
</configuration>
复制代码
  • arn.log-aggregation-enable 开启日志聚合
  • yarn.resourcemanager.hostname yarn的ResourceManager地址

mapred-site.xml

修改 /usr/local/hadoop-2.7.7/etc/hadoop/mapred-site.xml

<configuration>
    <property>
        <name>mapreduce.framework.name</name>
        <value>yarn</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.address</name>
        <value>localhost:10020</value>
    </property>
    <property>
        <name>mapreduce.jobhistory.webapp.address</name>
        <value>localhost:19888</value>
    </property>
</configuration>
复制代码
  • mapreduce.framework.name 采用yarn管理MR
  • mapreduce.jobhistory.address 历史服务器端口地址
  • mapreduce.jobhistory.webapp.address 历史服务器web端地址

检查JAVA_HOME

hadoop-env.sh、mapred-env.sh、yarn-env.sh,在这三个文件检查是否添加JAVA_HOME路径,以下:

export JAVA_HOME=$JAVA_HOME
复制代码

4. 使用

  • 开HDFS

第一次使用要格式化(仅限第一次使用时,之后要格式化需删除log、data目录下的文件)

hadoop namenode -format
复制代码

开启namenode、datanode

hadoop-daemon.sh start namenode
hadoop-daemon.sh start datanode
复制代码
  • 开yarn
yarn-daemon.sh start resourcemanager
yarn-daemon.sh start nodemanager
复制代码
  • 开historyserver
mr-jobhistory-daemon.sh start historyserver
复制代码
  • 能够用jps查看效果
jps
35953 JobHistoryServer
32930
35682 NodeManager
35990 Jps
35559 DataNode
35624 ResourceManager
35502 NameNode
复制代码
  • 测试

建立一个文件夹zxytest,里面随便放一个文件,上传到hdfs测试wordcount

hdfs dfs -put zxytest /
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar wordcount /zxytest /zxyout
复制代码
  • 关闭
mr-jobhistory-daemon.sh stop historyserver
yarn-daemon.sh stop resourcemanager
yarn-daemon.sh stop nodemanager
hadoop-daemon.sh stop namenode
hadoop-daemon.sh stop datanode
复制代码
  • 可视化地址

全部任务: http://localhost:8088/

DataNode: http://localhost:50070/

历史服务器: http://localhost:19888/

相关文章
相关标签/搜索