Windows+Docker+Hadoop的部署完整教程(二)hadoop分布式系统部署

说明

本文搭建的时hadoop2.7.5分布式系统,一个master,二个slave
搭配jdk版本为jdk1.8
所有安装包都在博主的网盘上,自行保存
链接:https://pan.baidu.com/s/1TcKCEEcxpgtVWu26iwhaRw
提取码:naad

接上篇博客,基础环境安装好之后。

hadoop分布式环境搭建(终于进入正题啦!)

一、 hadoop安装

hadoop-2.7.5的安装包我们已经拷贝进来了,如果上节课忘记拷贝的同学也不要慌(有更好用的教程在这里

docker run -it  --name ubuntu-jdkinstalled ubuntu/jdkinstalled

然后解压安装包到/usr/local

cd /home
ls
 tar -zxvf  hadoop-2.7.5.tar.gz -C /usr/local

切换至安装目录

cd /usr/local
mv ./hadoop-2.7.5 ./hadoop
cd hadoop
./bin/hadoop version

运行结果如下代表安装成功
在这里插入图片描述

关键的步骤来了!!编辑配置文件以及环境变量

1、添加jdk路径(vim编辑文件如何插入和保存自行百度)

cd /usr/local/hadoop/etc/hadoop
vim hadoop-env.sh

在文件内插入如下内容(jdk的安装路径):

export JAVA_HOME=/usr/local/jdk1.8.0_251

2、编辑core-site.xml

<configuration>
        <property>
                <name>fs.defaultFS</name>
                <value>hdfs://Master:9000</value>
        </property>
        <property>
                <name>io.file.buffer.size</name>
                <value>131072</value>
        </property>
        <property>
                <name>hadoop.tmp.dir</name>
                <value>/usr/local/hadoop/tmp</value>
        </property>
</configuration>

3、编辑hdfs-site.xml

<configuration>
        <property>
                <name>dfs.namenode.secondary.http-address</name>
                <value>Master:50090</value>
        </property>
        <property>
                <name>dfs.replication</name>
                <value>1</value>
        </property>
        <property>
                <name>dfs.namenode.name.dir</name>
                <value>file:/usr/local/hadoop/hdfs/name</value>
        </property>
        <property>
                <name>dfs.datanode.data.dir</name>
                <value>file:/usr/local/hadoop/hdfs/data</value>
        </property>
</configuration>

4、mapred-site.xml

mv mapred-site.xml.template mapred-site.xml
vim mapred-site.xml
<configuration>
        <property>
                <name>mapreduce.framework.name</name>
                <value>yarn</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:10020</value>
        </property>
        <property>
                <name>mapreduce.jobhistory.address</name>
                <value>Master:19888</value>
        </property>
</configuration>

5、yarn-site.xml

<configuration>

<!-- Site specific YARN configuration properties -->
        <property>
                <name>yarn.nodemanager.aux-services</name>
                <value>mapreduce_shuffle</value>
        </property>
        <property>
                <name>yarn.resourcemanager.address</name>
                <value>Master:8032</value>
        </property>
        <property>
                <name>yarn.resourcemanager.scheduler.address</name>
                <value>Master:8030</value>
        </property>
        <property>
                <name>yarn.resourcemanager.resource-tracker.address</name>
                <value>Master:8031</value>
        </property>
        <property>
                <name>yarn.resourcemanager.admin.address</name>
                <value>Master:8033</value>
        </property>
        <property>
                <name>yarn.resourcemanager.webapp.address</name>
                <value>Master:8088</value>
        </property>
</configuration>

6、编辑slaves文件

vim slaves

加入从机名

slave1
slave2

环境变量

vim ~/.bashrc
#set hadoop_home
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_ROOT_LOGGER=INFO,console
export  HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
source ~/.bashrc

大功告成,提交容器,先退出容器。
docker ps -a,找到刚才操作的容器

docker commit CONTAINER_ID ubuntu/hadoopinstalled

保存完成

二、使用X-shell连接docker

(安装x-shell是为了避免后边分布式部署的时候多开docker窗口,频繁的切换窗口等等,相当于一个管理工具,可以给我们一个更好的视觉效果。)
X-shell破解版在这里,链接:https://pan.baidu.com/s/1dBdMHKB-RLryokReTOfbxA
提取码:ghhn
(非常好用的工具)下载安装之后,使用X-shell连接docker
在这里插入图片描述
按上图配置好之后,点击连接
在这里插入图片描述
默认用户名为docker,密码为tcuser
在这里插入图片描述
熟悉的大鲸鱼图标出现,成功连接!!!
在分别创建slave1和slave2,操作步骤一模一样,只需要把名称master修改为对应的slave1slave2就行!
在这里插入图片描述

三、分布式部署

在X-shell的三个对应窗口分别:

# 在第一个终端中执行下面命令
docker run -it -h master --name master ubuntu/hadoopinstalled
# 在第二个终端中执行下面命令
docker run -it -h slave1 --name slave01 ubuntu/hadoopinstalled
# 在第三个终端中执行下面命令
docker run -it -h slave2 --name slave02 ubuntu/hadoopinstalled

启动容器之后,修改主机名映射vim /etc/hosts,
将三台机器的主机名及其ip地址全部添加到hosts文件中,保持一致,如下(三台机器同!!!)
在这里插入图片描述
开始ssh服务(三台机器都要操作)

/etc/init.d/ssh start

用master分别远程slave1和slave2,看是否能成功。
在这里插入图片描述
远程slave2
在这里插入图片描述
都是没有问题的,登出后就可以启动集群了!
启动之前格式化namenode节点:(首次启动格式化,以后都不需要,由于博主已经格式化过,所以这里借花献佛)

cd /usr/local/hadoop
bin/hdfs namenode -format

在这里插入图片描述
出现上图中的status 0标志着格式化成功!!!
启动

sbin/start-all.sh

启动后查看主机进程jps
在这里插入图片描述
slave1或slave2进程:
在这里插入图片描述
搭建完成!!!

制作不易,希望大家多多关注!大家有问题一定及时反馈,希望同大家一起交流学习!谢谢

  • 8
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
当使用Docker部署Hadoop集群时,可以按照以下步骤进行操作: 1. 安装Docker:首先,确保你的机器上已经安装了Docker。你可以从Docker官方网站上下载并按照指南进行安装。 2. 创建Docker镜像:为了部署Hadoop集群,你需要创建一个包含HadoopDocker镜像。你可以使用Dockerfile来定义镜像的配置和依赖项。在Dockerfile中,你需要下载和安装Hadoop,并进行必要的配置。 3. 构建镜像:使用Docker命令构建镜像。在命令行中,进入到包含Dockerfile的目录,并执行以下命令: ``` docker build -t hadoop-image . ``` 4. 创建容器:使用Docker命令创建多个容器来模拟Hadoop集群中的不同角色(如NameNode、DataNode等)。你可以使用Docker Compose来定义和管理容器。在Compose文件中,你可以指定每个容器的角色、网络配置和挂载点等。 5. 启动容器:使用Docker Compose启动容器。在命令行中,进入到Compose文件所在的目录,并执行以下命令: ``` docker-compose up -d ``` 6. 配置Hadoop集群:一旦容器启动,你可以通过进入容器来配置Hadoop集群。使用以下命令进入容器: ``` docker exec -it <container_name> bash ``` 7. 在容器中配置Hadoop:在容器中,你可以编辑Hadoop的配置文件(如core-site.xml、hdfs-site.xml等)来设置集群的参数。确保配置文件中的各个节点的IP地址和端口号正确。 8. 启动Hadoop集群:在容器中,使用以下命令启动Hadoop集群: ``` start-dfs.sh start-yarn.sh ``` 9. 验证集群:使用以下命令验证Hadoop集群是否正常运行: ``` hdfs dfsadmin -report yarn node -list ``` 10. 使用Hadoop集群:一旦集群正常运行,你可以使用Hadoop命令行工具或编写MapReduce程序来进行数据处理和分析。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值