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

本文假设:

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

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

一、配置SSH互信

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

  1. ssh-keygen

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

  1. .ssh/----
  2. |--
  3. |--id_rsa
  4. |--id_rsa.pub
  5. |--authorized_keys
  6. |--

3、更改私钥权限为0600

  1. chmod id_rsa

4、复制公钥至authorized_keys

  1. cat id_rsa.pub >> authorized_keys

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

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

  1. StrictHostKeyChecking no
  2. GSSAPIAuthentication no

重启ssh服务

  1. service sshd restart

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

1、修改主机名

  1. vim /etc/sysconfig/network

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

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

  1. 104.236.142.235 m.fredlab.org
  2. 104.236.143.22 s1.fredlab.org
  3. 104.236.143.54 s2.fredlab.org
  4. 107.170.224.199 s3.fredlab.org

三、安装Java JDK环境

1、下载java jdk rpm包

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

2、安装

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

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

  1. which java
  2. which javac
  3. java -version

4、默认JAVA_HOME=/usr

四、安装hadoop 2.6.3

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

1、下载hadoop 2.6.3

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

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

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

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

  1. mkdir /usr/local/hadoop2/tmp
  2. mkdir /usr/local/hadoop2/hdfs

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

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

  1. <configuration>
  2. <property>
  3. <name>hadoop.tmp.dir</name>
  4. <value>/usr/local/hadoop2/tmp</value>
  5. <description>temp dir</description>
  6. </property>
  7. <property>
  8. <name>fs.defaultFS</name>
  9. <value>hdfs://m.fredlab.org:9000</value>
  10. </property>
  11. <property>
  12. <name>io.file.buffer.size</name>
  13. <value></value>
  14. </property>
  15. </configuration>

hdfs配置文件:hdfs-site.xml

  1. <configuration>
  2. <property>
  3. <name>dfs.namenode.name.dir</name>
  4. <value>file:/usr/local/hadoop2/hdfs/name</value>
  5. </property>
  6. <property>
  7. <name>dfs.datanode.data.dir</name>
  8. <value>file:/usr/local/hadoop2/hdfs/data</value>
  9. </property>
  10. <property>
  11. <name>dfs.blocksize</name>
  12. <value></value>
  13. </property>
  14. <property>
  15. <name>dfs.namenode.handler.count</name>
  16. <value></value>
  17. </property>
  18. <property>
  19. <name>dfs.replication</name>
  20. <value></value>
  21. </property>
  22. </configuration>

yarn-site.xml

  1. <configuration>
  2. <property>
  3. <name>yarn.nodemanager.aux-services</name>
  4. <value>mapreduce_shuffle</value>
  5. </property>
  6. </configuration>

mapred-site.xml

  1. <configuration>
  2. <property>
  3. <name>mapreduce.framework.name</name>
  4. <value>yarn</value>
  5. </property>
  6. </configuration>

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

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

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

  1. s1.fredlab.org
  2. s2.fredlab.org
  3. s3.fredlab.org

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

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

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

六、启动hadoop集群

1、格式化文件系统

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

2、启动集群

启动hdfs

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

启动yarn

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

3、检查文件系统

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

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

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

  1. http://master_ip:50070

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

  1. http://master_ip:8088

5、查看各个节点java进程

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

  1. ResourceManager
  2. NameNode
  3. SecondaryNameNode
  4. Jps

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

  1. Jps
  2. 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. jsp EL表达式 字符串的比较

    jsp EL表达式 字符串的比较 跟JavaScript一样,直接使用两个等于号即可:== 代码如下: <c:if test="${highLight == 'visa'}" ...

  2. 李洪强iOS开发-网络新闻获取数据思路回顾

    李洪强iOS开发-网络新闻获取数据思路回顾 01 创建一个继承自AFHTTPSessionManager的工具类:LHQNetworkTool 用来发送网络请求获取数据  1.1 定义类方法返回单例对 ...

  3. INFORMATION_SCHEMA.INNODB_TRX 详解

    从192.168.11.186 上登录 192.168.11.185 数据库: root 13246 547 0 13:39 pts/1 00:00:00 mysql -uroot -px xxxxx ...

  4. jni相关

    封装 jni 的 java 层 Integer.Long 对象使用时必须用 new 对象的形式,防止修改 128>x x>-128 之间缓存的对象,一定要谨记 配置 在 eclipse 环 ...

  5. \u202e

    document.write('\u202e1\u202e2\u202e3')

  6. Devexpress之dxErrorProvider

    DXErrorProvider:错误提示控件,用法类似于VS的winform控件中的ErrorProvider. 下面为一个使用实例,验证文本框输入是否为数字: ①.添加System.Text.Reg ...

  7. C# Get Desktop Screenshot ZZ

    I found this feature while looking inside Graphics class and since it was so simple to use, I decide ...

  8. zoj 3620 Escape Time II

    http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=4744 Escape Time II Time Limit: 2 Seconds ...

  9. MonkeyRunner执行Python脚本实例——发送短信增强版

    很久之前就写好的了,准备写个自动执行Monkey的脚本时才想到去找它,还是写在博客里找起来方便. 这次更新了批处理自动连接设备后执行Py脚本,结构如下图: 其中shotscreen为存放截图文件夹,s ...

  10. SQLServer使用规范(转载)

    SQLServer使用规范 常见的字段类型选择 1.字符类型建议采用varchar/nvarchar数据类型 2.金额货币建议采用money数据类型 3.科学计数建议采用numeric数据类型 4.自 ...