Hadoop三种安装模式:单机模式,伪分布式,真正分布式

一 单机模式standalone
单 机模式是Hadoop的默认模式。当首次解压Hadoop的源码包时,Hadoop无法了解硬件安装环境,便保守地选择了最小配置。在这种默认模式下所有 3个XML文件均为空。当配置文件为空时,Hadoop会完全运行在本地。因为不需要与其他节点交互,单机模式就不使用HDFS,也不加载任何 Hadoop的守护进程。该模式主要用于开发调试MapReduce程序的应用逻辑。

二 伪分布模式安装
tar xzvf hadoop-0.20.2.tar.gz
Hadoop的配置文件:
conf/hadoop-env.sh 配置JAVA_HOME
core-site.xml 配置HDFS节点名称和地址
hdfs-site.xml 配置HDFS存储目录,复制数量
mapred-site.xml 配置mapreduce的jobtracker地址

配置ssh,生成密匙,使到ssh可以免密码连接
(RSA算法,基于因数不对称加密:公钥加密私钥才能解密,私钥加密公钥才能解密)
cd /root
ssh -keygen -t rsa
cd .ssh
cp id_rsa.pub authorized_keys覆盖公钥,就能免密码连接

启动Hadoop bin/start-all.sh
停止Hadoop bin/stop-all.sh

二 完全分布式模式
1. 配置etc/hosts文件,使主机名解析为IP 或者使用DNS服务解析主机名
2. 建立hadoop运行用户: useradd grid>passwd grid
3. 配置ssh密码连入: 每个节点用grid登录,进入主工作目录,ssh -keygen -t rsa生产公钥,然后将每个节点的公钥复制到同一个文件中,再将这个包含所有节点公钥的文件复制到每个节点authorized_keys目录,这个每个 节点之间彼此可以免密码连接
4. 下载并解压hadoop安装包
5. 配置namenode,修改site文件
6. 配置hadoop-env.sh
7. 配置masters和slaves文件
8. 向各个节点复制hadoop
9. 格式化namenode
10.启动hadoop
11.用jps检验各后台进程是否成功启动

vim /etc/hosts
vim /etc/sysconfig/network
vim /etc/sysconfig/network-scripts/ifcfg-eth0
service network restart

service NetworkManager stop
chkconfig NetworkManager off
service iptables stop
chkconfig iptables off
service ip6tables stop
chkconfig ip6tables off
vim /etc/sysconfig/selinux enforce–>disabled
setenforce 0
getenforce

useradd hadoop
passwd hadoop

secureCRT生产公钥,将公钥拷贝到/home/hadoop/.ssh下:
chmod 700 .ssh
ssh-keygen -i -f PubKey_Master_Hadoop.pub >> authorized_key
chmod 600 authorized_keys
vim /etc/ssh/sshd-config 如下:
RSAAuthentication yes # 启用 RSA 认证
PubkeyAuthentication yes # 启用公钥私钥配对认证方式
AuthorizedKeysFile .ssh/authorized_keys # 公钥文件路径(和上面生成的文件同)
PasswordAuthentication no # 禁止密码验证登陆(根据需要,不过一般启用了密钥,就不用密码了)
service sshd restart
secureCRT使用PublicKey(PubKey_Master_Hadoop.pub)连接测试

Master 使用ssh公钥连接Slave:
挂载光盘,创建yum源:
vim /etc/fstab
vim /etc/yum.repos.d/rhel-source.repo
yum -y install ssh
yum -y install rsync

Master host:
mkdir .ssh
ssh-keygen –t rsa –P ”
cat id_rsa.pub >> authorized_keys
chmod 700 .ssh
chmod 600 authorized_keys
ssh localhost
scp id_rsa.pub hadoop@192.168.175.12:~/,ssh
ssh 192.168.175.12

Slave host:
mkdir .ssh
cat id_rsa.pub >> authorized_keys
chmod 700 .ssh
chmod 600 authorized_keys
vim /etc/ssh/sshd-config 如上
service sshd restart

安装java:拷贝到/usr/hava
chmod +x jdk-6u37-linux-x64.bin
vim /etc/profile 添加JAVA_HOME
source /etc profile
=================================
安装hadoop-1.2.0:拷贝到/usr/hadoop-1.2.0,所以者和组修改为hadoop
vim /etc/profile:
export JAVA_HOME=/usr/java/jdk1.6.0_37
export HADOOP_HOME=/usr/hadoop-1.2.0
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /etc/profile

配置hadoop-env.sh: 目录:/usr/hadoop/conf
#export HADOOP_ROOT_LOGGER=DEBUG,console
export JAVA_HOME=/usr/java/jdk1.6.0_37
export HADOOP_HOME_WARN_SUPPRESS=1

配置core-site.xml文件:
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop-1.2.0/tmp</value>
<description>A base for other temporary directories.</description>
</property>
<!– file system properties –>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.175.11:9000</value>
</property>

配置hdfs-site.xml文件:
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.datanode.max.xcievers</name> //同时处理文件上限,hbase并发比较大,至少要4096
<value>4096</value>
</property>
<property>
<name>dfs.support.append</name> //如不指定,在使用HDFS存储的时候,HBase可能会遗失数据
<value>true</value>
</property>

配置mapred-site.xml文件:
<property>
<name>mapred.job.tracker</name>
<value>http://192.168.175.11:9001</value>
</property>

配置masters文件:
master.hadoop或者192.168.175.11
配置slave文件:
slave1.hadoop或者192.168.175.12
slave2.hadoop或者192.168.175.13
slave3.hadoop或者192.168.175.14

=================================
安装hadoop-2.0.5:拷贝到/usr
tar -zxvf hadoop-2.0.5-alpha.tar.gz
mv hadoop-2.0.5-alpha /usr/hadoop
chown -R hadoop:hadoop hadoop
vim /etc/profile:
# set hadoop path
export HADOOP_HOME=/usr/hadoop
export PATH=$PATH:$HADOOP_HOME:$HADOOP_HOME/bin
source /etc/profile

配置hadoop-env.sh: 目录:/usr/hadoop/etc/hadoop
在末尾添加:export JAVA_HOME=/usr/java/jdk1.6.0_37
配置yarn-env.sh和 .bash_profile:
export HADOOP_PREFIX=/usr/hadoop
export PATH=$PATH:$HADOOP_PREFIX/bin
export PATH=$PATH:$HADOOP_PREFIX/sbin
export HADOOP_MAPRED_HOME=${HADOOP_PREFIX}
export HADOOP_COMMON_HOME=${HADOOP_PREFIX}
export HADOOP_HDFS_HOME=${HADOOP_PREFIX}
export YARN_HOME=${HADOOP_PREFIX}
export HADOOP_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop
export YARN_CONF_DIR=${HADOOP_FREFIX}/etc/hadoop

配置core-site.xml文件:
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop/tmp</value> (备注:请先在 /usr/hadoop 目录下建立 tmp 文件夹)
<description>A base for other temporary directories.</description>
</property>
<!– file system properties –>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.175.11:9000</value>
</property>
</configuration>
配置hdfs-site.xml文件:修改Hadoop中HDFS的配置,配置的备份方式默认为3。
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value> (备注:replication 是数据副本数量,默认为3,salve少于3台就会报错)
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/hadoop/dfs/name</value>
<final>true</final>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/hadoop/dfs/data</value>
<final>true</final>
</property>
<configuration>
配置mapred-site.xml文件:修改Hadoop中MapReduce的配置文件,配置的是JobTracker的地址和端口。
<configuration>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://192.168.175.11:9001</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.system.dir</name>
<value>file:/home/hadoop/mapred/system</value>
<final>true</final>
</property>
<property>
<name>mapred.local.dir</name>
<value>file:/home/hadoop/mapred/local</value>
<final>true</final>
</property>
<property>
<name>mapred.job.tracker</name>
<value>hdfs://192.168.175.11:9001</value>
</property>
</configuration>
配置yarn-site.xml:
<configuration>
<property>
<name>yarn.resourcemanager.address</name>
<value>192.168.175.11:8080</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>192.168.175.11:8081</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>192.168.175.11:8082</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce.shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
</configuration>

配置masters文件:
master.hadoop或者192.168.175.11
配置slave文件:
slave1.hadoop或者192.168.175.12
slave2.hadoop或者192.168.175.13
slave3.hadoop或者192.168.175.14

mkdir -p /usr/hadoop/tmp
mkdir -p /home/hadoop/dfs/data
mkdir -p /home/hadoop/dfs/name
mkdir -p /home/hadoop/mapred/system
mkdir -p /home/hadoop/mapred/local

格式化HDFS文件系统:使用hadoop用户,只需格式一次:hadoop namenode -format
开始守护进程
# hadoop-daemon.sh start namenode
# hadoop-daemon.sh start datanode
可以同时启动:start-dfs.sh
开始 Yarn 守护进程
# yarn-daemon.sh start resourcemanager
# yarn-daemon.sh start nodemanager
或同时启动:start-yarn.sh
检查守护进程是否启动
# jps

将hadoop日志级别改为debug,并且在控制台输出:export HADOOP_ROOT_LOGGER=DEBUG,console

Hadoop三种安装模式:单机模式,伪分布式,真正分布式的更多相关文章

  1. Hadoop 2.x 版本的单机模式安装

    Hadoop 2.x 版本比起之前的版本在Hadoop和MapReduce上做了许多变化,主要的变化之一,是JobTracker被ResourceManager和ApplicationManager所 ...

  2. Centos7安装Nacos单机模式以及集群模式(包含nignx安装以及实现集群)的相关配置

    Nacos 致力于帮助您发现.配置和管理微服务.Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现.服务配置.服务元数据及流量管理. Nacos支持三种部署模式 单机模式 - 用于测试 ...

  3. Tomcat Connector的三种不同的运行模式

    Tomcat Connector的三种不同的运行模式性能相差很大,有人测试过的结果如下: 这三种模式的不同之处如下: BIO: 一个线程处理一个请求.缺点:并发量高时,线程数较多,浪费资源. Tomc ...

  4. LVS负载均衡常用的工作模式有NAT、DR、和TUN三种,其中DR模式性能最为优越,使用最为广泛。

    一.安装LVS LVS的编译安装参考本站文章:http://www.linuxe.cn/post-192.html,对于LVS这种功能性软件,在生产中用yum安装也是没有问题的. 1 yum inst ...

  5. Hadoop三种架构介绍及搭建

    apache  hadoop三种架构介绍(standAlone,伪分布,分布式环境介绍以及安装) hadoop 文档 http://hadoop.apache.org/docs/ 1.StandAlo ...

  6. grub安装的 三种安装方式

    1. 引言 grub是什么?最常态的理解,grub是一个bootloader或者是一个bootmanager,通过grub可以引导种类丰富的系统,如linux.freebsd.windows等.但一旦 ...

  7. 【转】vue.js三种安装方式

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  8. vue.js三种安装方式

    Vue.js(读音 /vjuː/, 类似于 view)是一个构建数据驱动的 web 界面的渐进式框架.Vue.js 的目标是通过尽可能简单的 API 实现响应的数据绑定和组合的视图组件.它不仅易于上手 ...

  9. hadoop2.7【单节点】单机、伪分布、分布式安装指导

    问题导读 1.从本文部署实际部署,总结本地模式.伪分布.分布式的区别是什么?2.单机是否是伪分布?3.本地模式是否可以运行mapreduce? 来源:about云 http://www.aboutyu ...

随机推荐

  1. php 或js 常用的正则表达式

    1.    平时做网站经常要用正则表达式,下面是一些讲解和例子,仅供大家参考和修改使用:2.    "^\d+$" //非负整数(正整数 + 0)3.    "^[0-9 ...

  2. Siri开源了,33%的开发者持疑虑态度,你呢?

    33%的中国开发者对Siri 开放持疑虑态度? 目前来说在iOS 10中,Siri API仅仅支持六类应用程序:打车,通讯,照片搜索,支付,网络电话和锻炼.另外还有一个面向汽车制造商的特殊使用案例,让 ...

  3. Speed-BI 多事实表与表间计算的应用:销售目标达成分析 另一种实现方法

    在前一篇<Speed-BI多事实表与表间计算的应用(excel多Sheet关联分析):销售目标达成分析>http://www.powerbibbs.com/forum. ... 7583& ...

  4. Python模块(pickle)

    pickle 序列化和反序列化 序列化作用 序列化使用 cPickle使用例 Python提供一个标准的模块,称为pickle.使用它你可以在一个文件中储存任何Python对象,之后你又可以把它完整无 ...

  5. 使用sh-x调试shell脚本_转

    参考:http://blog.chinaunix.net/uid-20564848-id-73502.html 1. 通过sh -x 脚本名  #显示脚本执行过程2.脚本里set -x选项,轻松跟踪调 ...

  6. itunes connect

    https://developer.apple.com/library/content/documentation/LanguagesUtilities/Conceptual/iTunesConnec ...

  7. spring mvc 的Controller类默认Scope是单例(singleton)的

    使用Spring MVC有一段时间了,之前一直使用Struts2,在struts2中action都是原型(prototype)的, 说是因为线程安全问题,对于Spring MVC中bean默认都是(s ...

  8. linux:主机规划和磁盘分割

    1>.在linux系统中,每个装置都被装成一个档案来对待: 2>.各硬体装置在linux当中的档案名:SATA介面的硬碟的档案名为/dev/sd[a-d];在linux中,几乎所以的硬体装 ...

  9. PAT 解题报告 1003. Emergency (25)

    1003. Emergency (25) As an emergency rescue team leader of a city, you are given a special map of yo ...

  10. Java数组(初学者必看)

    数组无论在哪种编程语言中都算是最重要的数据结构之一,同时不同语言的实现及处理也不尽相同.但凡写过一些程序的人都知道数组的价值及理解数组的重要性,与链表一道,数组成为了基本的数据结构.尽管Java提供了 ...