前言
尝试了一下Hadoop搭建并做了如下记录
基础准备
软件及环境准备
| 软件名称 | 版本 | 描述 |
|---|---|---|
| VirtualBox或VMware | 14 | |
| CentOS7 | 7.5 | |
| JDK | 1.8 | |
| Hadoop | 3.1.2 | hadoop-3.1.2.tar.gz |
机器节点规划
- Hadoop五个节点HA规划 | HostName | IP | NameNode | DataNode | ZooKeeper | ZKFC | JouaryNode | | —- | —- | —- | —- | —- | —- | —- | | node1 | 192.168.233.101 | | | | | | | node2 | 192.168.233.102 | | | | | | | node3 | 192.168.233.103 | | | | | | | node4 | 192.168.233.104 | | | | | | | node5 | 192.168.233.105 | | | | | * |
注:ZooKeeper和JouaryNode是可以共享的
相关路径创建
- 基础软件安装配置路径 | 路径 | 注释 | | —- | —- | | /opt/basics | 基础路径 | | /opt/basics/java/ | JDK路径 | | /opt/bigdata/hadoop/ | Hadoop路径 | | /opt/bigdata/zookeeper/ | ZooKeeper安装路径 |
系统基础配置(root用户)
基本组件安装
- 安装net-tools vim wge ntp 等基础工具
注:如果系统是最小化安装的,以上工具组件可能没有集成,需要另外安装yum install -y net-tools vim* wget ntp telnet
设置HostName和Hosts
- 链接-CentOS7设置hostname和hosts
- 根据规划将下面内容写入hosts
192.168.233.101 node1
192.168.233.102 node2
192.168.233.103 node3
192.168.233.104 node4
192.168.233.105 node5
关闭SELINUX
临时关闭
setenforce 0
永久关闭
vim /etc/selinux/config
SELINUX=disabled #将SELINUX的值由enforcing改为disabled
设置静态IP地址
- 链接-设置静态IP地址
注:IP根据自己的节点规划进行相应的配置
关闭防火墙
配置免密登陆
- 链接-配置免密登陆
需要免密钥的两种场景:- 管理脚本:远程管理其他节点启停服务时需要免密钥
- NameNode:搭建HA的时候,需要免密钥控制对方和自己
环境配置
JDK环境配置
ZooKeeper分布式集群搭建配置
- 链接-Linux下ZooKeeper分布式集群搭建
注:根据节点规划,调整相应的配置
Hadoop相关配置
安装及环境变量配置
创建Hadoop路径
mkdir -p /opt/basics/hadoop/
将事先准备好的hadoop-3.1.2.tar.gz文件上传至/opt/basics/hadoop路径
执行解压命令
tar -xvzf hadoop-3.1.2.tar.gz
配置环境变量,在末尾追加hadoop相关配置
vim ~/.bashrc
HADOOP_HOME=/opt/basics/hadoop/hadoop-3.1.2HADOOP_CONF_DIR=HADOOP_HOME/etc/hadoopPATH=HADOOP_HOME/sbin:$PATHexport HADOOP_HOME HADOOP_CONF_DIR YARN_CONF_DIR PATH
使配置立即生效
source ~/.bashrc
验证是否安装成功
hadoop version
Hadoop配置
切换到hadoop路径下
注:本章节下文配置均在此目录中
cd $HADOOP_HOME/etc/hadoop
| 涉及文件 | 描述 | | —- | —- | | hadoop-env.sh | | | core-site.xml | | | workers | DataNode节点信息 | | hdfs-site.xml | SecondaryNameNode相应内容 | | | | | | |
编辑core-site.xml文件,配置NameNode相应内容
vi core-site.xml
fs.defaultFS hdfs://node1:9000 hadoop.tmp.dir /var/bigdata/hdfs/full io.file.buffer.size 4096
编辑workers文件,配置DataNode相应内容
vi workers
node3 node4 node5
编辑hdfs-site.xml文件,配置SecondaryNameNode相应内容
vi hdfs-site.xml
dfs.replication 3 dfs.namenode.secondary.http-address node2:9001 dfs.webhdfs.enabled true
格式化NameNode
执行格式化NameNode
hdfs namenode -format
启动hdfs
start-dfs.sh
访问hdfs
- 访问下面地址
注:Hadoop从3.1.0开始hdfs默认访问端口从50070改为9870http://192.168.233.101:9870
