当前位置 博文首页 > ?:Docker学习之路06:基于 Docker 在Ubuntu系统部署Hadoop、Hba
Docker学习路线传送门:
Docker学习之路01:Docker的安装
Docker学习之路02:阿里云镜像加速器
Docker学习之路03:Docker的常用命令
Docker学习之路04:创建定制Nginx镜像
Docker学习之路05:五分钟用docker compose搭建一个自己的个人博客网站!
Docker学习之路06:基于 Docker 在Ubuntu系统部署Hadoop、Hbase以及Spark
前期需要安装docker和配置镜像加速器
如果还不会的同学可以看下我的《Docker学习之路01:Docker的安装》和《Docker学习之路02:阿里云镜像加速器》
然后今天我们需要基于Docker构建Hadoop平台,通过此平台我们可以更加方便地完成MapReduce等操作
提醒!!!
由于此项目需要在一台虚拟机上部署3个节点,因此比较消耗内存,需要大家将虚拟机内存调到4G以上!
其中,我们是使用 Ubuntu 16.04 系统,如果需要使用其他的系统,则对此篇文章的操作稍作修改即可!
1.启动 Docker 服务
[root@master ~]# service docker start
2.显示 Docker 中所有正在运行的容器
[root@master ~]# docker ps
由于 Docker 刚刚才安装,我们没有运行任何容器,所以显示结果如下所示
3.Hadoop 集群单独构建一个虚拟的网络
[root@master ~]# docker network create --driver=bridge hadoop
查看 Docker 中的网络
[root@master ~]# docker network ls
4.查找 ubuntu 容器
[root@master ~]# docker search ubuntu
5.下载 ubuntu 16.04 版本的镜像文件
[root@master ~]# docker pull ubuntu:16.04
16.04: Pulling from library/ubuntu
92473f7ef455: Pull complete
fb52bde70123: Pull complete
64788f86be3f: Pull complete
33f6d5f2e001: Pull complete
Digest: sha256:eed7e1076bbc1f342c4474c718e5438af4784f59a4e88ad687dbb98483b59ee4
Status: Downloaded newer image for ubuntu:16.04
docker.io/library/ubuntu:16.04
6.查看已经下载的镜像
[root@master ~]# docker images
7.修改 apt 源
7.1 备份一份apt源,防止丢失
root@b426059fcd58:/# cp /etc/apt/sources.list /etc/apt/sources_init.list
7.2 先删除就源文件,这个时候没有 vim 工具
root@b426059fcd58:/# rm /etc/apt/sources.list
7.3 使用 echo 命令将阿里源写入新文件
root@b426059fcd58:/# echo " deb http://mirrors.aliyun.com/ubuntu/ xenial main
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
>
> deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
>
> deb http://mirrors.aliyun.com/ubuntu/ xenial universe
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
> deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
>
> deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
> deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
> deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe" > /etc/apt/sources.list
阿里源如下:
deb http://mirrors.aliyun.com/ubuntu/ xenial main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial main
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates main
deb http://mirrors.aliyun.com/ubuntu/ xenial universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-updates universe
deb http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security main
deb http://mirrors.aliyun.com/ubuntu/ xenial-security universe
deb-src http://mirrors.aliyun.com/ubuntu/ xenial-security universe
7.4 查看sources.list文件
root@b426059fcd58:/# cat /etc/apt/sources.list
7.5 再使用 apt update 来更新
root@b426059fcd58:/# apt update
1.安装 jdk 1.8
root@b426059fcd58:/# apt install openjdk-8-jdk
测试一下安装结果
root@b426059fcd58:/# java -version
2.安装 Scala
root@b426059fcd58:/# apt install scala
测试一下安装结果
root@b426059fcd58:/# scala
1.安装 vim,用来编辑文件
root@b426059fcd58 :/# apt install vim
2.安装 net-tools
root@b426059fcd58 :/# apt install net-tools
3.安装 SSH
root@b426059fcd58 :/# apt-get install openssh-server
4.安装 SSH 的客户端
root@b426059fcd58 :/# apt-get install openssh-client
root@b426059fcd58:/# cd ~
root@b426059fcd58:~# ssh-keygen -t rsa -P "?
5.启动 SSH 服务
root@b426059fcd58:~# service ssh start
6.免密登录自己
root@b426059fcd58:~# ssh 127.0.0.1
7.设置自启SSH服务
root@b426059fcd58:~# vim ~/.bashrc
添加内容如下:
service ssh start
7.安装 Hadoop
7.1下载 Hadoop 的安装文件并传入docker
[root@master software]# docker cp hadoop-3.2.0.tar.gz b426059fcd58:/opt/software
7.2解压到 /usr/local 目录下面并重命名文件夹
root@b426059fcd58:# mkdir /opt/software
root@b426059fcd58:/opt/software# tar -zxvf hadoop-3.2.0.tar.gz -C /usr/local/
root@b426059fcd58:/opt/software# cd /usr/local/
root@b426059fcd58:/usr/local# mv hadoop-3.2.0 hadoop
7.3 配置profile 文件
查看使用apt安装java的路径
root@b426059fcd58:/usr/local# update-alternatives --config java
root@b426059fcd58:/usr/local# vim /etc/profile
将apt安装java的路径复制
将apt安装java的路径赋值给JAVA_HOME
添加内容如下:
#java
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH
#hadoop
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_YARN_HOME=$HADOOP_HOME
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_CONF_DIR=$HADOOP_HOME
export HADOOP_LIBEXEC_DIR=$HADOOP_HOME/libexec
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
export HADOOP_CONF_DIR=$HADOOP_PREFIX/etc/hadoop
export HDFS_DATANODE_USER=root
export HDFS_DATANODE_SECURE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export HDFS_NAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
使环境变量生效
root@b426059fcd58:/usr/local# source /etc/profile
7.4在目录 /usr/local/hadoop/etc/hadoop 下修改hadoop配置文件
需要修改的配置文件如下:
修改 hadoop-env.sh 文件
root@b426059fcd58:/usr/local/hadoop/etc/hadoop# vim hadoop-env.sh
添加内容如下:
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
修改 core-site.xml
root@b426059fcd58:/usr/local/hadoop/etc/hadoop# vim core-site.xml
添加内容如下:
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://h01:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop3/hadoop/tmp</value>
</property>
</configuration>
修改 hdfs-site.xml
root@b426059fcd58:/usr/local/hadoop/etc/hadoop# vim hdfs-site.xml
添加内容如下:
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop3/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>/home/hadoop3/hadoop/hdfs/data</value>
</property>
</configuration>
修改 mapred-site.xml
root@b426059fcd58:/usr/local/hadoop/etc/hadoop# vim mapred-site.xml
添加内容如下:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
/usr/local/hadoop/etc/hadoop,
/usr/local/hadoop/share/hadoop/common/*,
/usr/local/hadoop/share/hadoop/common/lib/*,
/usr/local/hadoop/share/hadoop/hdfs/*,
/usr/local/hadoop/share/hadoop/hdfs/lib/*,
/usr/local/hadoop/share/hadoop/mapreduce/*,
/usr/local/hadoop/share/hadoop/mapreduce/lib/*,
/usr/local/hadoop/share/hadoop/yarn/*,
/usr/local/hadoop/share/