用户配置:

User :root

Password:toor

2.创建新用户 student

Pwd: student

3.安装virtualbox的增强工具软件

4.系统默认安装的是openjdk 1.7.0.5

没有jps等工具可以使用。

但hadoop应该是可以在openjdk中使用的。

卸载openjdk,下载安装oracle jdk.

for i in $(rpm -qa | grep openjdk | grep -v grep)

do

echo "Deleting rpm -> "$i

rpm -e --nodeps $i

done

http://download.oracle.com/otn-pub/java/jdk/7u79-b15/jdk-7u79-linux-x64.tar.gz

wget命令在下载的时候不起作用,oracle网站需要认证。所以wget命令失效了。

手动下载oracle jdk.

tar -zxvf jdk-7u79-linux-x64.tar.gz
mkdir /usr/java
mv ./jdk1.7.0_79 /usr/java/
设置java环境变量
JAVA_HOME=/usr/java/jdk1.7.0_79
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
PATH=$JAVA_HOME/bin:$CLASSPATH:$PATH
export JAVA_HOME CLASSPATH PATH
vi 如何快速跳转到文档末尾? shift+g
跳转至行尾:$
跳转至行首:0
跳转至文件首:gg
  1. 创建hadoop用户组以及用户:

    su 只能切换到管理员用户权限,不使用管理员的登陆脚本和搜索路径
    su -  不但能切换到管理员权限而且使用管理员登陆脚本和搜索路径

    原因是我切换用户的时候命令使用不正确。

    添加Hadoop用户和group

    groupadd hadoop

    useradd hadoop -g hadoop

    配置ssh免密码登录

    ssh-keygen -t rsa -P ''

    cat .ssh/id_rsa.pub >> .ssh/authorized_keys

    chmod 600 .ssh/authorized_keys

    scp .ssh/id_rsa.pub hadoop@master:/home/hadoop/id_rsa_01.pub

    su
    visudo
    add hadoop to sudo folders
    sudo chkconfig sshd on
    sudo chkconfig sshd status
    sudo service sshd start

使用root用户把当前hadoop用户添加到sudo权限。

然后检查sshd服务是否启动,没有启动的话,添加到开机自动启动。并打开sshd服务,然后进行测试。

ssh localhost

而且当前设置只是ssh1,ssh2的更安全,命令稍加改动即可。

2. 更新主机名

cat /etc/sysconfig/network

sudo vi /etc/sysconfig/network

NETWORKING=yes

NETWORKING_IPV6=no

HOSTNAME=namenode01

3.克隆另外三个硬盘:

vboxmanage clonehd d:\hadoop\hdp_rm.vdi d:\hadoop\hdp_rm2.vdi

vboxmanage clonehd d:\hadoop\hdp_rm.vdi d:\hadoop\hdp_dn1.vdi

vboxmanage clonehd d:\hadoop\hdp_rm.vdi d:\hadoop\hdp_dn2.vdi

创建另外的三个虚拟机

4.修改hadoop的密码

Root用户下

Passwd Hadoop

5.启动虚拟机

配置虚拟机的网络地址并更新hosts

配置为手动配置的IP地址,以防重启后变更。

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

192.168.99.100 namenode01

192.168.99.101 namenode02

192.168.99.102 datanode01

192.168.99.103 datanode02

更新ssh公钥私钥,复制公钥到namenode01

在namenode01上集成最全的公钥集合,

然后分发到所有结点。测试免密码访问ssh的效果,保证其能正常访问。

6.关闭防火墙配置

7.

在namenode01,datanode01,datanode02上安装zookeeper

wget http://apache.dataguru.cn/zookeeper/zookeeper-3.4.6/zookeeper-3.4.6.tar.gz

配置zoo.cfg

datadir

server信息

配置环境变量

vi .bashrc

export HADOOP_HOME=/usr/hadoop26

export ZK_HOME=/home/hadoop/zookeeper-3.4.6

export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME

使环境变量生效:

Source ~/.bashrc

启动测试

ZkServer.sh start

Jps

Netstat –an | grep 2181

CentOS 7.0默认使用的是firewall作为防火墙,这里改为iptables防火墙。

1、关闭firewall:

systemctl stop firewalld.service #停止firewall

systemctl disable firewalld.service #禁止firewall开机启动

二、关闭SELINUX

vi /etc/selinux/config

#SELINUX=enforcing #注释掉

#SELINUXTYPE=targeted #注释掉 IT网,http://www.it.net.cn

SELINUX=disabled #增加 Linux学习,http:// linux.it.net.cn

:wq! #保存退出

setenforce 0 #使配置立即生效

通过检查zkServer.sh status的时候可能会发生问题,原因是我们的防火墙规则没有配好,

为了简便起见,直接关闭防火墙。如上所述。

格式化namenode失败:

Hadoop namenode –format

Call From namenode01/192.168.99.100 to namenode01:8485 failed on connection exception: java.net.ConnectException: Connection refused;

先启动journal node之后再格式化即可。

由于我们配置了QJM,所以我们需要先启动QJM的服务,启动顺序如下所示:

  1. 进入到DN节点,启动zk的服务:zkServer.sh start,之后可以输入zkServer.sh status查看启动状态,本次我们配置了三个DN节点,会出现一个leader和两个follower。输入jps,会显示启动进程:QuorumPeerMain
  2. 在NN节点上(选一台即可,这里我选择的是一台预NNA节点),然后启动journalnode服务,命令如下:hadoop-daemons.sh start journalnode。或者单独进入到每个DN输入启动命令:hadoop-daemon.sh start journalnode。输入jps显示启动进程:JournalNode
  3. 接着若是配置后,我们首次启动,需要格式化HDFS,命令如下:hadoop namenode –format
  4. 之后我们需要格式化ZK,命令如下:hdfs zkfc -formatZK
  5. 接着我们启动hdfs和yarn,命令如下:start-dfs.shstart-yarn.sh,我们在nna输入jps查看进程,显示如下:DFSZKFailoverControllerNameNodeResourceManager
  6. 接着我们在NNS输入jps查看,发现只有DFSZKFailoverController进程,这里我们需要手动启动NNS上的namenodeResourceManager进程,命令如下:hadoop-daemon.sh start namenodeyarn-daemon.sh start resourcemanager。需要注意的是,在NNS上的yarn-site.xml中,需要配置指向NNS,属性配置为rm2,在NNA中配置的是rm1。
  7. 最后我们需要同步NNA节点的元数据,命令如下:hdfs namenode –bootstrapStandby,若执行正常,日志最后显示如下信息

Centos7 搭建hadoop2.6 HA的更多相关文章

  1. centos7搭建hadoop2.10高可用(HA)

    本篇介绍在centos7中搭建hadoop2.10高可用集群,首先准备6台机器:2台nn(namenode);4台dn(datanode):3台jns(journalnodes) IP hostnam ...

  2. centos7搭建hadoop2.10完全分布式

    本篇介绍在centos7中大家hadoop2.10完全分布式,首先准备4台机器:1台nn(namenode);3台dn(datanode) IP hostname 进程 192.168.30.141 ...

  3. centos7搭建hadoop-2.7.3,zookeeper-3.4.6,hbase-1.2.5(root用户)

    环境:[centos7.hadoop-2.7.3.zookeeper-3.4.6.hbase-1.2.5] 两个节点:[主节点,主机名为Master,用户为root:从节点,主机名为Slave,用户为 ...

  4. CentOS7搭建Hadoop2.8.0集群及基础操作与测试

    环境说明 示例环境 主机名 IP 角色 系统版本 数据目录 Hadoop版本 master 192.168.174.200 nameNode CentOS Linux release 7.4.1708 ...

  5. CentOS7搭建hadoop2.6.4+HBase1.1.6

    环境: CentOS7 hadoop2.6.4两个节点:master.slave1 HBase1.1.6 过程: hadoop安装目录:/usr/hadoop-2.6.4 master节点,hadoo ...

  6. CentOS7搭建hadoop2.6.4双节点集群

    环境: CentOS7+SunJDK1.8@VMware12. NameNode虚拟机节点主机名:master,IP规划:192.168.23.101,职责:Name node,Secondary n ...

  7. centos7搭建hadoop2.10伪分布模式

    1.准备一台Vmware虚拟机,添加hdfs用户及用户组,配置网络见 https://www.cnblogs.com/qixing/p/11396835.html 在root用户下 添加hdfs用户, ...

  8. hadoop2.8 ha 集群搭建

    简介: 最近在看hadoop的一些知识,下面搭建一个ha (高可用)的hadoop完整分布式集群: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop ...

  9. 基于原生态Hadoop2.6 HA集群环境的搭建

    hadoop2.6  HA平台搭建   一.条件准备 软件条件: Ubuntu14.04 64位操作系统, jdk1.7 64位,Hadoop 2.6.0,  zookeeper 3.4.6 硬件条件 ...

随机推荐

  1. MySQL服务器权限表

    MySQL服务器通过权限表来控制用户对数据库的访问,权限表存放在mysql数据库里,由mysql_install_db脚本初始化.这些权限表分别user,db,table_priv,columns_p ...

  2. ahjesus C# Flags 位域略说

    class Program { [Flags] public enum Week { [Description("星期一")] Monday = << , [Descr ...

  3. [Architecture Design] 3-Layer基础架构

    [Architecture Design] 3-Layer基础架构 三层式体系结构 只要是软件从业人员,不管是不是本科系出身的,相信对于三层式体系结构一定都不陌生.在三层式体系结构中,将软件开发所产出 ...

  4. Android Java类编写规范+优化建议

    本文仅是我个人在实际开发中习惯的编写方式,当然这种方式也是来自很多官方的推荐,所以在一定程度上是可以被模仿套用的.本文将不定期更新~ 零.指导原则 优先保证可读性,不要过分追求代码艺术和效率 在可读性 ...

  5. 初始block,关于定义的几个小题目

    block的定义和C语言指针函数非常相似,就可以照着指针函数的方法去依葫芦画瓢就可以了 block中的^只是用来表示这是一个block对象,和函数指针中的*作用一样,只是一个标识符 下面有三个小例子来 ...

  6. iOS 学习 - 6.Objective-C中的各种遍历(迭代)方式

    说明:转自文顶顶 一.使用 for 循环 要遍历字典.数组或者是集合,for 循环是最简单也用的比较多的方法 -(void)iteratorWithFor { //////////处理数组////// ...

  7. iOS 7中实现模糊效果

    本文译自iOS 7 Blur Effects with GPUImage. iOS 7在视觉方面有许多改变,其中非常吸引人的功能之一就是在整个系统中巧妙的使用了模糊效果.许多第三方应用程序已经采用了这 ...

  8. ios开发随笔第一篇-button,label按钮的一些属性的使用

    我用的是纯代码方式,喜欢用storyboard开发的其实也很爽了; 首先谈谈button,ios中新建button这个对象一般接触的都明白,UIButton *button名=[ UIButton a ...

  9. Android Studio集成百度地图SDK

    1.建议先阅读百度地图官方的继承指南,针对了Eclipse和Android Studio. 百度官方集成指南 2.下载百度地图SDK Android SDK v4.1.1 下载有两种: 1.一键下载( ...

  10. mac上的替代软件

    文本编辑器:bbedit 视频播放器:Movist 图片浏览:LilyView 远程桌面:Remotix 虚拟主机:parallels desktop svn client:cornerstone o ...