(一)安装JDK

1. 下载JDK,解压到相应的路径

2.  修改 /etc/profile 文件(文本末尾添加),保存

sudo vi /etc/profile
# 配置 JAVA_HOME
export JAVA_HOME=/home/komean/workspace/JDK/jdk1.8.0_181
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar # 设置PATH
export PATH=${JAVA_HOME}/bin:$PATH:

3.  让修改后的配置立即生效

# 让修改的配置立即生效
source /etc/profile

(二)初步搭建Hadoop

1.  下载hadoop-2.7.7.tar.gz,解压到相应的路径下

2.  修改 hadoop-2.7.7/etc/hadoop 路径下的:slaves、core-site.xml、hdfs-site.xml、mapred-site.xml、yarn-site.xml 、mapred-env.sh、hadoop-env.sh、yarn-env.sh

(1)文件 slaves,将作为 DataNode 的主机名写入该文件,每行一个,默认为 localhost,所以在伪分布式配置时,节点即作为 NameNode 也作为 DataNode。分布式配置可以保留 localhost,也可以删掉,让 Master 节点仅作为 NameNode 使用。

localhost
slave1
slave2

(2)文件 core-site.xml 改为下面的配置:

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/home/komean/workspace/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>

(3)文件 hdfs-site.xml,dfs.replication 一般少于节点数,所以这里 dfs.replication 的值还是设为 2:

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/home/komean/workspace/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/komean/workspace/hadoop/tmp/dfs/data</value>
</property>
</configuration>

(4)文件 mapred-site.xml ,需要先拷贝mapred-site.xml.template:

cp mapred-site.xml.template mapred-site.xml

然后mapred-site.xml配置修改如下:

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>master:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>master:19888</value>
</property>
</configuration>

(5)文件 yarn-site.xml

<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>

(6)mapred-env.shhadoop-env.shyarn-env.sh 文件 修改相应的JAVA_HOME

export JAVA_HOME=/home/komean/workspace/JDK/jdk1.8.0_181

3.  修改 /etc/profile 文件(文本末尾添加),保存

# set JAVA_HOME
export JAVA_HOME=/home/komean/workspace/JDK/jdk1.8.0_181
export CLASSPATH=.:${JAVA_HOME}/lib/dt.jar:${JAVA_HOME}/lib/tools.jar # set HADOOP_HOME
export HADOOP_HOME=/home/komean/workspace/hadoop/hadoop-2.7.7
export PATH=${JAVA_HOME}/bin:$PATH:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin

让修改后的配置立即生效

# 让修改的配置立即生效
source /etc/profile

(三)克隆两台节点虚拟机

192.168.105.25 slave1
192.168.105.35 slave2

(1)配置IP (保持在一个网段下)(参照虚拟机中CentoOs配置ip且连网  第4点

(2)修改 /etc/hosts 文件 (注意:克隆的,第一个是localhost.localdomain,重复了,修改为localhost)

127.0.0.1       localhost       localhost.localdomain   localhost4      localhost4.localdomain4
::1 localhost localhost.localdomain localhost6 localhost6.localdomain6 192.168.105.15 master
192.168.105.25 slave1
192.168.105.35 slave2

(四)配置SSH无密登录

1.  安装SSH(所有节点都需要)

# 安装
sudo yum install openssh-server
# 重启
service sshd restart

2.  对master节点生成密钥对(只是master节点)运行 ssh-keygen -t rsa 后,不要输入密码,回车

# 生产密钥
cd .ssh
ssh-keygen -t rsa
# 将公钥id_rsa.pub追加到授权的key中
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
# 修改authorized_keys的权限
chmod 600 ~/.ssh/authorized_keys

3.  将authorized_keys文件以及id_rsa文件用scp命令分别复制到其他2个节点(依旧是在master上操作)

scp ~/.ssh/authorized_keys komean@192.168.105.25:~/.ssh
scp ~/.ssh/authorized_keys komean@192.168.105.35:~/.ssh

4.  测试 ssh slave1 或者ssh slave2

(五)关闭防火墙(所有节点),在开启 Hadoop 集群之前,需要关闭集群中每个节点的防火墙。有防火墙会导致 ping 得通但 telnet 端口不通,从而导致 DataNode 启动了,但 Live datanodes 为 0 的情况。

关闭防火墙
sudo service iptables stop # 关闭防火墙服务
sudo chkconfig iptables off # 禁止防火墙开机自启,就不用手动关闭了

(六)Hadoop初始化,启动所有节点

1.  启动节点(初始化别总用)

# 进入"workspace/hadoop/hadoop-2.7.7" 路径下
cd workspace/hadoop/hadoop-2.7.7 # Hadoop初始化(第一次)
# bin/hdfs namenode -format # Hadoop启动
sbin/start-all.sh # 验证
jps

2.  查看两个从节点的情况

  

3.  查看节点信息 (或者通过Web 页面看到查看 DataNode 和 NameNode 的状态:http://master:50070/)

hdfs dfsadmin -report

通过Web 页面看到查看 DataNode 和 NameNode 的状态:http://master:50070/

Centos6.10搭建Hadoop三节点分布式的更多相关文章

  1. centos6.5搭建hadoop单节点

    1.添加用户 groupadd  hadoop useradd -d /home/hadoop -m hadoop -g hadoop passwd hadoop    修改密码 付给用户sudo权限 ...

  2. hadoop备战:一台x86计算机搭建hadoop的全分布式集群

    主要的软硬件配置: x86台式机,window7  64位系统 vb虚拟机(x86的台式机至少是4G内存,才干开3台虚机) centos6.4操作系统 hadoop-1.1.2.tar.gz jdk- ...

  3. 【Hadoop环境搭建】Centos6.8搭建hadoop伪分布模式

    阅读目录 ~/.ssh/authorized_keys 把公钥加到用于认证的公钥文件中,authorized_keys是用于认证的公钥文件 方式2: (未测试,应该可用) 基于空口令创建新的SSH密钥 ...

  4. 1.如何在虚拟机ubuntu上安装hadoop多节点分布式集群

    要想深入的学习hadoop数据分析技术,首要的任务是必须要将hadoop集群环境搭建起来,可以将hadoop简化地想象成一个小软件,通过在各个物理节点上安装这个小软件,然后将其运行起来,就是一个had ...

  5. 快速搭建Hadoop及HBase分布式环境

    本文旨在快速搭建一套Hadoop及HBase的分布式环境,自己测试玩玩的话ok,如果真的要搭一套集群建议还是参考下ambari吧,目前正在摸索该项目中.下面先来看看怎么快速搭建一套分布式环境. 准备 ...

  6. Windows 10 搭建Hadoop平台

    一.环境配置 JDK:1.8. Hadoop下载地址(我选择的是2.7.6版本):https://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/ ...

  7. Cassandra集群:一,搭建一个三节点的集群

    环境准备 JDK1.8 http://download.oracle.com/otn/java/jdk/8u171-b11/512cd62ec5174c3487ac17c61aaa89e8/jdk-8 ...

  8. centos6.10搭建ELK之elasticsearch6.5.4

    1.环境准备 1.1.安装java环境版本不要低于java8 # java -version java version "1.8.0_191" Java(TM) SE Runtim ...

  9. centos6.5搭建hadoop完整教程

    https://blog.csdn.net/hanzl1/article/details/79040380 博客地址http://blog.csdn.net/pucao_cug/article/det ...

随机推荐

  1. cximage使用

    为什么使用CxImage u 使用简单:下面的入门教程会给你展示这一点. 构造函数 初始化 多帧图像操作 区域选择操作 Alpha通道操作 Layers 图像层操作 Attributes 图像属性操作 ...

  2. 树莓派研究笔记(6)-- Lakka模拟游戏机

    我发现lakka的支持的游戏平台特别多,包括国产的OrangePI,真是太棒了.我们可以用这个来打造一个全功能模拟器平台.(删除线部分为Orange PI 测试成功内容,但在树莓派上无需那些操作) 访 ...

  3. javascript 取掉空格自定义函数

    js  取掉空格自定义函数 //取掉左右空格: function trim(str){ return str.replace(/(^\s*)|(\s*$)/g, ""); } // ...

  4. InnoDB记录压缩及使用分析

    此文已由作者温正湖授权网易云社区发布. 欢迎访问网易云社区,了解更多网易技术产品运营经验. 这篇文章,源于RDS组内的一次饭后闲聊,两位小伙伴在探讨InnoDB启用压缩后的种种,比如在磁盘上是怎么存放 ...

  5. 正经学C#_循环[do while,while,for]:[c#入门经典]

    在c#中循环语句总共三种,do...while ,while,for这三种语句. 循环语句,是为了解决一些繁琐的计算.比如输出0-10这10个数字. 在不循环的情况下你可以能这么写 Console.W ...

  6. C 语言 clock() 函数,例:计算多项式值

    C 语言 clock() 函数,例:计算多项式值 /** * clock(): 捕捉从程序开始运行到 clock() 被调用时所耗费的时间. * 这个时间单位是 clock tick, 即" ...

  7. B:魔兽世界之一:备战

    描述 魔兽世界的西面是红魔军的司令部,东面是蓝魔军的司令部.两个司令部之间是依次排列的若干城市. 红司令部,City 1,City 2,……,City n,蓝司令部 两军的司令部都会制造武士.武士一共 ...

  8. A - Chips

    Gerald plays the following game. He has a checkered field of size n × n cells, where m various cells ...

  9. Easyui-交互式消息弹出框

    由于项目在优化的时候需要用到弹出框,按自己的想法是傻傻的用一些alert直接弹出得了,但是这样用户体验度不是特别好,影响界面美观,所以自己还是用了封装好的easyui给的消息框,怎么用呢,这个里面很有 ...

  10. Sessions in BSU

    Sessions in BSU 有n项考试.每项考试给定两个时间,你可以任意选择一个时间.每个时间点只能考一场考试,请问在最优情况下最早考完的时间.n<=1e6. 把题目抽象成图论模型:在每项考 ...