共计 3683 个字符,预计需要花费 10 分钟才能阅读完成。
作者:幻好
起源:恒生 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.8
export JAVA_HOME=/opt/local/java/jdk/jdk1.8.0_192
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
配置实现后保留,刷新系统配置:source /etc/profile
最初测验 JDK 是否失效:java -version
打印以下日志信息即可。
系统配置
- 主机名配置
因为应用虚拟机搭建,ip 可能并不是固定的,为了更好的拜访和辨认主机,咱们须要先批改主机名配置,前面间接应用主机名拜访服务。
查看主机目前的 hostname:hostname
如果须要批改后的 hostname 能始终失效,则批改 /etc/sysconfig/network 文件,向文件新增以下参数:
NETWORKING=yes
HOSTNAME=centos001.com
批改后,须要重启主机失效。
如果须要立刻失效,能够间接应用命令:hostname centos001.com
- 防火墙配置
为了不便学习,先将防火墙敞开禁用,不便其余主机进行拜访。(当然也能够配置凋谢的端口)
- 应用命令查看防火墙运行状态:
systemctl status firewalld
- 进行运行防火墙:
service firewalld stop
- 永远停用防火墙:
systemctl disable firewalld
Hadoop 部署装置
- Hadoop 安装包筹备
-
首先创立寄存 Hadoop 安装包寄存的目录:
mkdir -p /home/local/hadoop
-
而后进入创立目录,下载 Hadoop 安装包:
wget --no-check-certificate https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.10.1/hadoop-2.10.1.tar.gz
-
解压安装包:
tar -zxvf hadoop-2.10.1.tar.gz
- 配置 Hadoop 环境变量
- 为了不便后续间接应用命令行启动 Hadoop 相干服务,能够配置相干环境变量
- 进入配置文件 /etc/profile,向开端追加以下配置
export HADOOP_HOME=/home/local/hadoop/hadoop-2.10.1/
export HADOOP_PREFIX=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop
export YARN_CONF_DIR=$HADOOP_HOME/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
- core-site.xml 配置
- 向
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>
- mapred-site.xml 配置
- 这里配置 Mapreduce 的运行模式,罕用的就是生产:
yarn
,测试:local
两种模式。
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
- yarn-site.xml 配置
- 配置资源服务的相干运行参数
<property>
<name>yarn.resourcemanager.hostname</name>
<value>centos001.com</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
- slaves 配置
- 因为只演示单机模式,slaves 文件无需配置
- 脚本参数配置
- hadoop-env.sh 中须要配置 JDK 感觉门路:
JAVA_HOME
,Hadoop 配置门路:HADOOP_CONF_DIR
- yarn-env.sh 中须要配置 JDK 感觉门路:
JAVA_HOME
- 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 云社区,由恒生电子搭建的金融科技业余社区平台,分享实用技术干货、资源数据、金融科技行业趋势,拥抱所有金融开发者。
扫描下方小程序二维码,退出咱们!