作者:幻好

起源:恒生LIGHT云社区

概述

本文将通过虚拟机搭建单机伪集群的Hadoop服务,帮忙更好的学习和了解Hadoop大数据平台的运行原理。具体到每个细节,不便老手学习和了解。

环境筹备

  • Linux centos 7(虚拟机)
  • JDK1.8
  • Hadoop 2.5+

JDK零碎环境配置

首先查看零碎是否装置JDK,如果装置,确保零碎装置JDK版本在1.8+且不是OpenJDK,否则后续装置Hadoop可能会报错。
通过以下命令查看JDK版本:java -version

如果装置版本较低或者曾经装置了OpenJDK,能够通过命令进行卸载重装:
查看零碎装置的JDK包:rpm -qa|grep java
而后将查出的包进行一一删除:rpm -e --nodeps [包名]

装置JDK时,首先创立一个文件夹用来寄存JDK安装包,如下命令:
mkdir -p /opt/local/java/jdk
进入以上创立目录后,应用以下命令下载JDK包:
weget [https://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-linux-x64.tar.gz](https://repo.huaweicloud.com/java/jdk/8u192-b12/jdk-8u192-linux-x64.tar.gz)
下载实现后,对压缩包进行解压:
tar -zxvf jdk-8u192-linux-x64.tar.gz
解压实现后,配置零碎环境变量:
vi /etc/profile
向文件开端增加以下配置参数:

# jdk1.8export JAVA_HOME=/opt/local/java/jdk/jdk1.8.0_192export PATH=$PATH:$JAVA_HOME/binexport CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

配置实现后保留,刷新系统配置:
source /etc/profile
最初测验JDK是否失效:
java -version
打印以下日志信息即可。

系统配置

  1. 主机名配置

因为应用虚拟机搭建,ip可能并不是固定的,为了更好的拜访和辨认主机,咱们须要先批改主机名配置,前面间接应用主机名拜访服务。
查看主机目前的hostname:hostname
如果须要批改后的hostname能始终失效,则批改/etc/sysconfig/network文件,向文件新增以下参数:

NETWORKING=yesHOSTNAME=centos001.com

批改后,须要重启主机失效。
如果须要立刻失效,能够间接应用命令:
hostname centos001.com

  1. 防火墙配置

为了不便学习,先将防火墙敞开禁用,不便其余主机进行拜访。(当然也能够配置凋谢的端口)

  • 应用命令查看防火墙运行状态:systemctl status firewalld
  • 进行运行防火墙:service firewalld stop
  • 永远停用防火墙:systemctl disable firewalld

Hadoop部署装置

  1. Hadoop安装包筹备
  2. 首先创立寄存Hadoop安装包寄存的目录:

    • mkdir -p /home/local/hadoop
  3. 而后进入创立目录,下载Hadoop安装包:

    • wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
  4. 解压安装包:

    • tar -zxvf hadoop-2.10.1.tar.gz
  5. 配置Hadoop环境变量
  6. 为了不便后续间接应用命令行启动 Hadoop 相干服务,能够配置相干环境变量
  7. 进入配置文件 /etc/profile,向开端追加以下配置
export HADOOP_HOME=/home/local/hadoop/hadoop-2.10.1/export HADOOP_PREFIX=$HADOOP_HOMEexport HADOOP_MAPRED_HOME=$HADOOP_HOMEexport HADOOP_YARN_HOME=$HADOOP_HOMEexport HADOOP_COMMON_HOME=$HADOOP_HOMEexport HADOOP_HDFS_HOME=$HADOOP_HOMEexport YARN_HOME=$HADOOP_HOMEexport HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoopexport YARN_CONF_DIR=$HADOOP_HOME/etc/hadoopexport PATH=$PATH:$HADOOP_HOME/binexport PATH=$PATH:$HADOOP_HOME/sbin
  1. core-site.xml配置
  2. configuration 中增加以下配置参数:
    <property>        <name>fs.defaultFS</name>        <value>hdfs://centos001.com:8091</value>    </property>    <property>        <name>hadoop.tmp.dir</name>        <value>/home/local/hadoop/hadoop-2.10.1/data/tmp</value>    </property>
  • 上述不应用ip拜访而改用主机名拜访,这里配置HDFS的节点拜访。
  • hadoop.tmp.dir 是 Hadoop 文件系统依赖的根底配置,很多门路都依赖它。(如果hdfs-site.xml中不配置namenode和datanode的寄存地位,默认就放在这个门路中)。
  • 须要提前存储目录创立好:mkdir -p /home/local/hadoop/hadoop-2.10.1/data/tmp
  • hdfs-site.xml配置
  • 配置 HDFS 的 DataNode 的备份数量(默认数量为3),只单机模仿运行,配置1
    <property>        <name>dfs.replication</name>        <value>1</value>    </property>
  1. mapred-site.xml配置
  2. 这里配置Mapreduce的运行模式,罕用的就是生产:yarn,测试:local 两种模式。
    <property>        <name>mapreduce.framework.name</name>        <value>yarn</value>    </property>
  1. yarn-site.xml配置
  2. 配置资源服务的相干运行参数
<property>    <name>yarn.resourcemanager.hostname</name>    <value>centos001.com</value></property><property>    <name>yarn.nodemanager.aux-services</name>    <value>mapreduce_shuffle</value></property>
  1. slaves配置
  2. 因为只演示单机模式,slaves文件无需配置
  3. 脚本参数配置
  4. hadoop-env.sh中须要配置JDK感觉门路:JAVA_HOME,Hadoop配置门路:HADOOP_CONF_DIR
  5. yarn-env.sh中须要配置JDK感觉门路:JAVA_HOME
  6. mepre-env.sh中须要配置JDK感觉门路:JAVA_HOME

测试启动

首次启动格式化

如果第一次启动,须要先格式化 namenode

  • 通过命令:hdfs namenode -format
  • 如果看到打印以下日志,则示意格式化胜利

启动Hadoop

通过以下命令启动Hadoop相干服务节点:

  • hadoop-daemon.sh start namenode
  • hadoop-daemon.sh start datanode

启动后,能够通过命令:jps 查看服务是否胜利启动:

启动YARN

启动 Hadoop 相干服务节点后,在启动 Yarn 相干资源管理服务:

  • yarn-daemon.sh start resourcemanager
  • yarn-daemon.sh start nodemanager

启动后,能够通过命令:jps 查看服务是否胜利启动:

验证页面

服务启动胜利后,在咱们的PC(windows)上,配置域名映射。关上主机的hosts文件,配置以下参数:

  • 192.168.201.129 centos001.com

配置保留后,能够间接通过上述配置域名进行拜访Hadoop后盾监控页面:http://centos001.com:50070

总结

以上为单机伪集群的Hadoop搭建实际过程,为了帮忙老手更好的了解和学习 Hadoop ,实际能力出真知。

有任何问题,欢送一起探讨交换。


想向技术大佬们多多取经?开发中遇到的问题何处探讨?如何获取金融科技海量资源?

恒生LIGHT云社区,由恒生电子搭建的金融科技业余社区平台,分享实用技术干货、资源数据、金融科技行业趋势,拥抱所有金融开发者。

扫描下方小程序二维码,退出咱们!