加入收藏 | 设为首页 | 会员中心 | 我要投稿 牡丹江站长网 (https://www.0453zz.com/)- 科技、建站、经验、云计算、5G、大数据,站长网!
当前位置: 首页 > 运营中心 > 建站资源 > 优化 > 正文

Hadoop之完全分布式集群

发布时间:2019-09-28 01:24:59 所属栏目:优化 来源:kocdaniel
导读:首先准备三台客户机(hadoop102,hadoop103,hadoop104),关闭防火墙,修改为静态ip和ip地址映射 配置集群 编写集群分发脚本 创建一个远程同步的脚本xsync,并放到当前用户下新建的bin目录下,配置到PATH中,使得此脚本在任何目录下都可以执行 脚本实现 [ko
副标题[/!--empirenews.page--]

首先准备三台客户机(hadoop102,hadoop103,hadoop104),关闭防火墙,修改为静态ip和ip地址映射

Hadoop之完全分布式集群

配置集群

编写集群分发脚本

  1. 创建一个远程同步的脚本xsync,并放到当前用户下新建的bin目录下,配置到PATH中,使得此脚本在任何目录下都可以执行
  2. 脚本实现
  1. [kocdaniel@hadoop102 ~]$ mkdir bin 
  2. [kocdaniel@hadoop102 ~]$ cd bin/ 
  3. [kocdaniel@hadoop102 bin]$ vim xsync 

在文件中编写如下脚本代码

  1. #!/bin/bash 
  2. #1 获取输入参数个数,如果没有参数,直接退出 
  3. pcount=$# 
  4. if((pcount==0)); then 
  5. echo no args; 
  6. exit; 
  7. fi 
  8.  
  9. #2 获取文件名称 
  10. p1=$1 
  11. fname=`basename $p1` 
  12. echo fname=$fname 
  13.  
  14. #3 获取上级目录到绝对路径 –P指向实际物理地址,防止软连接 
  15. pdir=`cd -P $(dirname $p1); pwd` 
  16. echo pdir=$pdir 
  17.  
  18. #4 获取当前用户名称 
  19. user=`whoami` 
  20.  
  21. #5 循环 
  22. for((host=103; host<105; host++)); do 
  23.         echo ------------------- hadoop$host -------------- 
  24.         rsync -rvl $pdir/$fname $user@hadoop$host:$pdir 
  25. done 
  1. 修改脚本xsync具有执行权限,并调用脚本,将脚本复制到103和104节点
  1. [kocdaniel@hadoop102 bin]$ chmod 777 xsync 
  2. [kocdaniel@hadoop102 bin]$ xsync /home/atguigu/bin 

集群配置

1.集群部署规划

Hadoop之完全分布式集群

由于计算机配置有限,只能使用三台虚拟机,工作环境中根据需要规划集群

2.配置集群

切换到hadoop安装目录/etc/hadoop/

  • 配置core-site.xml
  1. [kocdaniel@hadoop102 hadoop]$ vim core-site.xml 
  2. # 在文件中写入如下内容 
  3. <!-- 指定HDFS中NameNode的地址 --> 
  4. <property> 
  5.     <name>fs.defaultFS</name> 
  6.       <value>hdfs://hadoop102:9000</value> 
  7. </property> 
  8.  
  9. <!-- 指定Hadoop运行时产生文件的存储目录 --> 
  10. <property> 
  11.         <name>hadoop.tmp.dir</name> 
  12.         <value>/opt/module/hadoop-2.7.2/data/tmp</value> 
  13. </property>
  • HDFS配置文件

配置hadoop-env.sh

  1. [kocdaniel@hadoop102 hadoop]$ vim hadoop-env.sh 
  2. export JAVA_HOME=/opt/module/jdk1.8.0_144 

export JAVA_HOME=/opt/module/jdk1.8.0_144

注意:我们已经在/etc/profile文件中配置了JAVA_HOME,这里为什么还需要配置JAVA_HOME?

答:因为Hadoop运行是守护进程(守护进程是一个在后台运行并且不受任何终端控制的进程。--摘自百度百科)),正是因为它后台运行,不接受任何终端控制,所以它读取不到我们配置好的环境变量,所以这里需要单独配置一下。

  • 配置hdfs-site.xml
  1. [kocdaniel@hadoop102 hadoop]$ vim hdfs-site.xml 
  2. # 写入如下配置 
  3. <!-- 配置副本数量为3,默认也为3,所以这个也可以删掉 --> 
  4. <property> 
  5.         <name>dfs.replication</name> 
  6.         <value>3</value> 
  7. </property> 
  8.  
  9. <!-- 指定Hadoop辅助名称节点主机配置 --> 
  10. <property> 
  11.       <name>dfs.namenode.secondary.http-address</name> 
  12.       <value>hadoop104:50090</value> 
  13. </property> 
  • YARN配置文件

(编辑:牡丹江站长网)

【声明】本站内容均来自网络,其相关言论仅代表作者个人观点,不代表本站立场。若无意侵犯到您的权利,请及时与联系站长删除相关内容!