Hadoop完全分布式模式的配置与安装

转自: http://www.cyblogs.com/ 我自己的博客~

首先, 我们需要3台机器, 这里我是在Vmware里面创建了3台虚拟机, 来保证我的Hadoop完全分布式的最基本配置.我这里选择的CentOS, 因为RedHat系列,在企业中比较的受欢迎.安装好后,最后的环境信息:

IP地址

h1: 192.168.230.133  h2: 192.168.230.160  h3: 192.168.230.161 

这里遇见到一个小疑问, 就是修改机器的主机名字.

vim /etc/sysconfig/network

然后重启电脑就OK了. 最基础的环境已经有了, 就是3台机器.

其实,搭建Hadoop的也是不很麻烦,我们来整体的看一下需要哪几个步骤?

  1. 配置hosts
  2. 建立hadoop运行账号
  3. 配置ssh免密码连入
  4. 下载并解压hadoop安装包
  5. 配置namenode, 修改site文件
  6. 配置hadoop-env.sh
  7. 配置master和是slave文件
  8. 向各节点复制hadoop
  9. 格式化namenode
  10. 启动hadoop
  11. 用jps检验各后台进程是否成功启动

我们一步步的来细分, 也许中间有错误或者不足的地方,希望高手们指正. 因为我这里也是初学中,欢迎拍砖.

配置hosts

我们需要在3台机器上面都碰上host,用一个主机名字来代替一串IP地址,世界一下子就清净了.

sudo vim /etc/hosts 192.168.230.133 h1 192.168.230.160 h2 192.168.230.161 h3

建立hadoop运行账号

在这里有人可能觉得不专业了, 因为我想把Hadoop安装在hadoop用户目录下面, 其实当然最好的方法还是安装公用的目录,比如: /usr/local. 我这里只是测试性的, 之后的Hadoop就安装在hadoop用户下了.

sudo groupadd hadoop
sudo useradd -s /bin/bash -d /home/hadoop -m hadoop -g hadoop
sudo passwd hadoop

这里解释一下3条命令的含义:

  1. 建立一个hadoop的组
  2. 添加一个hadoop的用户, 并且在home下面创建hadoop的用户目录, 并添加到hadoop组里
  3. 为hadoop设置密码

配置ssh免密码连入

这步也算重要, 一般在很多机器中, 相同用户之间能够相互免密码访问,在效率上是一件很好的事情,特别是N多机器集群的时候,你想,一个脚本就把所有的事请干完了,多爽.

这里之前运维跟我分享了一个免密码的规则. 大概是这样子的:

线下环境 -->跳板机 --> 生产环境, 这每一个最好还是需要输入密码, 因为这是为了安全起见,然后在每一层相同的用户免密码登入是没问题的, 确实是这样子的一个模式.

ssh-keygen -t dsa -P ‘‘ -f ~/.ssh/id_dsa
cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

分析一下: 1. 生成一个公钥,私钥 
2. 将公钥放入到authorized_keys中去

这里有个问题, 就是需要将其权限修改到600才行

[[email protected] .ssh]$ chown 600 authorized_keys

h1

ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

h2

ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

h3

ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

ssh-copy-id -i ~/.ssh/id_dsa.pub [email protected]

下载并解压hadoop安装包

这次是下载的最新版的:http://mirrors.cnnic.cn/apache/hadoop/common/current/ 2.7.0

我们在h1上配置好所有的需要配置好的参数, 最后全部复制到h2,h3中去.

Hadoop v2.7.0的配置文件在 /home/hadoop/hadoop/etc/hadoop下面, 我们需要一个个的去配置:

[[email protected] hadoop]$ vim core-site.xml <configuration> <property> <name>fs.default.name</name> <value>hdfs://h1:9000</value> <final>true</final> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/hadoop/tmp</value> <description>A bas for other temporary directories</description> </property> </configuration>

然后:

[hadoop@h1 hadoop]$ vim hadoop-env.sh export JAVA_HOME=/opt/java/jdk1.7.0_55

这里如果不知道JAVA_HOME不知道在哪儿? 就在terminal中直接敲 echo $JAVA_HOME就看见了.

再然后:

[[email protected] hadoop]$ vim hdfs-site.xml <configuration> <property> <name>dfs.name.dir</name> <value>/home/hadoop/hdfs/name</value> </property> <property> <name>dfs.data.dir</name> <value>/home/hadoop/hdfs/data</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>

再然后:

[[email protected] hadoop]$ vim mapred-site.xml <configuration> <property> <name>mapred.job.tracker</name> <value>h1:9001</value> <final>true</final> </property> </configuration>

再然后:

[hadoop@h1 hadoop]$ touch masters
vim masters
配置进去
h1

再然后:

[hadoop@h1 hadoop]$ vim slaves
配置进入
h2
h3

向各节点复制hadoop

[hadoop@h1 ~]$ scp -r hadoop h2:~
[hadoop@h1 ~]$ scp -r hadoop h3:~

还需要在3台寄去上配置系统变量

[[email protected] hadoop]$ vim /etc/profile export HADOOP_INSTALL=/home/hadoop/hadoop export PATH=$PATH:$HADOOP_INSTALL/bin export HADOOP_COMMON_LIB_NATIVE_DIR="/home/hadoop/hadoop/lib/native" export HADOOP_OPTS="$HADOOP_OPTS -Djava.library.path=/home/hadoop/hadoop/lib" 最后需要 source /etc/profile

好了, 这样子就起来了.

最后利用jps命令, 就可以看见Hadoop相关的程序都已经起来了.

hadoop有很多的管理后台可以看:

比如:

http://192.168.230.133:50070/dfshealth.html#tab-overview

差不多了, 接下来会继续记录更多有关Hadoop先关的Blogs.

时间: 2025-01-16 08:45:22

Hadoop完全分布式模式的配置与安装的相关文章

hadoop完全分布式模式的安装和配置

本文是将三台电脑用路由器搭建本地局域网,系统为centos6.5,已经实验验证,搭建成功. 一.设置静态IP&修改主机名&关闭防火墙(all-root)(对三台电脑都需要进行操作) 0.将三台电脑安装centos6.5系统 1.设置静态ip(便于机器之间的通信,防止路由器电脑重启后,ip变化,导致不能通信) vim /etc/sysconfig/network-scripts/ifcfg-eth0 DEVICE=eth0 #描述网卡对应的设备别名,例如ifcfg-eth0的文件中它为eth

Hadoop单机模式的配置与安装

Hadoop单机模式的配置与安装 版权所有 前言: 由于Hadoop属于java程序,所以,安装Hadoop之前需要先安装jdk. 对于hadoop0.20.2的单机模式安装就需要在一个节点(一台主机)上运行5个节点. 分别是: JobTracker:负责Hadoop的Job任务分发和管理. TaskTracker:负责在单个节点上执行MapReduce任务. 对于Hadoop里面的HDFS的节点又有 NameNode:主节点,负责管理文件存储的名称节点 DateNode:数据节点,负责具体的文

Hadoop 伪分布式模式安装

Hadoop简介 Hadoop由Apache基金会开发的分布式系统基础架构,是利用集群对大量数据进行分布式处理和存储的软件框架.用户可以轻松地在Hadoop集群上开发和运行处理海量数据的应用程序.Hadoop有高可靠,高扩展,高效性,高容错等优点.Hadoop 框架最核心的设计就是HDFS和MapReduce.HDFS为海量的数据提供了存储,MapReduce为海量的数据提供了计算.此外,Hadoop还包括了Hive,Hbase,ZooKeeper,Pig,Avro,Sqoop,Flume,Ma

[Nutch]Hadoop多机完全分布式模式主机配置

在上一篇博文中我们有介绍hadoop的单机伪分布式模式的使用,那么现在我们就来看下多机完全分布式模式. 1. 多主机配置 1.1 对多台机器进行主机名设置 用root账户使用如下命令: vim /etc/hostname 分别对三台机器设置为:host1.host2.host3 1.2 配置主机映射 用root账户使用如下命令: vim /etc/hosts 分别配置三台机器: host1: host2: host3: 2. 配置ssh 2.1 产生密钥 使用如下命令: ssh-keygen -

hadoop伪分布式集群搭建与安装(ubuntu系统)

1:Vmware虚拟软件里面安装好Ubuntu操作系统之后使用ifconfig命令查看一下ip; 2:使用Xsheel软件远程链接自己的虚拟机,方便操作.输入自己ubuntu操作系统的账号密码之后就链接成功了: 3:修改主机的名称vi /etc/hostname和域名和主机映射对应的关系 vi /etc/hosts,改过之后即生效,自己可以ping一下,我这里ip对应master,比如ping master之后发现可以ping通即可: 4:修改过主机名称和主机名与ip对应的关系之后:开始上传jd

Hadoop伪分布式模式安装

<Hadoop权威指南(第2版)>来讲,伪分布式(pseude-distributed model)是指Hadoop守护进程运行在本地机器上,模拟一个小规模的集群. 这种模式也是在一台单机上运行,但用不同的Java进程模仿分布式运行中的各类结点(NameNode,DataNode,JobTracker,TaskTracker,SecondaryNameNode) Hadoop安装 参考: http://www.cnblogs.com/xs104/p/4484268.html 配置Hadoop

hadoop伪分布式模式下安装及运行

一 . 安装JDK 查询目前系统的JDK: rpm -qa|grep jdk. 卸载JDK yum -y remove xx tar -xzvf jdk-7u80-linux-x64.tar.gz 配置环境变量: vim /etc/profile export JAVA_HOME=/opt/softwares/jdk1.7.0_80 export PATH=$PATH:$JAVA_HOME/bin source /etc/profile 验证安装 java -version 二 . 配置伪分布式

【DAY2】hadoop 完全分布式模式配置的学习笔记

hadoop端口 ---------------- 1.namenode 50070 http://namenode:50070/ 2.resourcemanager:8088 http://localhost:8088/ 3.historyServer http://hs:19888/ 4.name rpc(remote procedure call,远程过程调用) hdfs://namenode:8020/ ssh指令结合操作命令 --------------------- $>ssh s3

Hadoop伪分布式模式部署(接单机模式)

一.相关配置文件修改 ①修改core-site.xml: $ su -l hadoop $ cd /usr/local/hadoop/ $ sudo vi etc/hadoop/core-site.xml <configuration>     <property>         <name>fs.defaultFS</name>         <value>hdfs://localhost:9000</value>     &l