过程如下:

配置hosts

vim /etc/hosts

格式:

ip hostname

ip hostname

设置免密登陆

首先:每台主机使用ssh命令连接其余主机

ssh 用户名@主机名

提示是否连接:输入yes

提示输入密码:输入被请求连接主机的密码

成功过后

就会在本机的~目录下生成  .ssh文件夹

然后在master的主机上进入 ~/.ssh 目录

执行:

ssh-keygen -t rsa

回车回车再回车

得到  id_rsa   id_rsa.pub  两个文件
复制一份 id_rsa.pub

cp id_rsa.pub authorized_keys

修改权限

修改.ssh权限

chmod -R 700 .ssh

修改quthorized_keys权限

chmod 600 authorized_keys

尝试ssh连接本机

ssh root@xinglichao

成功免密登陆

然后将 authorized_keys 分发到其他主机

scp ~/.ssh/authorized_keys root@****:~/.ssh

同样尝试ssh连接其余主机,全部可以免密登陆

下载好hadoop并解压到指定文件夹下

master以及其余主机上配置 /etc/profile

首先找到java的安装路径

[root@xinglichao-centos ~]# which java
/usr/bin/java
[root@xinglichao-centos ~]# ls -lrt /usr/bin/java
lrwxrwxrwx. 1 root root 22 9月 25 18:42 /usr/bin/java -> /etc/alternatives/java
[root@xinglichao-centos ~]# ls -lrt /etc/alternatives/java
lrwxrwxrwx. 1 root root 71 9月 25 18:42 /etc/alternatives/java -> /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java

然后编辑profile

vim /etc/profile

添加JAVA_HOME以及HADOOP_HOME

source一下使配置文件生效

source /etc/profile

master上修改hadoop的配置文件:hadoop-env.sh

vim /usr/apache/hadoop-2.7.5/etc/hadoop/hadoop-env.sh

增加内容

export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64
export HADOOP_HOME=/usr/apache/hadoop-2.7.5

测试hadoop

hadoop

master上修改hadoop中的slaves文件,指定为另外主机名(此处不贴截图了)

vim /etc/hadoop/hadoop-2.7.5/etc/hadoop/slaves

master主机创建name节点文件夹,slaves节点创建data文件夹

master:
mkdir -p hadoop/hadoop-2.7.5/node/dfs/name
slaves:
mkdir -p hadoop/hadoop-2.7.5/node/dfs/data

master中修改与hadoop-env.sh同文件夹下的core-site.xml

<configuration>

<property>

        <name>fs.default.name</name>

        <value>hdfs://xinglichao:9000</value>

    </property>

<property>

          <name>hadoop.tmp.dir</name>

          <value>/usr/hadoop/hadoop-2.7.5/node</value>

    </property>

</configuration>

master中修改与hadoop-env.sh同文件夹下的修改hdfs-site.xml

<configuration>

<property>

        <name>dfs.replication</name>

      <value>3</value>

</property>

  <property>

      <name>dfs.name.dir</name>

        <value>/usr/hadoop/hadoop-2.7.5/node/dfs/name</value>

</property>

    <property>

      <name>dfs.data.dir</name>

      <value>/usr/hadoop/hadoop-2.7.5/node/dfs/data</value>

    </property>

</configuration>

复制mapred-site.xml.template一份为mapred-site.xml,并修改为

<configuration>

    <property>

        <name>mapreduce.framework.name</name>

        <value>yarn</value>

    </property>

</configuration>

master中修改yarn-site.xml

<configuration>

    <property>

        <name>yarn.resourcemanager.hostname</name>

        <value>xinglichao</value>

    </property>

    <property>

        <name>yarn.nodemanager.aux-services</name>

        <value>mapreduce_shuffle</value>

    </property>

</configuration>

分发hadoop到其他slaves主机

scp -r /etc/hadoop/hadoop-2.7.5 root@****:/etc/hadoop/

在master上格式化文件系统

hdfs namenode -format

此时出现问题:找不到java


/usr/hadoop/hadoop-2.7.5/bin/hdfs:行304: /usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/bin/java: 没有那个文件或目录


再查看下java的安装路径

发现:原来是在上一路径下的jre文件夹下


/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.161-2.b14.el7.x86_64/jre/bin/java


修改hadoop中hadoop-env.sh

在JAVA_HOME后添加   /jre  (注:此处的路径与上面的不同,理由在下面)

另外:

当我执行 jps命令查看节点运行状态时发现jps不是内部命令,于是更新了java

yum install java-1.8.0-openjdk-devel.x86_64

 上图的路径是已经配置了新版本的java路径后的文件

再次格式化文件系统:hdfs namenode -formate

jps一下,至此算是成功了

后续的使用就是创建工程文件夹,上传文件到HDFS,写MapReduce,执行代码(参考:hadoop单机伪分布式与真分布式系统下运行MR代码


本节完......

[过程记录]Centos7 下 Hadoop分布式集群搭建的更多相关文章

  1. Centos 7下Hadoop分布式集群搭建

    一.关闭防火墙(直接用root用户) #关闭防火墙 sudo systemctl stop firewalld.service #关闭开机启动 sudo systemctl disable firew ...

  2. Hadoop分布式集群搭建

    layout: "post" title: "Hadoop分布式集群搭建" date: "2017-08-17 10:23" catalog ...

  3. Hadoop分布式集群搭建hadoop2.6+Ubuntu16.04

    前段时间搭建Hadoop分布式集群,踩了不少坑,网上很多资料都写得不够详细,对于新手来说搭建起来会遇到很多问题.以下是自己根据搭建Hadoop分布式集群的经验希望给新手一些帮助.当然,建议先把HDFS ...

  4. hadoop分布式集群搭建前期准备(centos7)

    那玩大数据,想做个大数据的从业者,必须了解在生产环境下搭建集群哇?由于hadoop是apache上的开源项目,所以版本有些混乱,听说都在用Cloudera的cdh5来弄?后续研究这个吧,就算这样搭建不 ...

  5. Hadoop框架:单服务下伪分布式集群搭建

    本文源码:GitHub·点这里 || GitEE·点这里 一.基础环境 1.环境版本 环境:centos7 hadoop版本:2.7.2 jdk版本:1.8 2.Hadoop目录结构 bin目录:存放 ...

  6. hadoop分布式集群搭建(2.9.1)

    1.环境 操作系统:ubuntu16 jdk:1.8 hadoop:2.9.1 机器:3台,master:192.168.199.88,node1:192.168.199.89,node2:192.1 ...

  7. Hadoop分布式集群搭建_1

    Hadoop是一个开源的分布式系统框架 一.集群准备 1. 三台虚拟机,操作系统Centos7,三台主机名分别为k1,k2,k3,NAT模式 2.节点分布 k1: NameNode DataNode ...

  8. kettle在centos7下部署分布式集群

    首先安装三台centos7 ,分别配置好静态ip    ssh免密码登录     关闭防火墙 具体步骤这里不多说了 关于centos7配置静态ip大家可以参考:https://www.cnblogs. ...

  9. centos7下Zookeeper+sheepdog集群搭建

    zookeeper 安装命令 yum install zookeeper -y            (版本:zookeeper.x86_64      3.4.6-1) yum install zo ...

随机推荐

  1. BZOJ 2561 最小生成树 | 网络流 最小割

    链接 BZOJ 2561 题解 用Kruskal算法的思路来考虑,边(u, v, L)可能出现在最小生成树上,就是说对于所有边权小于L的边,u和v不能连通,即求最小割: 对于最大生成树的情况也一样.容 ...

  2. 自动化运维工之Ansible(1)

    1.1 ansible简介 1.1.1 .Ansible软件介绍: Ansible提供一种最简单的方式用于发布.管理和编排计算机系统的工具,可在数分钟内搞定.Ansible由Python语言开发, 默 ...

  3. 51nod 1577 异或凑数

    思路真的是挺巧妙的. 让我惊叹,原来线性基还能这么做?!?! 好吧,这种取若干个数异或凑数的题目怎么能少的了线性基呢? 但是,问题集中在于怎么快速提取一个区间的线性基 暴力n^2 线段树维护线性基?分 ...

  4. div+css感悟

    div+css感觉很简单,可是真正做起来一些小细节把握不好,这个网页的布局也是完成不了的.今天学习了一些技巧方法现在分享下: 即一个原则,网页由一个个的大盒子组成,一个个的大盒子里面装着一个个的小盒子 ...

  5. token的理解

    今天学习了token,它的英文意思是令牌的意思.在我理解即像通行证一样,在用户登录成功系统后,会为这个用户颁发一个token,这样它去其他系统都免登录,因为有了这个令牌. token的生成我们可以用U ...

  6. net.sf.json------json解析

    下载地址 [plain] view plain copy   本次使用版本:http://sourceforge.net/projects/json-lib/files/json-lib/json-l ...

  7. 金融量化分析【day110】:Pandas-DataFrame读取与写入

    一.DataFrame DataFrame是一个表格型的数据结构,含有一组有序的列 DataFrame可以被看作是有Series组成的字典并且工用一个索引 1.创建方式 pd.DataFrame({' ...

  8. IOS的属性和实例变量

    实际上,@property声明的是属性,并不是实例变量.但是编译器会根据属性,自动生成实例变量,和对应的access方法.所以已经在interface里声明了@property,就不再需要在imple ...

  9. C语言复习---二维数组和二级指针的关系:没关系,别瞎想(重点)

    前提:一维数组和一维指针为什么可以替换使用? ] = { , , }; int *p = a; ; i < ; i++) printf("%d ", *(p + i)); 上 ...

  10. js 正则学习小记之匹配字符串字面量优化篇

    昨天在<js 正则学习小记之匹配字符串字面量>谈到 个字符,除了第一个 个,只有 个转义( 个字符),所以 次,只有 次成功.这 次匹配失败,需要回溯后用 [^"] 才能匹配成功 ...