环境准备

  两台centoos系统服务器

  H30(192.168.3.238)

  H31(192.168.3.237)

  H30为master,H31为slave,slave后续还可以再加机器;

  先通过xshell 登录到H30进行配置

  1、添加主机名解析

    将如下记录添加到/etc/hosts 中

      192.168.3.238   H30

      192.168.3.237   H31

    H31那台机器上也要执行同样的操作,注意要保证两台机器要内互通,并且主机名要为H30和H31

    如果主机名不一样可在/etc/sysconfig/network中进行修改,修改完记得重启机器生效;

  2、安装java环境

    yum remove java* -- 卸载之前安装的版本

    yum install java-1.7.0-openjdk java-1.7.0-openjdk-devel --通过yum安装jdk1.7

    执行rpm -ql java-1.7.0-openjdk-devel | grep '/bin/javac'可查看安装路径

    

    将/bin/javac前面的那一段作为JAVA_HOME的值,在~/.bashrc.sh文件底部添加

    export JAVA_HOME=/usr/lib/jvm/java-1.7.0-openjdk-1.7.0.141.x86_64/

    然后执行source ~/.bashrc.sh 让配置生效;

  3、配置ssh免密码登录

    先查看是否安装ssh

     rpm -qa | grep ssh

    没有安装则执行如下命令进行安装

     yum install openssh-clients

     yum install openssh-server

    安装完成后切换的~/.ssh

      ssh-keygen -t rsa  --执行三次回车

      cat id_rsa.pub >> authorized_keys  -- 加入授权

      chmod 600 ./authorized_keys  --  修改文件权限

    将生成的authorized_keys  拷贝到H31上

      scp ./authorized_keys  root@H31:~/.ssh/  -- 需要输入那台机器的密码

    拷贝完成执行shh H31 无需输入密码就可登录则表示安装成功

  4、安装hadoop 

    4.1,下载

      Hadoop 2 可以通过 http://mirror.bit.edu.cn/apache/hadoop/common/ 或者 http://mirrors.cnnic.cn/apache/hadoop/common/ 下载;

      下载时请下载 hadoop-2.x.y.tar.gz这个格式的文件,这是编译好的,另一个包含 src 的则是 Hadoop 源代码,需要进行编译才可使用

    4.2,解压

      下载完成后执行如下命令

        tar -xzvf  hadoop-2.6.1.tar.gz  -C /usr/local   -- 将包解压到/usr/local 中

        mv hadoop-2.6.1 hadoop   --重命名

        chown -R root:root hadoop  -- 修改文件属主和属组

    4.3,配置hadoop环境变量

      配置hadoop环境变量,将如下内容拷贝到~/.bashrc文件底部

export HADOOP_HOME=/usr/local/hadoop #此处为刚刚解压出来重命名的hadoop路径
export HADOOP_HOME=/usr/local/hadoop
export HADOOP_INSTALL=$HADOOP_HOME
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin

    4.4,修改hadoop配置

      hadoop/etc/hadoop下有slaves、core-site.xmlhdfs-site.xmlmapred-site.xmlyarn-site.xml 五个文件需要修改

      slaves( 如需新增slave,则要将主机名填入到此文件中)

        H31  

      core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://H30:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/local/hadoop/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
</configuration>

      hdfs-site.xml

<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>H30:50090</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
</configuration>

      mapred-site.xml

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

       yarn-site.xml

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

    4.5,配置slave

      tar -zcf hadoop.tar.gz ./hadoop   --  对配置好的master hadoop目录打包,如果hadoop中已经生成了tmp要进行删除

      scp ./hadoop.tar.gz H31:/usr/local  --通过scp命令将打包好的hadoop发送到H31的/usrlocal中

      传送完成后通过xshell 登录到H31上,按照步骤 2 的操作安装好jdk,再按照步骤 4.3 将hadoop环境变量添加好后切入到/usr/local目录

        tar -zxf  hadoop.tar.gz -C /usr/local  -- 将H31拷贝过来的包进行解压到/usr/local中

  5、格式化master节点

    重新回到H30机器,执行

      hdfs namenode -format    -- 注意只有在首次运行需要格式化,之后不需要了

  6、启动hadoop

    在启动前先对防火墙进行关闭,如果H31也开启了防火墙同样要进行关闭

      service iptables stop

    接着可以启动 hadoop 了

      start-dfs.sh  -- 关闭为 stop-dfs.sh
      start-yarn.sh  -- 关闭为 stop-yarn.sh
      mr-jobhistory-daemon.sh start historyserver    -- 关闭为 mr-jobhistory-daemon.sh stop historyserver

     通过命令 jps 可以查看各个节点所启动的进程。正确的话,在 Master 节点上可以看到 NameNode、ResourceManager、SecondrryNameNode、JobHistoryServer 进程,如下图所示:

      

    在H31中通过jps则如下图所示:

      

    也可以通过 Web 页面看到查看 DataNode 和 NameNode 的状态:http://H30:50070/。如果不成功,可以通过启动日志排查原因。

  7、测试分布式实例

    hdfs dfs -mkdir -p /user/    --在fdfs中创建/user目录

    hdfs dfs -mkdir -p /user/root  --在user目录中创建root目录

    hdfs dfs -mkdir -p  input    --在root目录中创建input,不加 / 则会取/user+当前用户名作为路径

    hdfs dfs -put /usr/local/hadoop/etc/hadoop/*.xml input  -- 往input目录中拷入测试文件

    hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'  --  执行测试

    执行完成后可通过hdfs dfs -ls  output  看到有结果文件输出

centoos 安装hadoop集群的更多相关文章

  1. 安装Hadoop集群的最快的软件

    Quick Hadoop是一款安装Hadoop集群的桌面软件,只需要点两下鼠标,一分钟之内安装Hadoop到集群上,超快! 还在每台主机的Shell里一行一行地敲安装Hadoop的命令?别苦逼了! 用 ...

  2. docker安装hadoop集群

    docker安装hadoop集群?图啥呢?不图啥,就是图好玩.本篇博客主要是来教大家如何搭建一个docker的hadoop集群.不要问 为什么我要做这么无聊的事情,答案你也许知道,因为没有女票.... ...

  3. CentOS7 搭建Ambari-Server,安装Hadoop集群(一)

    2017-07-05:修正几处拼写错误,之前没发现,抱歉! 第一次在cnblogs上发表文章,效果肯定不会好,希望各位多包涵. 编写这个文档的背景是月中的时候,部门老大希望我们能够抽时间学习一下Had ...

  4. 通过ambari安装hadoop集群,ZT

    通过ambari安装hadoop集群,ZT http://www.cnblogs.com/cenyuhai/p/3295635.html http://www.cnblogs.com/cenyuhai ...

  5. Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)--------hadoop环境的搭建

    Linux上安装Hadoop集群(CentOS7+hadoop-2.8.0)------https://blog.csdn.net/pucao_cug/article/details/71698903 ...

  6. 安装hadoop集群--hdfs

    安装hadoop集群--hdfs 大数据软件 链接:https://pan.baidu.com/s/1-3PYLHMgvvONawJq55hstQ 提取码:izqf 准备一台干净的虚拟机-centos ...

  7. 安装hadoop集群服务器(hadoop1.2.1)

    摘要:hadoop,一个分布式系统基础架构,可以充分利用集群的威力进行高速运算和存储.本文主要介绍hadoop的安装与集群服务器的配置. 准备文件: ▪ VMware11.0.0      ▪ Cen ...

  8. CentOS7 安装Hadoop集群环境

    先按照上一篇安装与配置好CentOS以及zookeeper http://www.cnblogs.com/dopeter/p/4609276.html 本章介绍在CentOS搭建Hadoop集群环境 ...

  9. 在虚拟机上配置安装hadoop集群

    原本以为有大神已经总结的很清楚了,就不自己在写了, 但是在自己安装的过程中还是出现了一些问题, 所以打算以自己的方式重新总结一下.    参考https://blog.csdn.net/hliq539 ...

随机推荐

  1. innodb_log_buffer_size和innodb_buffer_pool_size参数说明

    innodb_log_buffer_size Command-Line Format --innodb_log_buffer_size=# System Variable Name    innodb ...

  2. Latex表格插入

    \begin{table}[h] \centering \caption{Traffic flows description} \begin{tabular}{|c||c|c|c|c|} \hline ...

  3. git只合并某一个分支的某个commit

    第一种情况:只合并一个commit git checkout develop-hbb git cherry-pick 7c32be61 以上,7c32be61是develop上的一个fix bug的c ...

  4. mfc标题栏 菜单 退出 关机 重启

    隐藏标题栏 int CMainFrame::OnCreate(LPCREATESTRUCT lpCreateStruct) { if (CFrameWnd::OnCreate(lpCreateStru ...

  5. SGU 271 Book Pile (双端队列)

    题意:n,m,k,表示有一个长度为 n 的序列,有 m 个操作,操作有 2 种,第一种是 ADD 在前面添加一个串,第二种是把前 k 个进行翻转,问你最后的序列是什么样的. 析:很明显,如果直接模拟, ...

  6. 为什么要重写hashCode()方法和equals()方法及如何重写

    我想写的问题有三个: 1.首先我们为什么需要重写hashCode()方法和equals()方法 2.在什么情况下需要重写hashCode()方法和equals()方法 3.如何重写这两个方法 **** ...

  7. 【1】C#文件操作之目录操作

    命名空间:System.IO Directory类下的静态方法: 一.创建目录 Directory.CreateDirectory(string fileName); 二.获取指定目录下的所有文件名 ...

  8. 顺序表[A+B->A]

    题目:表A 1  3  5,表B 2 4 6,都呈非递减排序,现将两个表合并成一个表,也呈非递减排序,存放在A中(或者B中),言外之意是不能开辟新表!拿出B中数据,沿着A的后面一直往前比较,如果小于就 ...

  9. 实战--利用SVM对基因表达标本是否癌变的预测

    利用支持向量机对基因表达标本是否癌变的预测 As we mentioned earlier, gene expression analysis has a wide variety of applic ...

  10. Android Studio自定义组合控件

    在Android的开发中,为了能够服用代码,会把有一定共有特点的控件组合在一起定义成一个自定义组合控件. 本文就详细讲述这一过程.虽然这样的View的组合有一个粒度的问题.粒度太大了无法复用,粒度太小 ...