Hadoop完全分布式配置
admin
2023-03-24 00:40:35
0
 
一、首先说一下,Hadoop有三种运行模式。
第一个是独立(或本地)运行模式:无需运行任何守护进程,所有程序都在一个同一个JVM上执行。
第二个是伪分布模式:Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。
第三个是全分布模式,也就是通常所说的完全分布式模式:Hadoop守护进程运行在一个集群上。
 
 
下面简单介绍下完全分布式的配置:
 
首先准备三台机器,系统公共配置部分:
 
系统信息:
[root@hadoop1 ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[centos@hadoop1 ~]$ uname -r
2.6.32-573.el6.x86_64
[root@hadoop1 ~]# uname -m
x86_64
 
公共操作用户:centos
centos用户在/etc/sudoers中的公共配置:
[root@hadoop1 ~]# grep centos /etc/sudoers
centos ALL=(ALL) NOPASSWD: ALL
 
环境变量如下:
[root@hadoop1 ~]# tail -16 /etc/profile
#java
JAVA_HOME=/home/centos/download/jdk
PATH=$JAVA_HOME/bin:$PATH
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JAVA_HOME
export CLASSPATH
#hadoop
HADOOP_HOME=/home/centos/download/hadoop
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export PATH
 
主机IP域名映射如下:
[root@hadoop1 ~]# cat /etc/hosts
10.0.0.101 hadoop1
10.0.0.102 hadoop2
10.0.0.103 hadoop3
 
 
主节点IP为:
[root@hadoop1 ~]# ifconfig | awk -F '[ :]+' 'NR==2{print $4}'
10.0.0.101
从节点IP分别为:
[root@hadoop2 ~]# ifconfig | awk -F '[ :]+' 'NR==2{print $4}'
10.0.0.102
[root@hadoop3 ~]# ifconfig | awk -F '[ :]+' 'NR==2{print $4}'
10.0.0.103
 
Java版本
[root@hadoop1 ~]# java  -version
java version "1.8.0_65"
Java(TM) SE Runtime Environment (build1.8.0_65-b17)
Java HotSpot(TM) 64-Bit Server VM (build25.65-b01, mixed mode)
 
Hadoop版本
[root@hadoop1 ~]# hadoop version
Hadoop 2.7.3
Subversionhttps://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccff
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum2e4ce5f957ea4db193bce3734ff29ff4
This command was run using/home/centos/download/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
 
 
 
二、配置ssh
首先在三台机器上的家目录分别执行下述生成密钥对脚本,这样的话,三台机器的centos之间就可以免密码登录、免密码传输文件等操作。
[centos@hadoop1 ~]$ ll createssh.sh
-rwxr-xr-x 1 centos centos 51 May 14 11:05createssh.sh
[centos@hadoop1 ~]$ cat createssh.sh
#!/bin/sh
ssh-keygen -t rsa -P '' -f ~/.ssh/id_rsa
 
然后在三台机器上的家目录分别执行下述分发公钥
[centos@hadoop1 ~]$ ll fen.sh
-rwxr-xr-x 1 centos centos 142 May 14 12:14fen.sh
[centos@hadoop1 ~]$ cat fen.sh
#!/bin/sh
ssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop1
ssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop2
ssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop3
 
#上述只是在执行的时候会输入yes和系统用户密码,其他在执行的时候就不会再次输入密码了。执行SSH的目的是,比如在配置好完全分布式的时候,主节点会自动吊起从节点的日志并且往里面写入数据,此时SSH的密钥对就起作用了。
 
#经常碰到的坑,要配置三台机器家目录中.ssh的权限为700,而且要配置家目录中.ssh目录中的authorized_keys权限为644.
[centos@hadoop1 ~]$ chmod 700 .ssh
[centos@hadoop1 ~]$ chmod 644  .ssh/authorized_keys
 
 
三、重点的配置文件内容
 
#三台机器共同配置
[centos@hadoop1 ~]$ grep JAVA_HOME download/hadoop/etc/hadoop/hadoop-env.sh
# The only required environment variable isJAVA_HOME.  All others are
# set JAVA_HOME in this file, so that it iscorrectly defined on
export JAVA_HOME=/home/centos/download/jdk   #JAVA环境变量要在这再配置一下
 
[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/core-site.xml


       
               fs.defaultFS
               hdfs://hadoop1
       

 
[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/hdfs-site.xml


       
               dfs.replication
                2#副本数,对应从节点数
       

 
[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/mapred-site.xml


       
               mapreduce.framework.name
                yarn
       

 
 
[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/yarn-site.xml


       
               yarn.resourcemanager.hostname
               hadoop1
       
       
               yarn.nodemanager.aux-services
               mapreduce_shuffle
       

 
#注意这里只配置从节点的域名
[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/slaves
hadoop2
hadoop3
 
 
四、启动hadoop
 
#下述命令只在主节点hadoop1中执行!
#首先执行格式化命令
[centos@hadoop1 ~]$ hadoop namenode -format
 
#然后启动hadoop
[centos@hadoop1 ~]$ start-all.sh
 
#查看启动进程
#主节点执行,名称节点只会存在于主节点中,包括文件名称等内容。
[centos@hadoop1 ~]$ jps
2736 SecondaryNameNode
2961 Jps
2889 ResourceManager
2539 NameNode 
 
#从节点执行,数据节点只会存在于从节点,是真正存放数据的地方。
[centos@hadoop2 ~]$ jps
2322 NodeManager
2234 DataNode
2380 Jps
 
[centos@hadoop3 ~]$ jps
2481 DataNode
2646 Jps
2569 NodeManager
 
 
#临时文件都生成在了根目录下的/tmp目录下
[centos@hadoop1 ~]$ ll /tmp/
total 32
drwxrwxr-x 3 centos centos 4096 May 1414:05 hadoop-centos
-rw-rw-r-- 1 centos centos    5 May 14 14:06 hadoop-centos-namenode.pid
-rw-rw-r-- 1 centos centos    5 May 14 14:06hadoop-centos-secondarynamenode.pid
drwxr-xr-x 2 centos centos 4096 May 1414:06 hsperfdata_centos
drwxrwxr-x 3 centos centos 4096 May 1414:06 Jetty_0_0_0_0_50070_hdfs____w2cu08
drwxrwxr-x 3 centos centos 4096 May 1414:06 Jetty_0_0_0_0_50090_secondary____y6aanv
drwxrwxr-x 4 centos centos 4096 May 1414:06 Jetty_hadoop1_8088_cluster____.jtly5k
-rw-rw-r-- 1 centos centos    5 May 14 14:06yarn-centos-resourcemanager.pid

相关内容

热门资讯

DeepSeek塞进苹果本儿,... 文 | 字母AI 在agent时代最贵的是什么?是token。 一些重度agent使用者,一个月用...
中美将于5月12日—13日举行... 有记者问:近期有消息称,中美双方将很快举行下一轮经贸磋商,请问商务部是否有最新消息?答:经中美双方商...
华为申请语音交互方法专利,提升... 国家知识产权局信息显示,华为技术有限公司申请一项名为“一种语音交互方法和电子设备”的专利,公开号CN...
事关俄乌冲突,普京释放重要信号 据中国新闻网援引塔斯社报道,当地时间5月9日,俄罗斯总统普京在记者会上表示,他既不会主动提出、也不会...
藏语大模型亮相北京科博会 弥合... 新华社北京5月10日电 题:藏语大模型亮相北京科博会 弥合AI时代“数字鸿沟” 新华社记者郭沛然 对...
光帆带摄像头AI耳机本月开售,... 5月9日,光帆科技官方账号发布发售预热海报。海报显示,全球首款具备视觉感知能力的主动式AI耳机——光...
我国“太极计划”获关键突破 据新华社消息,记者5月9日从中国科学院力学研究所获悉,我国空间引力波探测“太极计划”传来新消息,科研...
武汉大学的声明,有点搞笑 就在刚刚,武汉大学出来发声明了。为什么发声明呢?主要的原因,就是前两天,OPPO发布的一个母亲节活动...
1.766亿独生子女的难题 他们是中国历史上最特殊的一代人。生于计划生育最严的年代,长在“一对夫妻一个孩”的时代。据中国社科院人...
女子出租屋凌晨疑遭陌生人闯入,... 极目新闻记者 郭奕据红星新闻报道,居住在杭州的女子小鱼(化名)在社交媒体上发布了一段拍摄于4月28日...