Centos7 搭建hadoop2.6 HA
用户配置:
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
- 创建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的服务,启动顺序如下所示:
- 进入到DN节点,启动zk的服务:zkServer.sh start,之后可以输入zkServer.sh status查看启动状态,本次我们配置了三个DN节点,会出现一个leader和两个follower。输入jps,会显示启动进程:QuorumPeerMain
- 在NN节点上(选一台即可,这里我选择的是一台预NNA节点),然后启动journalnode服务,命令如下:hadoop-daemons.sh start journalnode。或者单独进入到每个DN输入启动命令:hadoop-daemon.sh start journalnode。输入jps显示启动进程:JournalNode。
- 接着若是配置后,我们首次启动,需要格式化HDFS,命令如下:hadoop namenode –format。
- 之后我们需要格式化ZK,命令如下:hdfs zkfc -formatZK。
- 接着我们启动hdfs和yarn,命令如下:start-dfs.sh和start-yarn.sh,我们在nna输入jps查看进程,显示如下:DFSZKFailoverController,NameNode,ResourceManager。
- 接着我们在NNS输入jps查看,发现只有DFSZKFailoverController进程,这里我们需要手动启动NNS上的namenode和ResourceManager进程,命令如下:hadoop-daemon.sh start namenode和yarn-daemon.sh start resourcemanager。需要注意的是,在NNS上的yarn-site.xml中,需要配置指向NNS,属性配置为rm2,在NNA中配置的是rm1。
- 最后我们需要同步NNA节点的元数据,命令如下:hdfs namenode –bootstrapStandby,若执行正常,日志最后显示如下信息
Centos7 搭建hadoop2.6 HA的更多相关文章
- centos7搭建hadoop2.10高可用(HA)
本篇介绍在centos7中搭建hadoop2.10高可用集群,首先准备6台机器:2台nn(namenode);4台dn(datanode):3台jns(journalnodes) IP hostnam ...
- centos7搭建hadoop2.10完全分布式
本篇介绍在centos7中大家hadoop2.10完全分布式,首先准备4台机器:1台nn(namenode);3台dn(datanode) IP hostname 进程 192.168.30.141 ...
- 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,用户为 ...
- CentOS7搭建Hadoop2.8.0集群及基础操作与测试
环境说明 示例环境 主机名 IP 角色 系统版本 数据目录 Hadoop版本 master 192.168.174.200 nameNode CentOS Linux release 7.4.1708 ...
- CentOS7搭建hadoop2.6.4+HBase1.1.6
环境: CentOS7 hadoop2.6.4两个节点:master.slave1 HBase1.1.6 过程: hadoop安装目录:/usr/hadoop-2.6.4 master节点,hadoo ...
- CentOS7搭建hadoop2.6.4双节点集群
环境: CentOS7+SunJDK1.8@VMware12. NameNode虚拟机节点主机名:master,IP规划:192.168.23.101,职责:Name node,Secondary n ...
- centos7搭建hadoop2.10伪分布模式
1.准备一台Vmware虚拟机,添加hdfs用户及用户组,配置网络见 https://www.cnblogs.com/qixing/p/11396835.html 在root用户下 添加hdfs用户, ...
- hadoop2.8 ha 集群搭建
简介: 最近在看hadoop的一些知识,下面搭建一个ha (高可用)的hadoop完整分布式集群: hadoop的单机,伪分布式,分布式安装 hadoop2.8 集群 1 (伪分布式搭建 hadoop ...
- 基于原生态Hadoop2.6 HA集群环境的搭建
hadoop2.6 HA平台搭建 一.条件准备 软件条件: Ubuntu14.04 64位操作系统, jdk1.7 64位,Hadoop 2.6.0, zookeeper 3.4.6 硬件条件 ...
随机推荐
- 重温html5的新增的标签和废除的标签
HTML5已经盛行有段时间了,对于标签的使用,按照规范,哪些该用,哪些不该用,你是否都掌握了呢.今天我在这里详细列举下: 新增的结构标签 section元素 表示页面中的一个内容区 块,比如章节.页眉 ...
- 机器学习实战 - 读书笔记(07) - 利用AdaBoost元算法提高分类性能
前言 最近在看Peter Harrington写的"机器学习实战",这是我的学习笔记,这次是第7章 - 利用AdaBoost元算法提高分类性能. 核心思想 在使用某个特定的算法是, ...
- linux下的inode记录
我们经常在Linux下可以看到inode,都不知道是什么东东,那么我们现在来慢慢了解下. 一.inode是什么? 理解inode,要从文件储存说起. 文件储存在硬盘上,硬盘的最小存储单位叫做&q ...
- Python学习之Python简介
Python简介 Python的由来 Python(英国发音:/ˈpaɪθən/ 美国发音:/ˈpaɪθɑːn/), 是一种面向对象.解释型计算机程序设计语言,它是吉多·范罗苏姆(Guide van ...
- 【GPU编解码】GPU硬编码
一.OpenCV中的硬编码 OpenCV2.4.6中,已实现利用GPU进行写视频,编码过程由cv::gpu::VideoWriter_GPU完成,其示例程序如下. int main(int argc, ...
- Cache&Session Viewer
用于查看和删除网站Cache https://github.com/sdf333/Aspy
- LALR(1)语法分析生成器--xbytes
0.概述: 看了编译器龙书和虎书后,自己手动写了一个LALR(1)语法分析生成器,使用的语法文件格式和lemon的差不多. 程序里面很多的算法也都是摘录自虎书,龙书虽然讲的很详细,但是真正动手写的时候 ...
- html与js的取值,赋值
-------------------------------------------------- ------------------------------------------------- ...
- asp.net mvc Html.BeginForm()方法
Html.BeginForm()方法将会输出<form>标签,而且必须以using包起来,如此便可在using程序代码最后退出时,让asp.net mvc帮你补上<form>标 ...
- 关于C#中Environment.OSVersion判断操作系统及Win10上的问题
我们都知道在C#中可以通过Environment.OSVersion来判断当前操作系统,下面是操作系统和主次版本的对应关系: 操作系统 主版本.次版本 Windows 10 10.0* Windows ...