Hadoop完全分布式配置

 
一、首先说一下,Hadoop有三种运行模式。
第一个是独立(或本地)运行模式:无需运行任何守护进程,所有程序都在一个同一个JVM上执行。
第二个是伪分布模式:Hadoop守护进程运行在本地机器上,模拟一个小规模的集群。
第三个是全分布模式,也就是通常所说的完全分布式模式:Hadoop守护进程运行在一个集群上。
 
 
下面简单介绍下完全分布式的配置:
 
首先准备三台机器,系统公共配置部分:
 
系统信息:
[[email protected] ~]# cat /etc/redhat-release
CentOS release 6.7 (Final)
[[email protected] ~]$ uname -r
2.6.32-573.el6.x86_64
[[email protected] ~]# uname -m
x86_64
 
公共操作用户:centos
centos用户在/etc/sudoers中的公共配置:
[[email protected] ~]# grep centos /etc/sudoers
centos ALL=(ALL) NOPASSWD: ALL
 
环境变量如下:
[[email protected] ~]# 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域名映射如下:
[[email protected] ~]# cat /etc/hosts
10.0.0.101 hadoop1
10.0.0.102 hadoop2
10.0.0.103 hadoop3
 
 
主节点IP为:
[[email protected] ~]# ifconfig | awk -F ‘[ :]+‘ ‘NR==2{print $4}‘
10.0.0.101
从节点IP分别为:
[[email protected] ~]# ifconfig | awk -F ‘[ :]+‘ ‘NR==2{print $4}‘
10.0.0.102
[[email protected] ~]# ifconfig | awk -F ‘[ :]+‘ ‘NR==2{print $4}‘
10.0.0.103
 
Java版本
[[email protected] ~]# 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版本
[[email protected] ~]# 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之间就可以免密码登录、免密码传输文件等操作。
[[email protected] ~]$ ll createssh.sh
-rwxr-xr-x 1 centos centos 51 May 14 11:05createssh.sh
[[email protected] ~]$ cat createssh.sh
#!/bin/sh
ssh-keygen -t rsa -P ‘‘ -f ~/.ssh/id_rsa
 
然后在三台机器上的家目录分别执行下述分发公钥
[[email protected] ~]$ ll fen.sh
-rwxr-xr-x 1 centos centos 142 May 14 12:14fen.sh
[[email protected] ~]$ cat fen.sh
#!/bin/sh
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
ssh-copy-id -i ~/.ssh/id_rsa.pub [email protected]
 
#上述只是在执行的时候会输入yes和系统用户密码,其他在执行的时候就不会再次输入密码了。执行SSH的目的是,比如在配置好完全分布式的时候,主节点会自动吊起从节点的日志并且往里面写入数据,此时SSH的密钥对就起作用了。
 
#经常碰到的坑,要配置三台机器家目录中.ssh的权限为700,而且要配置家目录中.ssh目录中的authorized_keys权限为644.
[[email protected] ~]$ chmod 700 .ssh
[[email protected] ~]$ chmod 644  .ssh/authorized_keys
 
 
三、重点的配置文件内容
 
#三台机器共同配置
[[email protected] ~]$ 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环境变量要在这再配置一下
 
[[email protected] ~]$ cat download/hadoop/etc/hadoop/core-site.xml
<?xml version="1.0"?>
<configuration>
       <property>
               <name>fs.defaultFS</name>
               <value>hdfs://hadoop1</value>
       </property>
</configuration>
 
[[email protected] ~]$ cat download/hadoop/etc/hadoop/hdfs-site.xml
<?xml version="1.0"?>
<configuration>
       <property>
               <name>dfs.replication</name>
                <value>2</value>#副本数,对应从节点数
       </property>
</configuration>
 
[[email protected] ~]$ cat download/hadoop/etc/hadoop/mapred-site.xml
<?xml version="1.0"?>
<configuration>
       <property>
               <name>mapreduce.framework.name</name>
                <value>yarn</value>
       </property>
</configuration>
 
 
[[email protected] ~]$ cat download/hadoop/etc/hadoop/yarn-site.xml
<?xml version="1.0"?>
<configuration>
       <property>
               <name>yarn.resourcemanager.hostname</name>
               <value>hadoop1</value>
       </property>
       <property>
               <name>yarn.nodemanager.aux-services</name>
               <value>mapreduce_shuffle</value>
       </property>
</configuration>
 
#注意这里只配置从节点的域名
[[email protected] ~]$ cat download/hadoop/etc/hadoop/slaves
hadoop2
hadoop3
 
 
四、启动hadoop
 
#下述命令只在主节点hadoop1中执行!
#首先执行格式化命令
[[email protected] ~]$ hadoop namenode -format
 
#然后启动hadoop
[[email protected] ~]$ start-all.sh
 
#查看启动进程
#主节点执行,名称节点只会存在于主节点中,包括文件名称等内容。
[[email protected] ~]$ jps
2736 SecondaryNameNode
2961 Jps
2889 ResourceManager
2539 NameNode 
 
#从节点执行,数据节点只会存在于从节点,是真正存放数据的地方。
[[email protected] ~]$ jps
2322 NodeManager
2234 DataNode
2380 Jps
 
[[email protected] ~]$ jps
2481 DataNode
2646 Jps
2569 NodeManager
 
 
#临时文件都生成在了根目录下的/tmp目录下
[[email protected] ~]$ 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
时间: 2024-11-05 13:31:47

Hadoop完全分布式配置的相关文章

Hadoop 配置(2)-Hadoop伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件. Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml .Hadoop的配置文件是 xml 格式,每个配置以声明 property 的 name 和 value 的方式来实现.

Hadoop伪分布式配置

Hadoop 可以在单节点上以伪分布式的方式运行,Hadoop 进程以分离的 Java 进程来运行,节点既作为 NameNode 也作为 DataNode,同时,读取的是 HDFS 中的文件. Hadoop 的配置文件位于 /usr/local/hadoop/etc/hadoop/ 中,伪分布式需要修改2个配置文件 core-site.xml 和 hdfs-site.xml .Hadoop的配置文件是 xml 格式. 修改配置文件 core-site.xml: 通过 gedit 编辑会比较方便:

转载:Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

原文 http://www.powerxing.com/install-hadoop/ 当开始着手实践 Hadoop 时,安装 Hadoop 往往会成为新手的一道门槛.尽管安装其实很简单,书上有写到,官方网站也有 Hadoop 安装配置教程,但由于对 Linux 环境不熟悉,书上跟官网上简略的安装步骤新手往往 Hold 不住.加上网上不少教程也甚是坑,导致新手折腾老几天愣是没装好,很是打击学习热情. 本教程适合于原生 Hadoop 2,包括 Hadoop 2.6.0, Hadoop 2.7.1

Hadoop安装教程_单机/伪分布式配置_Hadoop2.6.0/Ubuntu14.04

参见:http://www.powerxing.com/install-hadoop/ 完全拷贝至上面网址 环境 本教程使用 Ubuntu 14.04 64位 作为系统环境(Ubuntu 12.04 也行,32位.64位均可),请自行安装系统. 如果用的是 RedHat/CentOS 系统,请查看相应的CentOS安装Hadoop教程_单机伪分布式配置. 本教程基于原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下验证通过,可适合任何 Hadoop 2.x.y 版本,

虚拟机下Linux系统Hadoop单机/伪分布式配置:Hadoop2.5.2+Ubuntu14.04(半原创)

系统: Ubuntu 14.04 64bit Hadoop版本: Hadoop 2.5.2 (stable) JDK版本: JDK 1.6 虚拟机及Ubuntu安装 1. 下载并安装 VMware workstation 11 下载地址:https://my.vmware.com/web/vmware/info/slug/desktop_end_user_computing/vmware_workstation/11_0?wd=%20VMware%20workstation%2011%20&is

Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0

Hadoop安装教程_单机/伪分布式配置_CentOS6.4/Hadoop2.6.0 环境 本教程使用 CentOS 6.4 32位 作为系统环境,请自行安装系统.如果用的是 Ubuntu 系统,请查看相应的 Ubuntu安装Hadoop教程. 本教程基于原生 Hadoop 2,在 Hadoop 2.6.0 (stable) 版本下验证通过,可适合任何 Hadoop 2.x.y 版本,例如 Hadoop 2.7.1, Hadoop 2.4.1等. Hadoop版本 Hadoop 有两个主要版本,

Hadoop伪分布式的搭建

实验平台: Virtual Box 4.3.24 CentOS7 JDK 1.8.0_60 Hadoop 2.6.0 Hadoop基本安装配置主要包括以下几个步骤: 1)创建Hadoop用户 2)安装Java 3)设置SSH登陆权限 4)单机安装配置 5)伪分布式安装配置 1.1 创建Hadoop用户 linux创建用户的命令是useradd,设置密码的命令是passwd 在CentOS下,首先我们通过useradd命令创建一个Hadoop用户组,它的密码也是Hadoop: useradd ha

Ubuntu14.04下hadoop-2.6.0单机配置和伪分布式配置

在Ubuntu下创建hadoop用户组和用户 hadoop的管理员最好就是以后要登录桌面环境运行eclipse的用户,否则后面会有拒绝读写的问题出现.当然不是也有办法办法解决. 1. 创建hadoop用户组; [html] view plaincopy sudo addgroup hadoop 2. 创建hadoop用户; [html] view plaincopy sudo adduser -ingroup hadoop hadoop 3. 给hadoop用户添加权限,打开/etc/sudoe

Hadoop伪分布式的部署

一.部署前的准备 (1)软件 一个空白的CentOS映像文件 Xshell(用于传输文件) (2)虚拟机配置 网络配置:网络适配器选择桥接 ip地址.子网掩码.网关.DNS服务器地址 =>可以在安装时的图形界面完成配置 =>也可以 vim /etc/sysconfig/network-script/ifcfg-ens33 修改 具体如下: IPADDR="192.168.124.x" (和网关在同一网段) NETMASK="255.255.255.0"