ubuntu操作系统中docker下Hadoop分布式前置环境配置实验

版本:

centos7

hadoop 3.1.3

java JDK:1.8

集群规划:

masterslave1slave2
HDFS

NameNode

DataNode

DataNode

SecondryNameNode

DataNode

YARNNodeManager

ResourceManage

NodeManager

NodeManager

1.docker容器:

把普通用户加入到docker组:

sudo  gpasswd -a $USER docker
newgrp docker

配置docker容器源:

 sudo vim /etc/docker/daemon.json
{"registry-mirrors" : ["http://registry.docker-cn.com","http://docker.mirrors.ustc.edu.cn","http://hub-mirror.c.163.com","https://nfesww3w.mirror.aliyuncs.com"],"insecure-registries" : ["registry.docker-cn.com","docker.mirrors.ustc.edu.cn"],"debug" : true,"experimental" : true
}

重启docker服务:

sudo systemctl restart docker

查看docker状态:

ps -ef | grep docker

 拉取centos7:7.5.1804镜像:

docker pull centos:7.5.1804

查看镜像:

docker images

创建容器:

docker run --name master -it centos:7.5.1804 /bin/bash
docker run --name slave1 -it centos:7.5.1804 /bin/bash
docker run --name slave2 -it centos:7.5.1804 /bin/bash

查看容器:

docker ps -a

启动容器:

docker start a08b

进入容器:

docker exec -it a08b00fdc6ce /bin/bash

2.配置ssh做免密登录:

由于最小化centos7,需安装 net-tools ,vim,openssh-server,oppenssh-clients

yum install -y net-tools
yum install -y vim
yum install -y  openssh-server
yum install -y  openssh-clients

 查看每个容器中的ip

master:172.17.0.3

slave1:172.17.0.4

slave2:172.17.0.2

 设置root密码为aaaaaa:

sudo passwd

 修改/etc/hosts:

vi /etc/hosts
172.17.0.4      slave1
172.17.0.2      slave2
172.17.0.3      master

 配置ssh公钥和私钥:(一路回车)

ssh-keygen -t rsa

 暂时不知docker启动ssh方法

ssh-keygen -t rsa -b 2048 -f /etc/ssh/ssh_host_rsa_key
usr/sbin/sshd -D

 启动后会卡住退出重启

ps -e 查看后台sshd服务已启动:

 

 配置所有节点免密登录(包括自己):

ssh-copy-id master
ssh-copy-id slave1
ssh-copy-di slave2

3.配置JAVA_HOME环境:

master :在/opt/目录下分别创建software和module文件夹:

 mkdir /opt/softwore
 mkdir /opt/module

将ubuntu的jdk拷贝到master /opt/software上:

docker cp jdk-8u212-linux-x64.tar.gz master:/opt/software

 解压jdk到 /opt/module下:

tar -zxvf jdk-8u212-linux-x64.tar.gz -C /opt/module/

配置JAVA_HOME环境变量:

vi /etc/profile.d/my_env.sh

 添加:

export JAVA_HOME=/opt/module/jdk1.8.0_212
export PATH=$PATH:$JAVA_HOME/bin

加载配置文件:

source /etc/profile

使用 java -version查看环境变量是否配置完成:

JAVA_HOME环境变量配置完毕

4 .配置hadoop_HOME环境:

将物理机的jar包拷贝到master/opt/module下:

docker cp hadoop-3.1.3.tar.gz master:/opt/software

解压到/opt/module 目录下:

 tar -zxvf hadoop-3.1.3.tar.gz -C /opt/module/

配置环境变量:

vi /etc/profile.d/my_env.sh
export HADOOP_HOME=/opt/module/hadoop-3.1.3
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

 加载配置文件:

source /etc/profile

用hadoop -version查看环境是否配置完成:

HADOOP_HOME环境变量配置完成

注意:

注意 配置完成后 同步给其他节点

scp -r 要发送的内容 主机名:src

 

5.HADOOP_配置文件:

cd /opt/module/hadoop-3.1.3/etc/hadoop

core-site.xml:

<property><name>fs.defaultFS</name><value>hdfs://master:9820</value>
</property>
<property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-3.1.3/data</value>
</property>

yarn-site.xml:

<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property>
<property><name>yarn.resourcemanager.hostname</name><value>slave1</value>
</property><property><name>yarn.nodemanager.env-whitelist</name><value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME</value>
</property>
<property><name>yarn.scheduler.minimum-allocation-mb</name><value>512</value>
</property>
<property><name>yarn.scheduler.maxmum-allocation-mb</name><value>4096</value>
</property>
<property><name>yarn.nodemanager.resource.memory-mb</name><value>4096</value>
</property>
<property><name>yarn.nodemanager.pmem-check-enabled</name><value>false</value>
</property>
<property><name>yarn.nodemanager.vmem-check-enabled</name><value>false</value>
</property>

hdfs-site.xmlL:

<property><name>dfs.namenode.name.http-address</name><value>master:9870</value>
</property>
<property><name>dfs.namenode.secondary.http-address</name><value>slave2:9868</value>
</property>

maperd-site.xml:

<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

配置完成后同步给其他节点

scp -r hadoop slave1:/opt/moder/hadoop3.1.3/etc

 6.启动hadoop:

格式化hadoop :

hdfs namenode -format

在hadoop3.1.3下多出data和logs两个文件

格式化成功

启动 hadoop

在master节点下:

start-dfs.sh

好,启动失败

 这是由于权限问题:

在每个节点增加用户:

useradd bigdata
passwd bigdata 111111

增加/opt /module的权限:

chown bigdata:bigdata /module

 并使用bigdata用户给每个节点执行ssh免密

注意在每个节点都要执行

再次在master上启动:

start-dfs.sh

在slave1上启动:

start-yarn.sh

 

hadoop启动成功

 

 总结:

hadoop 启动失败 datanode 挂掉两台

docker端口问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.hqwc.cn/news/208234.html

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

【深度学习】脸部修复,CodeFormer,论文,实战

代码&#xff1a; https://github.com/sczhou/CodeFormer 论文&#xff1a;https://arxiv.org/abs/2206.11253 Towards Robust Blind Face Restoration with Codebook Lookup Transformer 文章目录 论文摘要1 引言2 相关工作**4 实验****4.1 数据集****4.2 实验设置和指标***…

虹科Pico汽车示波器 | 汽车免拆检修 | 2017款东风本田XR-V车转向助力左右不一致

一、故障现象 一辆2017款东风本田XR-V车&#xff0c;搭载R18ZA发动机&#xff0c;累计行驶里程约为4万km。车主反映&#xff0c;车辆行驶或静止时&#xff0c;向右侧转向比向左侧转向沉重。 二、故障诊断 接车后试车&#xff0c;起动发动机&#xff0c;组合仪表上无故障灯点亮&…

基于SSM的济南旅游网站设计与实现

末尾获取源码 开发语言&#xff1a;Java Java开发工具&#xff1a;JDK1.8 后端框架&#xff1a;SSM 前端&#xff1a;Vue 数据库&#xff1a;MySQL5.7和Navicat管理工具结合 服务器&#xff1a;Tomcat8.5 开发软件&#xff1a;IDEA / Eclipse 是否Maven项目&#xff1a;是 目录…

摩尔定律,梅特卡夫定律,吉尔德定律

信息系统的三大定律(摩尔定律&#xff0c;梅特卡夫定律&#xff0c;吉尔德定律)有一个清晰的视角&#xff1a; 信息系统不是左边的生产消费系统&#xff0c;而是右边的交易系统&#xff0c;交易系统与生产消费典型的区别在于信息交易过程会产生新的信息&#xff0c;就像钱一样…

优化记录 -- 记一次搜索引擎(SOLR)优化

业务场景 某服务根据用户相关信息&#xff0c;使用搜索引擎进行数据检索 软件配置 solr 1台&#xff1a;32c 64g 数据10gb左右&#xff0c;版本 7.5.5 应用服务器1台&#xff1a;16c 64g 应用程序 3节点 问题产生现象 1、因业务系统因处理能不足&#xff0c;对业务系统硬件…

php生成xml数据

在PHP中&#xff0c;你可以使用以下几种方法生成XML数据&#xff1a; 使用DOM扩展&#xff1a; $xml new DOMDocument(1.0, UTF-8); $root $xml->createElement(root); $xml->appendChild($root); $child $xml->createElement(child); $root->appendChild($ch…

[ 云计算 | AWS 实践 ] 基于 Amazon S3 协议搭建个人云存储服务

本文收录于【#云计算入门与实践 - AWS】专栏中&#xff0c;收录 AWS 入门与实践相关博文。 本文同步于个人公众号&#xff1a;【云计算洞察】 更多关于云计算技术内容敬请关注&#xff1a;CSDN【#云计算入门与实践 - AWS】专栏。 本系列已更新博文&#xff1a; [ 云计算 | …

Java集合拓展01

1、List&#xff0c;Set&#xff0c;Map三者的区别 List&#xff1a;一个有序&#xff08;元素存入集合的顺序和取出的顺序一致&#xff09;容器&#xff0c;元素可以重复&#xff0c;可以插入多个null元素&#xff0c;元素都有索引。常用的实现类有 ArrayList、LinkedList 和…

如何访问linux上的web服务

1.获取服务运行端口 例如8080 2.如果时vmware 需要先配置转发端口和主机ip 主机ip需要未使用的 例如&#xff1a; 3.查看虚拟机防火墙设置 centos8 为例 &#xff1a; firewall-cmd --zonepublic --list-ports 查看放通端口 如果没有放通 firewall-cmd --zonepublic --add-p…

鸿蒙4.0开发笔记之DevEco Studio页面操作router的pushUrl页面跳转与back返回上一页(五)

一、认识组件 关于HarmonyOS中ArkTS的基础组件请参见文章鸿蒙4.0开发笔记之ArkTs语言基础与基本组件结构&#xff08;四&#xff09; 二、实现页面跳转pushUrl 1、操作说明 实现页面跳转的核心便是router.pushUrl的调用&#xff0c;操作起来也很简单&#xff0c;总共就四步…

什么是软件需求?以及需求的最佳实践?

什么是软件需求 业务需求是反应企业组织对软件系统的高层次目标要求&#xff0c;换句话说就是软件系统的建设目标&#xff0c;常常体现在这两个方面&#xff1a;问题和机会。 要记住&#xff1a;出发点不同&#xff0c;精神面貌就完全不一样&#xff0c;当然如果目标过于夸大也…

推荐一款适合做智慧旅游的前端模板

目录 前言 一、功能介绍 二、前端技术介绍 三、功能及界面设计介绍 1、数据概览 2、车辆监控 3、地图界面 4、其它功能 四、扩展说明 总结 前言 智慧旅游是一种全新的旅游业务模式&#xff0c;它充分利用先进的信息技术&#xff0c;提升旅游体验&#xff0c;优化旅游管…