Hadoop分布式集群搭建 (一 Centos7 环境准备)

机器准备

  • Centos7
  • Vmware10
  • jdk

安装和配置IP

主机名称用户密码ip
mastermastermaster192.168.1.122
slave1hadoophadoop192.168.1.123
slave2hadoophadoop192.168.1.124
slave3hadoophadoop192.168.1.125

在每台主机添加用户 hadoop 密码 hadoop

使用命令 useradd添加用户, passwd为用户hadoop设置密码

[root@slave1 ~]# useradd hadoop
[root@slave1 ~]# passwd hadoop
Changing password for user hadoop.
New password: 
BAD PASSWORD: The password is shorter than 8 characters
Retype new password: 
passwd: all authentication tokens updated successfully.
[root@slave1 ~]# 

关闭防火墙

关闭防火墙是必须的,centos7默认是不用iptables

sudo systemctl stop firewalld.service && sudo  systemctl disable firewalld.service

配置hosts文件

注意: ==sudo== 命名为使用超级管理员用户操作 相当于 root 用户

[hadoop@localhost ~]$ sudo vim /etc/hosts

问题:若无法使用sudo命令?

hadoop is not in the sudoers file.  This incident will be reported.

需要在 /etc/sudoers文件中添加配置

## Allow root to run any commands anywhere 
root    ALL=(ALL)   ALL
hadoop ALL=(ALL) ALL

hosts文件中添加内容为(其他主机同样添加):

192.168.1.122 master
192.168.1.123 slave1
192.168.1.124 slave2
192.168.1.125 slave3

配置SSH 免登陆

这里需要对 所有机器上的 ==hadoop@主机== 用户配置ssh免密码登录

在Centos7中已经默认安装ssh服务,ssh-keygen命令无效,说明需要先安装ssh服务,即:

[hadoop@master /]$ sudo yum install openssh-server

以==master==主机为例.

  • 生成无密码密钥对,在命令中一路回车即可
[hadoop@master /]$ ssh-keygen
  • ### 将公钥写入公钥库中,这里公钥库使用默认库名 authorized_keys
[hadoop@master /]$  cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys

查看.ssh中内容

[hadoop@master ~]$ cd ~/.ssh
[hadoop@master .ssh]$ ls
authorized_keys  id_rsa  id_rsa.pub  known_hosts
  • 设置公钥库权限
[hadoop@master /]$ chmod 600 authorized_keys 
  • 重启ssh服务 (root权限)
[hadoop@master /]$ sudo service sshd restart

其他主机,即slave1,slave2,slave3,分别执行 ssh-keygen生成密钥对

  • 将maser主机中的ssh分别发至 slave1,slave2,slave3主机

其中 slave1@slave1 即 xx@yy xx代表用户名,yy代表主机名

[hadoop@master /]$ scp ~/.ssh/* hadoop@slave1:~/.ssh/
[hadoop@master /]$ scp ~/.ssh/* hadoop@slave2:~/.ssh/
[hadoop@master /]$ scp ~/.ssh/* hadoop@slave3:~/.ssh/

重启其他主机的ssh服务

  • 测试

主机之间第一次访问时,会需要接受ESDSA可以,yes接受即可,再次互相访问时,就就不在需要了。

[hadoop@slave3 ~]$ ssh master
The authenticity of host 'master (192.168.1.122)' can't be established.
ECDSA key fingerprint is 3b:14:33:d5:5a:c4:92:c5:62:65:49:3d:4f:90:07:16.
Are you sure you want to continue connecting (yes/no)? yes
Warning: Permanently added 'master,192.168.1.122' (ECDSA) to the list of known hosts.
Last login: Sun Nov  6 06:03:47 2016 from 192.168.1.105
[hadoop@master ~]$ ssh slave1
Last login: Sun Nov  6 06:05:12 2016 from 192.168.1.105
[hadoop@slave1 ~]$ ssh slave2
Last login: Sun Nov  6 06:11:48 2016 from 192.168.1.105
[hadoop@slave2 ~]$ ssh slave3

maser,slave1,slave2,slave3 四台主机之间都可以无密码访问,即是ssh设置成功了!

配置JDK

这里对==master==主机进行配置 将jdk等软件上传至/opt/目录:

  • 使用超级管理员用户解压 jdk
sudo tar -zxvf jdk-7u67-linux-x64.tar.gz 

配置jdk环境变量 /etc/profile,并查看是否成功

export JAVA_HOME=/opt/jdk1.7.0_67/
export JRE_HOME=/opt/jdk1.7.0_67/jre
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/lib
export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin

注意,上面配置中,最后一行,$PATH放在前面不生效时,也可以这么写:

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

重新加载

source /etc/profile
  • 1
    点赞
  • 1
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值