Hadoop完全分布式配置
发表于:2025-02-06 作者:千家信息网编辑
千家信息网最后更新 2025年02月06日,一、首先说一下,Hadoop有三种运行模式。第一个是独立(或本地)运行模式:无需运行任何守护进程,所有程序都在一个同一个JVM上执行。第二个是伪分布模式:Hadoop守护进程运行在本地机器上,模拟一个
千家信息网最后更新 2025年02月06日Hadoop完全分布式配置
一、首先说一下,Hadoop有三种运行模式。第一个是独立(或本地)运行模式:无需运行任何守护进程,所有程序都在一个同一个JVM上执行。第二个是伪分布模式:Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。第三个是全分布模式,也就是通常所说的完全分布式模式:Hadoop守护进程运行在一个集群上。 下面简单介绍下完全分布式的配置: 首先准备三台机器,系统公共配置部分: 系统信息:[root@hadoop1 ~]# cat /etc/redhat-releaseCentOS release 6.7 (Final)[centos@hadoop1 ~]$ uname -r2.6.32-573.el6.x86_64[root@hadoop1 ~]# uname -mx86_64 公共操作用户:centoscentos用户在/etc/sudoers中的公共配置:[root@hadoop1 ~]# grep centos /etc/sudoerscentos ALL=(ALL) NOPASSWD: ALL 环境变量如下:[root@hadoop1 ~]# tail -16 /etc/profile#javaJAVA_HOME=/home/centos/download/jdkPATH=$JAVA_HOME/bin:$PATHCLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jarexport JAVA_HOMEexport CLASSPATH#hadoopHADOOP_HOME=/home/centos/download/hadoopPATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbinexport PATH 主机IP域名映射如下:[root@hadoop1 ~]# cat /etc/hosts10.0.0.101 hadoop110.0.0.102 hadoop210.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 -versionjava 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 versionHadoop 2.7.3Subversionhttps://git-wip-us.apache.org/repos/asf/hadoop.git -r baa91f7c6bc9cb92be5982de4719c1c8af91ccffCompiled by root on 2016-08-18T01:41ZCompiled with protoc 2.5.0From source with checksum2e4ce5f957ea4db193bce3734ff29ff4This 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/shssh-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/shssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop1ssh-copy-id -i ~/.ssh/id_rsa.pub centos@hadoop2ssh-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 onexport JAVA_HOME=/home/centos/download/jdk #JAVA环境变量要在这再配置一下 [centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/core-site.xml[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/hdfs-site.xml fs.defaultFS hdfs://hadoop1 [centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/mapred-site.xml dfs.replication 2 #副本数,对应从节点数[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/yarn-site.xml mapreduce.framework.name yarn #注意这里只配置从节点的域名[centos@hadoop1 ~]$ cat download/hadoop/etc/hadoop/slaveshadoop2hadoop3 四、启动hadoop #下述命令只在主节点hadoop1中执行!#首先执行格式化命令[centos@hadoop1 ~]$ hadoop namenode -format #然后启动hadoop[centos@hadoop1 ~]$ start-all.sh #查看启动进程#主节点执行,名称节点只会存在于主节点中,包括文件名称等内容。[centos@hadoop1 ~]$ jps2736 SecondaryNameNode2961 Jps2889 ResourceManager2539 NameNode #从节点执行,数据节点只会存在于从节点,是真正存放数据的地方。[centos@hadoop2 ~]$ jps2322 NodeManager2234 DataNode2380 Jps [centos@hadoop3 ~]$ jps2481 DataNode2646 Jps2569 NodeManager #临时文件都生成在了根目录下的/tmp目录下[centos@hadoop1 ~]$ ll /tmp/total 32drwxrwxr-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.piddrwxr-xr-x 2 centos centos 4096 May 1414:06 hsperfdata_centosdrwxrwxr-x 3 centos centos 4096 May 1414:06 Jetty_0_0_0_0_50070_hdfs____w2cu08drwxrwxr-x 3 centos centos 4096 May 1414:06 Jetty_0_0_0_0_50090_secondary____y6aanvdrwxrwxr-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 yarn.resourcemanager.hostname hadoop1 yarn.nodemanager.aux-services mapreduce_shuffle
节点
配置
机器
目录
三台
模式
运行
密码
文件
进程
分布式
数据
时候
用户
系统
内容
变量
名称
命令
域名
数据库的安全要保护哪些东西
数据库安全各自的含义是什么
生产安全数据库录入
数据库的安全性及管理
数据库安全策略包含哪些
海淀数据库安全审计系统
建立农村房屋安全信息数据库
易用的数据库客户端支持安全管理
连接数据库失败ssl安全错误
数据库的锁怎样保障安全
网络安全需要数学特别好吗
怎么找到软件开发公司电话
互联网高科技公司市销率
网络技术vip未来教育
对计算机网络技术有什么了解
后喻文化时代的网络安全
网络安全法规下载
揭东拼团软件开发定制
信阳精益管理软件开发
计算机系统数据库排名
计算网络技术简历
有线电视网络安全紧急预案
紫光收购惠普服务器
软件开发的70家上市公司
联想软件开发做什么的
网络服务器的应用
厦门吉比网络技术
原生安卓能用谷歌服务器么
服务器默认启动顺序
在数据库中存储图片
关于网络安全的声音
天津运营软件开发创新服务
优势的数据库分表分库
有必要用独立服务器吗
打开数据库时未显示
euleros 代理服务器
计算网络技术简历
联想服务器换硬盘教程
管家婆数据库用户表
网络技术与设计是什么专业