栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 前沿技术 > 大数据 > 大数据系统

【Hadoop】基于Docker搭建集群环境

【Hadoop】基于Docker搭建集群环境

Docker-Hadoop集群

文章目录
  • Docker-Hadoop集群
  • 1. Hadoop完全分布式集群步骤总结
  • 2. 集群环境前的准备
    • 2.1 安装 Vim 更新 APT
    • 2.2 安装网络配置工具 & wget工具
    • 2.3 安装 SSH设置无密码登陆
    • 2.4 安装 JDK
    • 2.5 安装 Mysql
  • 3. 准备集群必要组件
    • 版本说明
    • 3.1 安装 Hadoop
    • 3.2 安装 Hbase
    • 3.3 安装 Hive
    • 3.4 安装 Kafka
    • 3.5 安装 Flume
    • 3.6 保存当前容器为镜像

1. Hadoop完全分布式集群步骤总结

本篇博文主要是1-6的步骤。

  1. 更新apt ——APT是Advanced Packaging Tool的缩写,是一款强大的包管理工具,也可以称作机制,通过终端安装软件一般是使用apt instll 命令
  1. 安装vim —— 文本编辑器,是编辑环境变量以及配置文件最常用的文本编辑器
  1. 安装sshd —— 无密码登陆服务,用于集群各节点之间的无密码访问
  1. 安装JDK —— Hadoop的底层HDFS和MapReduce都是基于Java语言实现的,所以需要JVM环境
  1. 下载Hadoop集群相关资源,并设置配置文件
  1. 做好以上准备工作后,将当前的容器保存为一个新镜像
  1. 以新镜像开启所需的节点个数,每个节点作为集群的一个节点
  1. 创建容器后,测试ssh是否有效,各节点之间必须支持无密码登陆
  1. 配置各节点的 etc/hosts 文件,设置主机名与IP之间的映射
  1. 在多个节点中挑选一个节点作为Master节点,其他节点则作为Slave节点
  1. 在主节点中配置集群的副节点 在主节点中修改Hadoop下的./etc/hadoop/workers (当前是Hadoop 3.x.x版本 ,之前的版本是slave文件)
  1. 在主节点启动集群,首次启动需初始化Namenode
  1. JPS查看进程,主节点包括NameNode、SecondaryNamenode、ResourceManager,副节点包括NodeManager和DataNode
  1. 在HDFS创建目录,并上传Hadoop下的配置文件,测试运行分布式实例,查询HDFS里的结果文本
2. 集群环境前的准备

准备Ubuntu镜像

sudo docker pull ubuntu

创建Docker内部传输文件目录

sudo mkdir /usr/local/dockerbuild

创建容器

sudo docker run -it -v /usr/local/dockerbuild:/root/build/ --name pc1 ubuntu
2.1 安装 Vim 更新 APT

先安装好vim之后再修改镜像源

apt-get update
apt-get install vim

设置系统镜像源,使用apt-get install 安装软件会更快

参考资料:https://developer.aliyun.com/mirror/ubuntu?spm=a2c6h.13651102.0.0.3e221b11KruDiG

【1】 备份系统原镜像文件 sources.list后删除原文件

cd /etc/apt
cp sources.list sources.list.bak
rm -rf sources.list
vim sources.list

【2】创建阿里云镜像源站的sources.list文本文件

创建sources.list 并加入一下内容

deb http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-security main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-updates main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-proposed main restricted universe multiverse

deb http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse
deb-src http://mirrors.aliyun.com/ubuntu/ focal-backports main restricted universe multiverse

接着 按 ESC -> 冒号: -> wq 保存退出

【3】 更新APT源

apt-get update

2.2 安装网络配置工具 & wget工具
apt-get install net-tools 

apt-get install -y wget

2.3 安装 SSH设置无密码登陆

安装 ssh

apt-get install ssh

选择时区,先选6 亚洲 (两次回车)再选 70 上海

开启 ssh服务

/etc/init.d/ssh start

设置系统启动时自动开启ssh服务

vim ~/.bashrc
# 在最后一行加入下面内容
# /etc/init.d/ssh start
# :wq保存退出
source ~/.bashrc

配置无密码登陆服务

# 第一条命令输入后需按多次回车
ssh-keygen -t rsa 
cd ~/.ssh
cat /root/.ssh/id_rsa.pub >> authorized_keys

测试一下 ssh localhost

ssh localhost
# 输入yes后回车


输入exit 可退出当前的ssh连接模式,接下来进行第二次测试

至此,单个容器的SSH已配置完毕,由于到时候会克隆出多个节点,其中的SSH信息都是相同的,所以可直接互相ssh无密码登陆,如果是不同的机器,得通过复制公钥步骤如下:(主节点需提前完成 ssh localhost的操作)

【1】主节点复制一份公钥到根目录下

在主节点输入下面的命令

scp .ssh/id_rsa.pub root@slave:~/id_rsa_master.pub

【2】将主节点根目录下的id_rsa_master.pub 拷贝到 所有子节点的根目录

在子节点输入下面的命令

cat ~/id_rsa_master.pub >> .ssh/authorized_key
2.4 安装 JDK

从清华大学开源软件镜像站下载JDK,速度比较快

原网址https://mirrors.tuna.tsinghua.edu.cn/

cd /usr/local

wget https://mirrors.tuna.tsinghua.edu.cn/AdoptOpenJDK/8/jdk/x64/linux/OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz

tar -zxvf OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz -C ./

rm -rf OpenJDK8U-jdk_x64_linux_hotspot_8u302b08.tar.gz

mv jdk8u302-b08/ jdk8

配置环境变量

添加内容为:

export JAVA_HOME=/usr/local/jdk8
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
vim ~/.bashrc
# ESC -> :wq -> 回车 保存退出
source ~/.bashrc
java -version 

2.5 安装 Mysql

因为Ubuntu20.04 版本默认镜像下载的Mysql版本是8.0版本,其速度比5.7稍微慢一点,所以就安装5.7的版本,但是安装非常麻烦,目前尝试没有可用的镜像源可以安装Mysql5.7, 暂时就用8.x版本吧

安装 Mysql 8(5.7版本安装时会提示输入密码)

apt-get install mysql-server

启动 Mysql 服务(安装后会自动启动,现在手动关闭在打开)

service mysql stop

service mysql start

netstat -tap | grep mysql

设置密码(一开始没有密码,直接回车就能登陆)

mysql -u root -p

ALTER USER 'root'@'localhost' IDENTIFIED WITH mysql_native_password BY '123456'; 

设置完毕。

3. 准备集群必要组件
版本说明

接下来的安装步骤依旧在Docker容器里面进行。

组件名版本号
Hadoop3.3.1
Hbase2.4.6
Hive3.1.2
Kafka2.8.1
Flume1.9.0
3.1 安装 Hadoop

国外镜像地址 : https://archive.apache.org/dist/hadoop/common/(下载速度会比较慢)

国内清华大学镜像地址:https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/

我的方法是先在浏览器里访问该网址,找到对应版本的tar包后,复制链接到Ubuntu里通过wget命令下载

接下来以 Hadoop 3.3.1 版本为例

下载、解压、修改文件夹名为hadoop 和 jdk下载步骤一致,暂时不配置环境变量

3.3.1 版本的下载链接为
https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

解压后记得删除原压缩包,尽量节省容器空间

cd /usr/local

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-3.3.1/hadoop-3.3.1.tar.gz

tar -zxvf hadoop-3.3.1.tar.gz -C ./

rm -rf hadoop-3.1.3.tar.gz

mv hadoop-3.3.1 hadoop
3.2 安装 Hbase

清华大学镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/

cd /usr/local

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hbase/2.4.6/hbase-2.4.6-bin.tar.gz

tar -zxvf hbase-2.4.6-bin.tar.gz -C ./

rm -rf hbase-2.4.6-bin.tar.gz

mv hbase-2.4.6 hbase
3.3 安装 Hive

清华大学镜像站下载:https://mirrors.tuna.tsinghua.edu.cn/apache/hive/

cd /usr/local

wget https://mirrors.tuna.tsinghua.edu.cn/apache/hive/hive-3.1.2/apache-hive-3.1.2-bin.tar.gz

tar -zxvf apache-hive-3.1.2-bin.tar.gz -C ./

rm -rf apache-hive-3.1.2-bin.tar.gz

mv  apache-hive-3.1.2-bin hive
3.4 安装 Kafka

https://mirrors.tuna.tsinghua.edu.cn/apache/kafka

cd /usr/local

wget https://mirrors.tuna.tsinghua.edu.cn/apache/kafka/2.8.1/kafka_2.12-2.8.1.tgz

tar -zxvf kafka_2.12-2.8.1.tgz -C ./ 

rm -rf kafka_2.12-2.8.1.tgz

mv kafka_2.12-2.8.1/ kafka
3.5 安装 Flume

https://mirrors.tuna.tsinghua.edu.cn/apache/flume/

cd /usr/local

wget https://mirrors.tuna.tsinghua.edu.cn/apache/flume/1.9.0/apache-flume-1.9.0-bin.tar.gz

tar -zxvf apache-flume-1.9.0-bin.tar.gz -C ./

rm -rf apache-flume-1.9.0-bin.tar.gz

mv apache-flume-1.9.0-bin apache
3.6 保存当前容器为镜像

由于资源比较大,所以会加载一段时间

sudo docker commit -p pc1 ubuntu/hadoop


至此,基于Docker搭建Hadoop集群环境就结束了。

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/327203.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号