当前位置: 首页 > news >正文

聊城做手机网站推广/郑州百度推广托管

聊城做手机网站推广,郑州百度推广托管,重庆奉节网站建设公司哪家专业,有利于seo的网站底部一、hadoop完全分布式运行模式介绍 Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境,只有分布式多台服务器运行,才满足大数据算力的要求。 在所有的主机上安装JDK和Hadoop,配置SSH组成相互连通的网络&#xff0…

一、hadoop完全分布式运行模式介绍

Hadoop的守护进程运行在由多台主机搭建的集群上,是真正的生产环境,只有分布式多台服务器运行,才满足大数据算力的要求。

在所有的主机上安装JDK和Hadoop,配置SSH组成相互连通的网络,集群之间才可以网络通信,实现分布式计算。

二、hadoop完全分布式运行环境搭建

这里用vmare虚拟三台centos的虚拟机进行完全分布式运行环境的搭建。

2.1 在一台机器上配置好环境

按照我的另一篇文章,“Hadoop环境搭建之本地运行模式”,将一台机器上的环境搭建好,执行以下步骤即可:
1、创建虚拟机

2、将虚拟机ip修改为静态ip
ip修改为:192.168.1.151

3、修改主机名
主机名称修改为:hadoop151

4、配置主机名与ip映射
这里注意要配置三个:
192.168.1.151 hadoop151
192.168.1.152 hadoop152
192.168.1.153 hadoop153
直接在文件的后面加上就好,克隆的其他虚拟机则不需要配置主机名与ip映射,直接ping主机名就可以实现网络通畅。

5、关闭防火墙

6、创建test用户

7、使test用户拥有sudo权限

8、在/opt目录下创建文件夹

9、安装jdk

10、安装hadoop
软件包链接也在文章中,文章链接如下:
https://blog.csdn.net/a1786742005/article/details/104078490

2.2 克隆两台虚拟机并修改配置

1、克隆第一台虚拟机
(1) 使用vmare克隆
在这里插入图片描述
(2) 点击下一步
在这里插入图片描述

(3) 选择虚拟机当前状态
在这里插入图片描述

(4) 创建完整克隆
在这里插入图片描述

(5) 修改虚拟机名称,并指定存储位置
在这里插入图片描述

(6) 克隆完成
在这里插入图片描述
2、修改克隆的第一台虚拟机的静态ip
将ip修改为192.168.1.152
(1) 修改网卡

[test@hadoop151 /]sudo vim /etc/udev/rules.d/70-persistent-net.rules

进入如下页面,删除eth0那一段;将eth1修改为eth0,同时复制物理ip地址。
在这里插入图片描述

(2) 修改ip

[test@hadoop151 /]sudo vim /etc/sysconfig/network-scripts/ifcfg-eth0

修改前:
在这里插入图片描述
修改后:
在这里插入图片描述
(3) 重启一下虚拟机

[test@hadoop151 /]reboot

(4) 再查看一下ip
发现ip已经修改
在这里插入图片描述

(5) ping一下第一台虚拟机
发现网络通畅
在这里插入图片描述

3、修改克隆的第一台虚拟机的主机名
将主机名修改为:hadoop152
(1) 修改主机名

[test@hadoop151 /]sudo vim /etc/sysconfig/network

在这里插入图片描述

(2) 重启一下虚拟机

[test@hadoop151 /]reboot

(3) 查看主机名
主机名已修改
在这里插入图片描述

4、修改克隆的第二台虚拟机的ip、主机名
配置操作与上面操作相同,只需要把ip改为192.168.1.153,主机名改为hadoop153。

2.3 配置三台机器之间的ssh无密码登录

1、免密登录原理
在这里插入图片描述

2、在hadoop151上配置test用户的ssh无密登录
(1) 生成公钥和私钥
A、先到用户根目录

[test@hadoop151 桌面]$ cd ~

B、进入.ssh文件夹

[test@hadoop151 ~]$ cd .ssh

C、生成公钥和私钥

[test@hadoop151 .ssh]$ ssh-keygen -t rsa

然后敲三个回车,就会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

(2) 将公钥拷贝到要免密登录的目标机器上

[test@hadoop151 .ssh]$ ssh-copy-id hadoop151
[test@hadoop151 .ssh]$ ssh-copy-id hadoop152
[test@hadoop151 .ssh]$ ssh-copy-id hadoop153

这里注意自己这台机器也要配置ssh无密登录。执行后命令后,先输入yes,再填写密码,就配置成功了。

(3) .ssh文件夹下(~/.ssh)的文件功能解释

文件名称文件作用
known_hosts记录ssh访问过的计算机的公钥
id_rsa生成的私钥
id_rsa.pub生成的公钥
authorized_keys存放授权过的无密登录服务器公钥

3、在hadoop152和hadoop153上进行同样的配置

2.4 集群部署规划

现在已经保证了三台虚拟机之间的网络通畅以及基本的软件安装,可以开始部署hadoop集群。
NameNode、ResourceManager 以及 SecondaryNameNode都会占用很大内存,分配在三台机器上

ip地址主机名称HDFSYARN
192.168.1.151hadoop151NameNode、DataNodeNodeManager
192.168.1.152hadoop152DataNodeResourceManager、NodeManager
192.168.1.153hadoop153SecondaryNameNode、DataNodeNodeManager

2.5 编写集群分发脚本

1、rsync远程同步工具

(1) rsync远程同步工具介绍
rsync主要用于备份和镜像。具有速度快、避免复制相同内容和支持符号链接的优点。
rsync和scp区别:用rsync做文件的复制要比scp的速度快,rsync只对差异文件做更新。scp是把所有文件都复制过去。

(2) 基本语法
rsync -rvl $pdir/$fname user@hadoopuser@hadoopuser@hadoophost:pdir/pdir/pdir/fname
命令 选项参数 要拷贝的文件路径/名称 目的用户@主机:目的路径/名称

(3) 参数说明

参数名称参数功能
-r递归
-v显示复制过程
-l拷贝符号连接

2、编写xsync集群分发脚本

(1) 脚本说明
循环复制文件到所有节点的相同目录下

(2) 编写脚本
在/home/test/bin这个目录下存放的脚本,test用户可以在系统任何地方直接执行。
A、在hadoop151的/home/test目录下创建bin目录,并在bin目录下xsync创建文件

[test@hadoop151 ~]$ cd /home/test
[test@hadoop151 ~]$ mkdir bin
[test@hadoop151 ~]$ cd bin
[test@hadoop151 ~]$ touch xsync

B、编写shell脚本
内容如下:

#!/bin/bash
#1 获取输入参数个数,如果没有参数,直接退出
pcount=$#
if((pcount==0)); then
echo no args;
exit;
fi#2 获取文件名称
p1=$1
fname=`basename $p1`
echo fname=$fname#3 获取上级目录到绝对路径
pdir=`cd -P $(dirname $p1); pwd`
echo pdir=$pdir#4 获取当前用户名称
user=`whoami`#5 循环
for((host=151; host<154; host++)); doecho ------------------- hadoop$host --------------rsync -rvl $pdir/$fname $user@hadoop$host:$pdir
done

C、修改脚本具有执行权限

[test@hadoop151 bin]$ chmod 777 xsync

(3) 测试脚本
将hadoop151上的/opt/software目录进行分发,查看脚本运行情况
在这里插入图片描述

2.6 配置hadoop集群

1、在hadoop151上修改核心配置文件
配置core-site.xml

[test@hadoop151 hadoop]$ vi core-site.xml

在该文件中编写如下配置:

<!-- 指定HDFS中NameNode的地址 -->
<property><name>fs.defaultFS</name><value>hdfs://hadoop151:9000</value>
</property><!-- 指定Hadoop运行时产生文件的存储目录 -->
<property><name>hadoop.tmp.dir</name><value>/opt/module/hadoop-2.7.2/data/tmp</value>
</property>

2、在hadoop151上配置HDFS
(1) 配置hadoop-env.sh

[test@hadoop151 hadoop]$ vi hadoop-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

(2) 配置hdfs-site.xml

[test@hadoop151 hadoop]$ vi hdfs-site.xml

在该文件中编写如下配置:

<!-- 指定副本数 -->
<property><name>dfs.replication</name><value>3</value>
</property><!-- 指定Hadoop辅助名称节点主机配置 -->
<property><name>dfs.namenode.secondary.http-address</name><value>hadoop153:50090</value>
</property>

3、在hadoop151上配置YARN
(1) 配置yarn-env.sh

[test@hadoop151 hadoop]$ vi yarn-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

(2) 配置yarn-site.xml

[test@hadoop151 hadoop]$ vi yarn-site.xml

在该文件中增加如下配置:

<!-- Reducer获取数据的方式 -->
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value>
</property><!-- 指定YARN的ResourceManager的地址 -->
<property><name>yarn.resourcemanager.hostname</name><value>hadoop152</value>
</property>

4、在hadoop151上配置MapReduce
(1) 配置mapred-env.sh

[test@hadoop151 hadoop]$ vi mapred-env.sh
export JAVA_HOME=/opt/module/jdk1.8.0_144

(2) 配置mapred-site.xml

[test@hadoop151 hadoop]$ cp mapred-site.xml.template mapred-site.xml
[test@hadoop151 hadoop]$ vi mapred-site.xml

在该文件中增加如下配置:

<!-- 指定MR运行在Yarn上 -->
<property><name>mapreduce.framework.name</name><value>yarn</value>
</property>

5、在hadoop151上配置datanode节点
文件路径为:/opt/module/hadoop-2.7.2/etc/hadoop/slaves

[test@hadoop151 hadoop]$ vi slaves

在该文件中增加如下内容:
hadoop151
hadoop152
hadoop153
注意:该文件中添加的内容结尾不允许有空格,文件中不允许有空行。

6、使用xsync脚本分发到其他机器上

[test@hadoop151 hadoop]$ xsync /opt/module/hadoop-2.7.2/

2.7 启动集群

1、集群启动/停止方式总结
(1) 分别启动/停止HDFS组件
A、 分别启动/停止HDFS组件
hadoop-daemon.sh start / stop namenode / datanode / secondarynamenode

B、启动/停止YARN
yarn-daemon.sh start / stop resourcemanager / nodemanager

(2) 各个模块分开启动/停止(配置ssh是前提)
A、整体启动/停止HDFS
start-dfs.sh / stop-dfs.sh

B、整体启动/停止YARN
start-yarn.sh / stop-yarn.sh

2、启动集群
这里以最常用的群起集群的方式来介绍,单点启动的方式可以自己测试。
(1) 如果集群是第一次启动,需要格式化NameNode
注意格式化之前,一定要先停止上次启动的所有namenode和datanode进程,然后再删除data和log数据!!!

[test@hadoop151 hadoop-2.7.2]$ bin/hdfs namenode -format

(2) 启动HDFS

[test@hadoop151 hadoop-2.7.2]$ sbin/start-dfs.sh 

hadoop151上:
在这里插入图片描述

hadoop152上:

在这里插入图片描述

hadoop153上:

在这里插入图片描述

(3) 启动YARN

[test@hadoop152 hadoop-2.7.2]$ sbin/start-yarn.sh 

hadoop151上:
在这里插入图片描述

hadoop152上:

在这里插入图片描述

hadoop153上:

在这里插入图片描述

注意:NameNode和ResourceManger如果不是同一台机器,不能在NameNode上启动 YARN,应该在ResouceManager所在的机器上启动YARN。

(4) Web端查看SecondaryNameNode
hdfs文件系统及yarn的web端查看在我的另一篇文章里,hadoop环境搭建之伪分布式运行模式,大家可以自行查看,这里查看一下SecondaryNameNode:
A、浏览器中输入:http://192.168.1.153:50090/status.html
B、查看SecondaryNameNode信息
在这里插入图片描述

另一篇文章的链接为:https://blog.csdn.net/a1786742005/article/details/104090921

2.8 测试集群

1、hdfs上传文件
(1) 执行上传文件命令

[test@hadoop151 ~]$ hdfs dfs -put /opt/software/hadoop-2.7.2.tar.gz /

(2) 从web端查看hdfs文件系统
访问链接:http://192.168.1.151:50070/explorer.html
在这里插入图片描述

在这里插入图片描述
2、执行WordCount程序
(1) 在本地创建一个input文件夹
在这里插入图片描述
(2) 进入文件夹创建一个word.txt文件
在这里插入图片描述
(3) 编辑word.txt文件

在这里插入图片描述
(4) 将input文件夹上传到 hdfs 的 / 目录上面

[test@hadoop151 hadoop-2.7.2]$ hdfs dfs -put input/ /

(5) 运行wordcount程序

[test@hadoop151 hadoop-2.7.2]$ cd /opt/module/hadoop-2.7.2
[test@hadoop151 hadoop-2.7.2]$ bin/hadoop jarshare/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /input /output

(6) 查看结果
在这里插入图片描述

2.9 集群时间同步

1、为何要集群时间同步?
  因为Hadoop 对集群中各个机器的时间同步要求比较高, 要求各个机器的系统时间不能相差太多, 不然会造成很多问题。比如,最常见的连接超时问题。所以需要配置集群中各个机器和互联网的时间服务器进行时间同步, 但是在实际生产环境中, 集群中大部分服务器是不能连接外网的, 这时候可以在内网搭建一个自己的时间服务器( NTP 服务器),然后让集群的各个机器与这个时间服务器定时的进行时间同步。

2、时间服务器配置(必须为root用户)
将时间服务器配置在hadoop151上,配置步骤如下:
(1) 检查ntp是否安装

[root@hadoop151 hadoop-2.7.2]# rpm -qa|grep ntp

在这里插入图片描述

(2) 修改ntp配置文件

[root@hadoop151 hadoop-2.7.2]# vi /etc/ntp.conf

修改内容如下:
A、修改1(授权192.168.1.0 - 192.168.1.255网段上的所有机器可以从这台机器上查询和同步时间)
#restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap为
restrict 192.168.1.0 mask 255.255.255.0 nomodify notrap

B、修改2(集群在局域网中,不使用其他互联网上的时间)
server 0.centos.pool.ntp.org iburst
server 1.centos.pool.ntp.org iburst
server 2.centos.pool.ntp.org iburst
server 3.centos.pool.ntp.org iburst为
#server 0.centos.pool.ntp.org iburst
#server 1.centos.pool.ntp.org iburst
#server 2.centos.pool.ntp.org iburst
#server 3.centos.pool.ntp.org iburst

C、添加3(当该节点丢失网络连接,依然可以采用本地时间作为时间服务器为集群中的其他节点提供时间同步)
server 127.127.1.0
fudge 127.127.1.0 stratum 10

(3) 修改/etc/sysconfig/ntpd 文件

[root@hadoop151 hadoop-2.7.2]# vim /etc/sysconfig/ntpd

增加内容如下(让硬件时间与系统时间一起同步)
SYNC_HWCLOCK=yes

(4) 重新启动ntpd服务

[root@hadoop151 hadoop-2.7.2]# service ntpd status

在这里插入图片描述

[root@hadoop151 hadoop-2.7.2]# service ntpd start

在这里插入图片描述

(5) 设置ntpd服务开机启动

[root@hadoop151 hadoop-2.7.2]# chkconfig ntpd on

3、其他机器配置(必须root用户)
这里以hadoop152来举例,hadoop153也要进行相同配置
(1) 在其他机器配置10分钟与时间服务器同步一次

[root@hadoop152 test]# crontab -e

编写定时任务如下:
*/10 * * * * /usr/sbin/ntpdate hadoop151

(2) 修改任意机器时间

[root@hadoop152 test]# date -s "2018-8-11 10:22:10"

(3) 十分钟后查看机器是否与时间服务器同步

[root@hadoop152 test]# date 

说明:测试的时候可以将10分钟调整为1分钟,节省时间。

http://www.jmfq.cn/news/5113171.html

相关文章:

  • 网站怎么利用朋友圈做推广/上海优质网站seo有哪些
  • 做橡胶的网站/seo的五个步骤
  • 网站的推广和宣传方式/网络广告策划方案范文
  • 做外贸做几个网站合适/seo营销名词解释
  • 网站开发方式/怎么开通网站平台
  • 品牌网站建设方/西安seo主管
  • 电子商务网站建设大作业/网站seo怎么操作
  • 花桥网站建设公司/sem是什么意思
  • 网站怎么做网络推广/淘宝seo优化怎么做
  • 大型综合新闻门户网站织梦模板/厦门网站到首页排名
  • 青岛公司网站建设公司/东莞头条最新新闻
  • 福建省品牌建设促进会网站/百度推广投诉人工电话
  • 大学教学应用网站开发现状/讯展网站优化推广
  • 苏州seo网站系统/seo网站监测
  • wordpress占用空间越来越大/seo学校培训课程
  • 文学网站建设/口碑营销策略有哪些
  • 地方性购物网站/浙江关键词优化
  • 做网站建设个体经营小微企业/搜索网站的浏览器
  • 凡科做的网站好垃圾/网址收录入口
  • 湖南专业做网站公司排名/google官网注册
  • 网站新闻 写法/谷歌网站收录提交入口
  • 网站多语言建设/网址ip地址查询工具
  • 南昌加盟网站制作/网站搜索引擎优化的基本内容
  • 网站空间数据库需要多大/他达拉非片
  • 做网站什么笔记本好用/广州各区最新动态
  • wordpress网站实现微信登录/百度官方优化指南
  • 外国网站手机dns/广告软文代理平台
  • 帮企业做网站的公司/系统优化app
  • 济南制作网站/网站建设建站在线建站
  • 建设一个门户网站需要多少钱/百度上做优化一年多少钱