在CentOS 6.7 x64上搭建Hadoop 2.6.3完全分布式环境,并在DigitalOcean上测试成功。

本文假设:

主节点(NameNode)域名(主机名):m.fredlab.org
子节点(DataNode)域名(主机名):s1.fredlab.org
s2.fredlab.org
s3.fredlab.org

Tip:单个NameNode或DataNode内存大于1G,在512MB内存的VPS上测试不成功。

一、配置SSH互信

1、master机上生成公私钥:id_rsa和id_rsa.pub

ssh-keygen

2、上传到每个节点机器的.ssh/目录下

.ssh/----
|--
|--id_rsa
|--id_rsa.pub
|--authorized_keys
|--

3、更改私钥权限为0600

chmod  id_rsa

4、复制公钥至authorized_keys

cat id_rsa.pub >> authorized_keys

5、配置SSH免询问(yes)登录(可选)

修改/etc/ssh/ssh_config的以下两行

StrictHostKeyChecking no
GSSAPIAuthentication no

重启ssh服务

service sshd restart

二、为各个主机配置域名(主机名)

1、修改主机名

vim /etc/sysconfig/network

修改HOSTNAME=s1.fredlab.org(主机名),其他节点同理。

2、将主机名和对应ip地址加入/etc/hosts,格式类似:

104.236.142.235   m.fredlab.org
104.236.143.22 s1.fredlab.org
104.236.143.54 s2.fredlab.org
107.170.224.199 s3.fredlab.org

三、安装Java JDK环境

1、下载java jdk rpm包

http://www.oracle.com/technetwork/java/javase/downloads/index.html

2、安装

rpm -ih jdk-8u72-linux-x64.rpm

3、检验java路径,以及版本

which java
which javac
java -version

4、默认JAVA_HOME=/usr

四、安装hadoop 2.6.3

【以下操作均在master上进行】

1、下载hadoop 2.6.3

wget http://www.eu.apache.org/dist/hadoop/common/hadoop-2.6.3/hadoop-2.6.3.tar.gz

2、解压安装(安装位置/usr/local/hadoop2)

tar zxf hadoop-2.6..tar.gz
mv hadoop-2.6. /usr/local/hadoop2

3、增加数据目录和临时目录(位置可选,与配置文件对应即可)

mkdir /usr/local/hadoop2/tmp
mkdir /usr/local/hadoop2/hdfs

4、修改配置文件(位于/usr/local/hadoop2/etc/hadoop/目录下)

主配置文件:core-site,其中m.fredlab.org为NameNode的域名(主机名)

<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop2/tmp</value>
<description>temp dir</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://m.fredlab.org:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value></value>
</property>
</configuration>

hdfs配置文件:hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop2/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop2/hdfs/data</value>
</property>
<property>
<name>dfs.blocksize</name>
<value></value>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value></value>
</property>
<property>
<name>dfs.replication</name>
<value></value>
</property>
</configuration>

yarn-site.xml

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

mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>

将java路径加入hadoop-env.sh和yarn-env.sh

echo "export JAVA_HOME=/usr" >> hadoop-env.sh
echo "export JAVA_HOME=/usr" >> yarn-env.sh

在slaves文件中加入各个节点的域名(主机名),每行一个,类似:

s1.fredlab.org
s2.fredlab.org
s3.fredlab.org

五、复制配置好的hadoop到各个Slaves

将/usr/local/hadoop2目录一起拷贝到各个DataNode机器上

scp -r /usr/local/hadoop2 root@s1.fredlab.org:/usr/local/

六、启动hadoop集群

1、格式化文件系统

/usr/local/hadoop2/bin/hdfs namenode -format

2、启动集群

启动hdfs

/usr/local/hadoop2/sbin/start-dfs.sh

启动yarn

/usr/local/hadoop2/sbin/start-yarn.sh

3、检查文件系统

/usr/local/hadoop2/bin/hdfs dfsadmin -report

4、web页面观测集群运行情况

集群运行状态:http://m.fredlab.org:50070

http://master_ip:50070

集群应用状态:http://m.fredlab.org:8088

http://master_ip:8088

5、查看各个节点java进程

NameNode,m.fredlab.org上执行:jps

 ResourceManager
NameNode
SecondaryNameNode
Jps

DataNode,s1.fredlab.org上执行:jps

 Jps
DataNode

CentOS 6.7安装Hadoop 2.6.3集群环境的更多相关文章

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

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

  2. Hadoop+HBase+ZooKeeper分布式集群环境搭建

    一.环境说明 集群环境至少需要3个节点(也就是3台服务器设备):1个Master,2个Slave,节点之间局域网连接,可以相互ping通,下面举例说明,配置节点IP分配如下: Hostname IP ...

  3. CentOS 7.4 安装 K8S v1.11.0 集群所遇到的问题

    0.引言 最近打算将现有项目的 Docker 部署到阿里云上面,但是之前是单机部署,现在阿里云上面有 3 台机器,所以想做一个 Docker 集群.之前考虑是用 Docker Swarm 来做这个事情 ...

  4. 基于CentOS 8服务器来搭建FastDFS高可用集群环境

    服务器版本 我们在服务器的命令行输入如下命令来查看服务器的内核版本. [root@localhost lib]# cat /etc/redhat-release CentOS Linux releas ...

  5. Hadoop学习12-配置集群环境

    由于之前虚拟机都是用的桥接方式,有时候没有网络可用,想学习的时候,就狠不方便. 于是研究了一下,希望搭建一个多台虚机组成一个局域网的集群,即host-only方式 1.安装VM,网络选择“host-o ...

  6. Linux安装ElasticSearch与MongoDB分布式集群环境下数据同步

    ElasticSearch有一个叫做river的插件式模块,可以将外部数据源中的数据导入elasticsearch并在上面建立索引.River在集群上是单例模式的,它被自动分配到一个节点上,当这个节点 ...

  7. centos 7.2 安装域名服务器(bind9.9 集群--主从架构),私有域名服务器+缓存

    1.安装组件 yum install bind bind-utils -y 2.启动域名服务 service named start chkconfig named on ss -unlt |grep ...

  8. 大数据hadoop入门学习之集群环境搭建集合

    目录: 1.基本工作准备 1.虚拟机准备 2.java 虚拟机-jdk环境配置 3.ssh无密码登录 2.hadoop的安装与配置 3.hbase安装与配置(集成安装zookeeper) 4.zook ...

  9. kubeadm安装kubernetes V1.11.1 集群

    之前测试了离线环境下使用二进制方法安装配置Kubernetes集群的方法,安装的过程中听说 kubeadm 安装配置集群更加方便,因此试着折腾了一下.安装过程中,也有一些坑,相对来说操作上要比二进制方 ...

随机推荐

  1. Android 观察系统中短信内容的变化(内容观察者)

    //内容观察者(如果系统的短信发生了变化,比如刚获取一条短信,那么将触发onChange方法) ContentResolver contentResolver = getContentResolver ...

  2. GCC优化选项-fomit-frame-pointer对于esp和ebp优化的作用

    我的博客:www.while0.com -fomit-frame-pointer选项是发布产品时经常会用到的优化选项,它可以优化汇编函数中用edp协助获取堆栈中函数参数的部分,不使用edp,而是通过计 ...

  3. kernel 校验和实现

    kernel 校验和实现 Kernel checksum implementation ) TCP包的错误检测使用16位累加和校验. 除了TCP包本身, TCP校验数据块还包括源IP地址,目的IP地址 ...

  4. bzoj2038

    网上大片的莫队算法题解,先orz一下莫队什么不会莫队?没事我来篇低端的分块大法好啊,我们知道对于区间[l,r]答案是S/P P是一下子可以算出来的,S=∑(pj-1)*pj/2 pj表示区间内颜色为j ...

  5. BZOJ1935: [Shoi2007]Tree 园丁的烦恼

    1935: [Shoi2007]Tree 园丁的烦恼 Time Limit: 15 Sec  Memory Limit: 357 MBSubmit: 552  Solved: 220[Submit][ ...

  6. NOI2005瑰丽华尔兹

    1499: [NOI2005]瑰丽华尔兹 Time Limit: 3 Sec  Memory Limit: 64 MBSubmit: 893  Solved: 508[Submit][Status] ...

  7. Delphi 预编译指令 的用法

    A.3 使用条件编译指令条件编译指令是非常重要的编译指令,他控制着在不同条件下(例如,不同的操作系统)产生不同的代码.条件编译指令是包含在注释括号之内的,如下表所示.                 ...

  8. Xamarin.Android 4.10.01068 & Xamarin.iOS 1.8.361

    Xamarin.Android 4.10.01068 & Xamarin.iOS 1.8.361 NEW support for Visual Studio 2013 & Portab ...

  9. Climbing Worm

    Climbing Worm Time Limit: 2000/1000 MS (Java/Others)    Memory Limit: 65536/32768 K (Java/Others)Tot ...

  10. Ruby跳出多层循环 catch...throw

    在编码的时候,有时候会遇到嵌套循环的情况,最内部的循环结束的时候,想跳出所有循环,这个时候我们往往采用通过内部循环设置一个flag来控制外部跳出循环条件,比如: #encoding:utf-8 for ...