Hadoop真分布式完全集群安装,基于版本2.7.2安装,

在两台Linux机器上面分别安装Hadoop的master和slave节点。

1.安装说明

不管NameNode还是DataNode节点,安装的用户名需要一致。

master和slave的区别,只是在于配置的hostname,

在config的slaves配置的hostname所代表的机器即为slave,

不使用主机名也可以,直接配置为IP即可。

在这种集群下面,需要在master节点创建namenode路径,

并且使用格式化命令hdfs namenode –format。

然后在slave节点创建datanode路径,注意目录的权限。

2.配置hosts

如果已经存在则不需要,每台机器进行相同的操作

10.43.156.193 zdh193 ywmaster/fish master

10.43.156.194 zdh194 ywmaster/fish slave

3.创建用户

集群上面的用户名必须都是一样的,否则无法影响Hadoop集群启动,

在每台机器里面添加相同的用户,参考如下命令:

useradd ywmaster

4.安装JDK

此处安装的是jdk1.7

scp yuwen@10.43.156.193:/home/yuwen/backup/jdk-7u80-linux-x64.tar.gz .
zdh123
tar -zxvf jdk-7u80-linux-x64.tar.gz
vi .bash_profile
export JAVA_HOME=~/jdk1.7.0_80
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
source .bash_profile

验证jdk

java -version

5.设置集群免密登陆

5.1.设置本地免密登陆

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

必须修改权限,否则无法免秘登陆

chmod 600 ~/.ssh/authorized_keys

验证免密登陆

ssh localhost

5.2.设置远程免密登陆

需要把本机的公钥放到对方的机器authorized_keys,才能免密登陆其他机器。

进入ywmaster的.ssh目录

scp ~/.ssh/authorized_keys ywmaster@10.43.156.194:~/.ssh/authorized_keys_from_zdh193

进入ywslave的.ssh目录,注意备份,否则下面步骤存在重复的ywmaster公钥。

cat authorized_keys_from_zdh193 >> authorized_keys

ssh zdh194

5.3.设置其他机器免密登陆

参考上面的步骤同理设置其他机器,配置后zdh193可以免密登陆。

scp ~/.ssh/authorized_keys ywmaster@10.43.156.193:~/.ssh/authorized_keys_from_zdh194

6.安装Hadoop

上传并解压hadoop文件

scp pub@10.43.156.193:/home/pub/hadoop/source/hadoop-2.7.2-src/hadoop-dist/target/hadoop-2.7.2.tar.gz .
zdh1234
tar -zxvf hadoop-2.7.2.tar.gz

7.配置环境变量

export HADOOP_HOME=~/hadoop-2.7.2
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

配置别名,可以快速访问配置路径

alias conf='cd /home/ywmaster/hadoop-2.7.2/etc/hadoop'

8.检查和修改Hadoop配置文件

8.1 hadoop-env.sh

涉及环境变量:JAVA_HOME,HADOOP_HOME,HADOOP_CONF_DIR

8.2 yarn-env.sh

涉及环境变量:JAVA_HOME,HADOOP_YARN_USER,HADOOP_YARN_HOME, YARN_CONF_DIR

8.3 slaves

这个文件里面保存所有slave节点,注释掉localhost,新增zdh194作为slave节点。

8.4 core-site.xml

<name>fs.defaultFS</name>
<value>hdfs://10.43.156.193:29080</value> <name>fs.default.name</name>
<value>hdfs://10.43.156.193:29080</value> <name>io.file.buffer.size</name>
<value>131072</value> <name>hadoop.tmp.dir</name>
<value>file:/home/ywmaster/tmp</value>

8.5 hdfs-site.xml

<name>dfs.namenode.rpc-address</name>
<value>10.43.156.193:29080</value> <name>dfs.namenode.http-address</name>
<value>10.43.156.193:20070</value> <name>dfs.namenode.secondary.http-address</name>
<value>10.43.156.193:29001</value> <name>dfs.namenode.name.dir</name>
<value>file:/home/ywmaster/dfs/name</value> <name>dfs.datanode.data.dir</name>
<value>file:/home/ywmaster/dfs/data</value> <name>dfs.replication</name>
<value>1</value> <name>dfs.webhdfs.enabled</name>
<value>true</value>

8.6 mapred-site.xml

<name>mapreduce.framework.name</name>
<value>yarn</value> <name>mapreduce.shuffle.port</name>
<value>23562</value> <name>mapreduce.jobhistory.address</name>
<value>10.43.156.193:20020</value> <name>mapreduce.jobhistory.webapp.address</name>
<value>10.43.156.193:29888</value>

8.7:yarn-site.xml

<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value> <name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name> TODODELETE
<value>org.apache.hadoop.mapred.ShuffleHandler</value> #mapreduce.shuffle已经过时,改为mapreduce_shuffle
<name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value> <name>yarn.resourcemanager.address</name>
<value>10.43.156.193:28032</value> <name>yarn.resourcemanager.scheduler.address</name>
<value>10.43.156.193:28030</value> <name>yarn.resourcemanager.resource-tracker.address</name>
<value>10.43.156.193:28031</value> <name>yarn.resourcemanager.admin.address</name>
<value>10.43.156.193:28033</value> <name>yarn.resourcemanager.webapp.address</name>
<value>10.43.156.193:28088</value>

8.8 获取Hadoop的默认配置文件

选择相应版本的hadoop,下载解压后,搜索*.xml,

找到core-default.xml,hdfs-default.xml,mapred-default.xml,

这些就是默认配置,可以参考这些配置的描述说明,

在这些默认配置上进行修改,配置自己的Hadoop集群。

find . -name *-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml
./hadoop-2.7.1/share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml
./hadoop-2.7.1/share/hadoop/httpfs/tomcat/webapps/webhdfs/WEB-INF/classes/httpfs-default.xml

9.把配置好的Hadoop复制到其他节点

scp -r ~/hadoop-2.7.2 ywmaster@10.43.156.194:~/

或者只拷贝配置文件,可以提高拷贝效率:

scp -r ~/hadoop-2.7.2/etc/hadoop ywmaster@10.43.156.194:~/hadoop-2.7.2/etc

创建好name和data数据目录

mkdir -p ./dfs/name
mkdir -p ./dfs/data

10.启动验证Hadoop

格式化namenode:

hdfs namenode -format

出现如下结果则表示成功:

16/09/13 23:57:16 INFO common.Storage: Storage directory /home/ywmaster/dfs/name has been successfully formatted.

启动hdfs

start-dfs.sh

启动yarn:

start-yarn.sh

注意修改了配置之后一定要重新复制到其他节点,否则启动会有问题。

11.检查启动结果

NameNode下执行jps应该包含如下进程:

15951 ResourceManager
13294 SecondaryNameNode
12531 NameNode
16228 Jps

DataNode下执行jps应该包含如下进程:

3713 NodeManager
1329 DataNode
3907 Jps

查看HDFS服务:

http://10.43.156.193:20070

查看SecondaryNameNode:

http://10.43.156.193:29001/

具体IP和Port参考hdfs-site.xml:

<name>dfs.namenode.http-address</name>
<description> The address and the base port where the dfs namenode web ui will listen on.</description>

查看RM:

http://10.43.156.193:28088

具体IP和Port参考yarn-site.xml:

<name>yarn.resourcemanager.webapp.address</name>
<value>10.43.156.193:28088</value>

12.其他参考

停止命令:

stop-yarn.sh

stop-dfs.sh

执行命令验证:

hadoop fs -ls /usr

hadoop fs -mkdir usr/yuwen

hadoop fs -copyFromLocal wordcount /user

hadoop fs -rm -r /user/wordresult

hadoop jar ~/hadoop-2.7.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.2.jar wordcount /user/wordcount.txt /user/wordresult_001

hadoop fs -text /user/wordresult_001/part-r-00000

Hadoop集群安装(真分布式)的更多相关文章

  1. Apache Hadoop 集群安装文档

    简介: Apache Hadoop 集群安装文档 软件:jdk-8u111-linux-x64.rpm.hadoop-2.8.0.tar.gz http://www.apache.org/dyn/cl ...

  2. 1.Hadoop集群安装部署

    Hadoop集群安装部署 1.介绍 (1)架构模型 (2)使用工具 VMWARE cenos7 Xshell Xftp jdk-8u91-linux-x64.rpm hadoop-2.7.3.tar. ...

  3. Apache Hadoop集群安装(NameNode HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 ).HA的集 ...

  4. Apache Hadoop集群安装(NameNode HA + YARN HA + SPARK + 机架感知)

    1.主机规划 序号 主机名 IP地址 角色 1 nn-1 192.168.9.21 NameNode.mr-jobhistory.zookeeper.JournalNode 2 nn-2 192.16 ...

  5. 2 Hadoop集群安装部署准备

    2 Hadoop集群安装部署准备 集群安装前需要考虑的几点硬件选型--CPU.内存.磁盘.网卡等--什么配置?需要多少? 网络规划--1 GB? 10 GB?--网络拓扑? 操作系统选型及基础环境-- ...

  6. hadoop集群安装故障解决

    nodemanager进程解决:http://blog.csdn.net/baiyangfu_love/article/details/13504849 编译安装:http://blog.csdn.n ...

  7. Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS

    摘自:http://www.powerxing.com/install-hadoop-cluster/ 本教程讲述如何配置 Hadoop 集群,默认读者已经掌握了 Hadoop 的单机伪分布式配置,否 ...

  8. 一脸懵逼学习基于CentOs的Hadoop集群安装与配置

    1:Hadoop分布式计算平台是由Apache软件基金会开发的一个开源分布式计算平台.以Hadoop分布式文件系统(HDFS)和MapReduce(Google MapReduce的开源实现)为核心的 ...

  9. Hadoop 集群安装(主节点安装)

    1.下载安装包及测试文档 切换目录到/tmp view plain copy cd /tmp 下载Hadoop安装包 view plain copy wget http://192.168.1.100 ...

随机推荐

  1. sql技巧(增册改查)

    1 select * from wyl.t; 2 --将数据从t1导入t2 3 insert into t2(c1,c2) select c1,c2 from t1 where c1= xx and ...

  2. 基于阿里云 ecs 使用 docker 方式部署 showDoc

    官网文档:https://www.showdoc.cc/help?page_id=65610 (建议先看下这个) 首先说明一下,我 ecs 镜像是 CentOS 7.6 64位 1. 首先在 服务器上 ...

  3. Js和Thymeleaf如何获取model中的值

    一.Jquery获取Model中的数据 1.将model中的值赋给hidden,然后Js获取隐藏域的值. 后台的实现: @RequestMapping("/QEditorMod1" ...

  4. JS 的三种定义变量 var let const

    Let 只在 let 命令所在的代码块内有效,在外就会报错 Let 是块级作用域,函数内部使用let定义后,对函数外部无影响 Let/const 不存在变量提升,使用前一定要声明后,在使用,否则会报错 ...

  5. numpy基础教程--二维数组的转置

    使用numpy库可以快速将一个二维数组进行转置,方法有三种 1.使用numpy包里面的transpose()可以快速将一个二维数组转置 2.使用.T属性快速转置 3.使用swapaxes(1, 0)方 ...

  6. C++STL标准库学习笔记(二)二分查找

    二.STL中的二分查找算法 1.binary_search 2.lower_bound 3.upper_bound 记得#include<algorithm>! 前言: 在这个笔记中,我把 ...

  7. Nginx区分浏览器

    目录 一.简介 二.配置 一.简介 场景: 不同浏览器对网页的兼容性是不一样的,所以针对火狐和curl,返回不同内容 原理: 使用if对http_user_agent变量进行判断,这个变量会显示访问时 ...

  8. GIT基本使用理解

    基本区域介绍 git是一种代码管理工具,所以我们需要知道代码所在位置.分为4个区域: Workspace:工作区 Index / Stage:暂存区 Repository:本地仓库 Remote:远程 ...

  9. [BUUCTF]PWN——jarvisoj_tell_me_something

    jarvisoj_tell_me_something 附件 步骤: 例行检查,64位程序,开启了NX保护 运行一下程序,看看程序的大概流程 64位ida载入,shift+f12检索程序里的字符串 看到 ...

  10. uniapp-uView表单中如何添加日期控件?

    环境:uniapp,uview-ui,Picker 选择器, 本次我们用uview中的Picker 选择器来写一个日期功能 此选择器有四种弹出模式 一是时间模式,可以配置年,日,月,时,分,秒参数二是 ...