首页 > 其他分享 >Hadoop3.3.5完全分布式搭建

Hadoop3.3.5完全分布式搭建

时间:2023-07-10 16:55:16浏览次数:37  
标签:bill hadoop echo --------------- Hadoop3.3 billsaifu 分布式 local 搭建

首先在之前的伪分布基础上克隆两台机器

这样一共三台虚拟机

为这三台虚拟机设置三个不同的静态ip地址和主机名

我的是

billsaifu 192.168.15.130

hadoop1 192.168.15.131

hadoop2 192.168.15.132

静态IP设置

#先进入root

vim /etc/sysconfig/network-scripts/ifcfg-ens33

#修改为如下配置

TYPE=Ethernet
PROXY_METHOD=none
BROWSER_ONLY=no
BOOTPROTO=static

#下面需要自己配置对应的IP地址
IPADDR=192.168.15.130
NETMASK=255.255.255.0
GATEWAY=192.168.15.2
DNS1=192.168.15.2

#-----------------------
IPV4_FAILURE_FATAL=no
IPV6INIT=yes
IPV6_AUTOCONF=yes
IPV6_DEFROUTE=yes
IPV6_FAILURE_FATAL=no
IPV6_ADDR_GEN_MODE=stable-privacy
NAME=ens33
UUID=73e49046-f307-4320-9b82-fc9108ff2f23
DEVICE=ens33
ONBOOT=yes
IPV6_PRIVACY=no
PREFIX=24
DEFROUTE=yes

对应下hadoop的各项设置

core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://billsaifu:9000</value>
</property>
<property>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>bill</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop-3.3.5/tmp</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name>
<value>4096</value>
<dedication> Datanode 有一个同时处理文件的上限,至少要有4096</dedication>
</property>
</configuration>

hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.replication.min</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/mnt/data01/hadoop</value>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/mnt/data01/hdfs_dndata</value>
</property>
<property>
<name>dfs.permissions.superusergroup</name>
<value>freedom</value>
</property>
<property>
<name>dfs.client.use.datanode.hostname</name>
<value>true</value>
</property>
<property>
<name>dfs.datanode.use.datanode.hostname</name>
<value>true</value>
</property>
<property>
<name>dfs.namenode.clusterID</name>
<value>hadoopMaster</value>
</property>
<!-- nn web 端访问地址-->
<property>
<name>dfs.namenode.http-address</name>
<value>billsaifu:9870</value>
</property>
<!-- 2nn web 端访问地址-->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>hadoop2:9868</value>
</property>
</configuration>

yarn-site.xml

<configuration>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</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_HOME,PATH,LANG,TZ,HADOOP_MAPRED_HOME
</value>
</property>
<property>
<name>yarn.nodemanager.local-dirs</name>
<value>/mnt/data01/yarn_nmdata</value>
</property>
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://billsaifu:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
<!-- 指定 ResourceManager 的地址-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
</configuration>

mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.map.memory.mb</name>
<value>1536</value>
</property>
<property>
<name>mapreduce.map.java.opts</name>
<value>-Xmx1024M</value>
</property>
<property>
<name>mapreduce.reduce.memory.mb</name>
<value>3072</value>
</property>
<property>
<name>mapreduce.reduce.java.opts</name>
<value>-Xmx2560M</value>
</property>
<property>
<name>mapreduce.task.io.sort.mb</name>
<value>512</value>
</property>
<property>
<name>mapreduce.task.io.sort.factor</name>
<value>100</value>
</property>
<property>
<name>mapreduce.application.classpath</name>
<value>
$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/*:$HADOOP_MAPRED_HOME/share/hadoop/mapreduce/lib/*
</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hdfs://billsaifu:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>http://billsaifu:19888</value>
</property>
</configuration>

这里我以billsaifu为master主机,hadoop1为资源管理,hadoop2为2nn

并且创建了一个新组为hadoop的超级组,组名为freedom

为freedom创建一个新角色bill,并且把bill加入该组

为给组赋予hadoop文件夹权限

sudo groupadd freedom

sudo useradd -m bill

sudo passwd bill

sudo usermod -aG freedom bill

mkdir -p /home/bill/bin

#改变data01所有组为freedom:bill

sudo chown -R freedom:bill /mnt/data01

sudo chmod -R 755  /mnt/data01

另外还需要配置相应的主机名

vi /etc/hostname #分别设置为billsaifu,hadoop1,hadoop2

#设置主机映射

vi /etc/hosts


127.0.0.1   localhost localhost.localdomain localhost4 localhost4.localdomain4
::1         localhost localhost.localdomain localhost6 localhost6.localdomain6
192.168.15.130  billsaifu
192.168.15.131  hadoop1
192.168.15.132  hadoop2

以下是一些常用脚本

xsync分发脚本

#!/bin/bash
#1. 判断参数个数
if [ $# -lt 1 ]
then
 echo Not Enough Arguement!
 exit;
fi
#2. 遍历集群所有机器
for host in billsaifu hadoop1 hadoop2
do
 echo ==================== $host ====================
 #3. 遍历所有目录,挨个发送
 for file in $@
 do
 #4. 判断文件是否存在
 if [ -e $file ]
 then
 #5. 获取父目录
 pdir=$(cd -P $(dirname $file); pwd)
 #6. 获取当前文件的名称
 fname=$(basename $file)
 ssh $host "mkdir -p $pdir"
 rsync -av $pdir/$fname $host:$pdir
 else
 echo $file does not exists!
 fi
 done
done

myhadoop启动脚本

if [ $# -lt 1 ]; then
  echo "No Args Input..."
  exit
fi
case $1 in
"start")
  echo " =================== 启动 hadoop 集群 ==================="
  echo " --------------- 启动 hdfs ---------------"
  ssh billsaifu "/usr/local/hadoop-3.3.5/sbin/start-dfs.sh"
  echo " --------------- 启动 yarn ---------------"
  ssh hadoop1 "/usr/local/hadoop-3.3.5/sbin/start-yarn.sh"
  echo " --------------- 启动 historyserver ---------------"
  ssh billsaifu "/usr/local/hadoop-3.3.5/bin/mapred --daemon start historyserver"
  ;;
"stop")
  echo " =================== 关闭 hadoop 集群 ==================="
  echo " --------------- 关闭 historyserver ---------------"
  ssh billsaifu "/usr/local/hadoop-3.3.5/bin/mapred --daemon stop historyserver"
  echo " --------------- 关闭 yarn ---------------"
  ssh hadoop1 "/usr/local/hadoop-3.3.5/sbin/stop-yarn.sh"
  echo " --------------- 关闭 hdfs ---------------"
  ssh billsaifu "/usr/local/hadoop-3.3.5/sbin/stop-dfs.sh"
  ;;
*)
  echo "Input Args Error..."
  ;;
esac

jpsall检查脚本

#!/bin/bash

declare -a hosts=("billsaifu" "hadoop1" "hadoop2")

for host in "${hosts[@]}"
do
  echo "=============== $host ==============="
  ssh -t  "$host" /usr/local/java8/jdk1.8.0_371/bin/jps
done

现在配置完毕启动一下,注意对应freedom组下面的角色bill,对于这些脚本和hadoop文件需要有对应的权限,不如hadoop无法启动,建议把对应文件的组都修改为freedom:bill

可以看到有三个存活的结点

 

标签:bill,hadoop,echo,---------------,Hadoop3.3,billsaifu,分布式,local,搭建
From: https://www.cnblogs.com/liyiyang/p/17541618.html

相关文章

  • 对一个已有项目搭建单元测试集的一个方法
    对一个已有项目搭建单元测试集的一个方法0说明1准备1.1软件环境googletestcmake1.2需要的知识单元测试相关概念1.3一般原则每次只测试一个对象,被测对象应该尽可能的独立,应该是一个很小的单元,依赖项通过mock或stub模拟;每个测试项均应执行迅速且独立于测试环境;各......
  • 微网优化调度matlab 采用matlab+yalmip编制含分布式和储能的微
    微网优化调度matlab采用matlab+yalmip编制含分布式和储能的微网优化模型,程序采用15分钟为采集节点,利用cplex求解,程序考虑发电机的启停约束,程序运行可靠ID:1390640936432679......
  • MATLAB/Simulink搭建电动汽车整车七自由度模型电动汽车七由度模型,包括纵向运动,侧向运
    MATLAB/Simulink搭建电动汽车整车七自由度模型电动汽车七由度模型,包括纵向运动,侧向运动横摆运动,模糊控制算法,轮胎模型,魔术公式等等,可以自定义车辆参数。转弯制动ABS控制模型,滑移率曲线。极限不稳定工况,蛇形工况,高速转弯制动工况。电动汽车整车模型,稳定性验证。ID:738063806942527......
  • matlab分布式发电对配电网的影响 研究分布式电源对配电网网损
    matlab分布式发电对配电网的影响研究分布式电源对配电网网损的影响\\t分布式电源容量对网损的影响\\t分布式电源位置对网损的影响\\t分布式电源对配电网电压支撑作用\\t分布式电源接入位置对配电网电压作用分布式电源容量对电压支撑作用ID:98180637966441016......
  • 分布式事务
    一、分布式基础        1、分布式事务:        2、CAP理论:        3、BASE理论:   使用分布式事务的原则:不用分布式事务最好。如何无法不得不用,则考虑业务出错的频率,频率低,可以走人工补偿,频率高则引入分布式事务。   ......
  • 风电分布式并网模型 Wind Farm Simulation Model。 Matlab/simulink
    风电分布式并网模型WindFarmSimulationModel。Matlab/simulink1、共2个火电厂,4个风电场,共15个节点。火电厂:1号火电厂,设定为SwingBus;2号火电厂,设定为PVBus。(在汽轮机调节器可进行调节励磁系统的控制方式)风电厂:4个风电厂;各个风电厂的风速可......
  • anolis 8.8 (CentOS 8) 环境下搭建青岛大学OJ
    #yum-yinstallpython3-pip  //systemreplied:Packagepython3-pip-9.0.3-22.an8.noarchisalreadyinstalled.#pipinstalldocker-compose //systemreplied:  bash:pip:commandnotfound...#whereispip //systemreplied:  pip:/usr/bin/pip3.6#cd/u......
  • SpringBoot+Mybatis搭建之采坑记录(持续更新...)
    Stoppingservice[Tomcat] 1.缺少Serivce注解无法启动tomcat 2.包名错误3.写了注解没写参数使用Eclipse调试Springboot项目时总是直接进入SilentExitExceptionHandler解决方案:Window-->Preference-->java-->debug-->Suspendexecutiononuncaughtexceptions选项前面的勾......
  • Eclipse搭建springBoot进阶篇-SpringBoot+Mybatis
    Eclipse搭建springBoot入门篇 在入门篇了搭建了一个简单的SpringBoot的Demo,在进阶篇将真正引入实战,也就是能支撑基本的企业中小型项目开发。本次通过springBoot+Mybatis+maven等搭建一个适用于开发中小型项目的简单架构pom文件需要更新maven的jar,对java包进行下载。<?xmlversi......
  • Eclipse搭建springBoot入门篇
    一、SpringBoot介绍SpringBoot是由Pivotal团队提供的全新框架,其设计目的是用来简化新Spring应用的初始搭建以及开发过程。该框架使用了特定的方式来进行配置,从而使开发人员不再需要定义样板化的配置。通过这种方式,SpringBoot致力于在蓬勃发展的快速应用开发领域(rapidapplicati......