手机版
你好,游客 登录 注册 搜索
背景:
阅读新闻

Hadoop2.7.2集群搭建详解(高可用)

[日期:2017-03-22] 来源:Linux社区  作者:uq_jin [字体: ]

如果你还没有虚拟机,请参考:http://www.linuxidc.com/Linux/2017-03/141646.htm
如果你还没有试过单机模式,请参考:http://www.linuxidc.com/Linux/2017-03/142050.htm
如果你还没有试过集群模式,请参考:http://www.linuxidc.com/Linux/2017-03/142051.htm

集群规划

主机名ip安装的软件进程
Hadoop01 192.168.1.101 jdk、hadoop NN、DFSZKFailoverController
hadoop02 192.168.1.102 jdk、hadoop NN、DFSZKFailoverController
hadoop03 192.168.1.103 jdk、hadoop RM
hadoop04 192.168.1.104 jdk、hadoop、zookeeper DN、NM、journalnode
hadoop05 192.168.1.105 jdk、hadoop、zookeeper DN、NM、journalnode
hadoop06 192.168.1.106 jdk、hadoop、zookeeper DN、NM、journalnode

六台主机

主机名:
hadoop01、hadoop02、hadoop03、hadoop04、hadoop05、hadoop06
如果不会请参考:http://www.linuxidc.com/Linux/2017-03/141646.htm

用户名:Hadoop
密码:12345678

设置主机名映射(root用户)

将本机的主机名和IP建立映射关系

vi /etc/hosts

加入如下文件:

192.168.2.101 hadoop01
192.168.2.102 hadoop02
192.168.2.103 hadoop03
192.168.2.104 hadoop04
192.168.2.105 hadoop05
192.168.2.106 hadoop06

这里写图片描述

拷贝/etc/hosts到其它主机

scp /etc/hosts hadoop02:/etc/
scp /etc/hosts hadoop03:/etc/
scp /etc/hosts hadoop04:/etc/
scp /etc/hosts hadoop05:/etc/
scp /etc/hosts hadoop06:/etc/

开放常用端口(root用户)

#关闭防火墙
sudo systemctl stop firewalld.service
#关闭开机启动
sudo systemctl disable firewalld.service

创建专有的用户(root用户)

一般是建专有的hadoop用户,不在root用户上面搭建

创建组和用户

这里每台虚拟主机都应该有hadoop用户

#先创建组cloud
groupadd cloud
#创建用户并加入组cloud
useradd -g cloud hadoop
#修改用户hadoop的密码
passwd hadoop

将hadoop用户加到sodu列表

1、查看/etc/sudoers的权限

ls -l /etc/sudoers

这里写图片描述

可以看的是只读权限,如果我们要修改就必须先改变该文件的权限

2、修改权限

chmod 777 /etc/sudoers

这里写图片描述

3、将hadoop添加root权限

vim /etc/sudoers

这里写图片描述

在root下加入下面hadoop用户

4、还原权限

chmod 440 /etc/sudoers

拷贝/etc/sudoers到其它主机

scp /etc/sudoers hadoop02:/etc/
scp /etc/sudoers hadoop03:/etc/
scp /etc/sudoers hadoop04:/etc/
scp /etc/sudoers hadoop05:/etc/
scp /etc/sudoers hadoop06:/etc/

配置免密码登录(hadoop用户)

切换hadoop用户

su hadoop

进入到当前用户的根目录

cd ~ 

查看所有文件

ls –la

进入.ssh目录

cd .ssh

生产公钥和私钥(四个回车)

ssh-keygen -t rsa

执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)

这里写图片描述

将公钥拷贝到要免登陆的机器上

ssh-copy-id 192.168.2.101
ssh-copy-id 192.168.2.102
ssh-copy-id 192.168.2.103
ssh-copy-id 192.168.2.104
ssh-copy-id 192.168.2.105
ssh-copy-id 192.168.2.106

这时会在192.168.2.102主机的.ssh/下产生一个名为authorized_keys的文件,这时通过 ssh 192.168.2.102时可以直接免登陆进入主机
如下:

这里写图片描述

同理可以给其他机器也设置免密码登录。

准备软件

在/home/hadoop/下创建cloud文件夹,用来安装相关软件,同时所用安装包放在cloud下的soft-install文件夹下,如:

cd /home/hadoop
mkdir cloud
mkdir soft-install

在soft-install里上传我们需要的软件:

这里写图片描述

上传我们所需要的软件到这个目录

安装jdk

解压

tar -zxvf jdk-8u91-linux-x64.tar.gz -C /home/hadoop/cloud/

配置环境变量

# 修改配置文件
sudo vi /etc/profile
# 在最后下添加

export JAVA_HOME=/home/hadoop/cloud/jdk1.8.0_91
export PATH=$JAVA_HOME/bin:$PATH
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

# 刷新配置文件
source /etc/profile

将jdk和环境变量分别拷贝到其他主机上

可以直接将cloud文件夹复制过去

scp -r cloud/ hadoop02:/home/hadoop/
scp -r cloud/ hadoop03:/home/hadoop/
scp -r cloud/ hadoop04:/home/hadoop/
scp -r cloud/ hadoop05:/home/hadoop/
scp -r cloud/ hadoop06:/home/hadoop/

将环境变量拷贝到其他主机下

sudo scp /etc/profile hadoop02:/etc/
sudo scp /etc/profile hadoop03:/etc/
sudo scp /etc/profile hadoop04:/etc/
sudo scp /etc/profile hadoop05:/etc/
sudo scp /etc/profile hadoop06:/etc/

刷新环境变量

source /etc/profile

安装zookeeper

如果不懂Zookeeper请参考:http://www.linuxidc.com/Linux/2013-06/85549.htm

下载地址:http://mirrors.hust.edu.cn/apache/zookeeper/

安装

前面我们已经安装的jdk,现在我们在hadoop04、hadoop05、hadoop06上安装Zookeeper

1、解压

tar -zxvf zookeeper-3.4.8.tar.gz -C /home/hadoop/cloud/

2、修改Zookeeper的默认配置 conf/zoo_sample.cfg

mv zoo_sample.cfg zoo.cfg
vi zoo.cfg

配置如下:

#修改dataDir指向我们数据
dataDir=/home/hadoop/cloud/zookeeper-3.4.8/data
#并在最后添加
server.1=hadoop04:2888:3888
server.2=hadoop05:2888:3888
server.3=hadoop06:2888:3888

3、在/home/hadoop/cloud/zookeeper-3.4.8/目录下创建data文件夹

mkdir data

4、在data文件夹下创建myid文件指明本机id

vim myid

id 分别对应为hadoop04为1,hadoop05为2,hadoop06为3 后面我们再统一拷贝

5、复制zookeeper-3.4.8到105、106机器上并修改相应的myid

scp -r zookeeper-3.4.8/ hadoop04:/home/hadoop/cloud/
scp -r zookeeper-3.4.8/ hadoop05:/home/hadoop/cloud/
scp -r zookeeper-3.4.8/ hadoop06:/home/hadoop/cloud/

启动Zookeeper

分别在hadoop04、hadoop05、hadoop06上启动Zookeeper

#执行/home/hadoop/cloud/zookeeper-3.4.8/bin目录下的脚本启动
./zkServer.sh start

查看zookeeper的状态

./zkServer.sh status

在bin/目录下运行,运行结果如下说明成功(此时至少运行2台)

这里写图片描述

其实我们可以找到leader 然后stop,会发现Zookeeper会立即切换Leader

更多详情见请继续阅读下一页的精彩内容http://www.linuxidc.com/Linux/2017-03/142052p2.htm

linux
相关资讯       Hadoop集群搭建  Hadoop2.7.2 
本文评论   查看全部评论 (0)
表情: 表情 姓名: 字数

       

评论声明
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款