Hadoop渐进一:Hadoop2.8.0虚拟机集群配置

Hadoop虚拟机集群配置

一、下载工具VMWare Fusion:https://www.vmware.com/products/fusion.html 


二、下载操作系统Ubuntu:https://www.ubuntu.com/download 


三、在VirtualBox中安装一台Ubuntu系统虚拟机后(Master),clone出另外两台虚拟机(Slave)

1、虚拟机安装 


一共3台虚拟机:分配情况和IP地址如下:

192.168.0.100 master — 192.168.0.101 slave1 — 192.168.0.102 slave2

2、虚拟机连接设置为桥连方式。 


3、保证虚拟机的ip和主机的ip在同一个ip段,这样几个虚拟机和主机之间可以相互通信(在/etc/network/interfaces中设置各种网络参数,包括域名设置),设置完成后,重新启动sudo /etc/init.d/networking restart。

 

四、修改虚拟机用户配置,便于集群内主机之间访问:

1、sudo vim /etc/hostname 


2、sudo vim /etc/hosts(域名访问设置:这里在访问网站时会发生错误,文章末尾介绍) 


3、创建用户及用户组

(1)、创建hadoop用户组: sudo add group hadoop

(2)、创建Hadoop用户:sudo adducer -ingroup hadoop hadoop

(3)、给Hadoop用户添加权限:sudo vim /etc/sudoers

 注:在root  ALL=(ALL:ALL)  ALL下添加hadoop  ALL=(ALL:ALL)  ALL

五、安装ssh: sudo apt-get install ssh

1、SSH 是目前较可靠,专为远程登录会话和其他网络服务提供安全性的协议。

(1)、远程主机收到用户的登录请求,把自己的公钥发给用户。

(2)、用户使用这个公钥,将登录密码加密后,发送回来。

(3)、远程主机用自己的私钥,解密登录密码,如果密码正确,就同意用户登录。

2、已有ssh或验证是否安装成功ps -e | grep ssh 


3、SSH无密码登录(本机测试)

(1)、Master主机使用ssh-keygen命令生成公钥私钥对:ssh-keygen -t rsa -P ‘’,生成的密钥对保存在~/.ssh中 


(2)、将生成的公钥追加到授权的key文件中去:cat ~/.ssh/master.pub >>~/.ssh/authorized_keys 


(3)、修改SSH配置文件/etc/ssh/sshd_config(设置完成后,重新启动service ssh restart): 


(4)、目录及文件权限设置(权限设置不能图省事,若权限太大,数字签名会不支持)

chmod 644 authorized_keys

chmod 700 ~/.ssh/

(5)、验证ssh localhost,无密码登录成功: 


(6)、config配置(ssh-keygen生成自定义公钥私钥名称(master; master.pub)情况下) 


1)、在mac客户机命令行下创建公钥私钥对(-P表示密码,’’表示空密码)

kirogi$ ssh-keygen -t rsa -P ''

2)、在~/.ssh/文件夹下创建并配置config文件(为了找到私钥)

#Localhost

Host localhost  //别名

HostName 127.0.0.1  //主机名(IP)

Port 22  //端口号

User hadoop  //用户名

IdentityFile ~/.ssh/master //私钥文件路径

3)、上传公钥master.pub文件到服务端.ssh文件目录下

kirogi$ scp ~/.ssh/master.pub root@xxx.xx.xxx.xx:/root/.ssh/

4)、在服务端.ssh文件下,若无authorized_keys文件,则创建

~# touch authorized_keys

5)、服务端复制上传的公钥master到authorized_keys文件

cat /root/.ssh/master.pub >> authorized_keys

6)、masterr(.ssh)权限设置

chmod 644 authorized_keys

chmod 700 ~/.ssh/

注:权限设置不能图省事,要保证.ssh和authorized_keys只有用户自己有些权限,不然验证无效(目录及文件权限太大,为了保证安全,数字签名不支持)

7)、若出现错误:Agent admitted failure to sign using the key

ssh-add ~/.ssh/master

8)、测试:ssh localhost

原理(此处配置无需操作):为了实现Master主机到多个Slave主机的无密码登录,需要将Master生成的公钥发送到所有的Slave主机上:

1、ssh-copy-id -i ~/.ssh/master.pub remote-host

2、ssh-copy-id 将key直接写到远程机器的 ~/ .ssh/authorized_key.文件中

3、ssh remote-host(测试)

注:cat ~/.ssh/id_rsa.pub | ssh root@MasterHadoop 'cat >> ~/.ssh/authorized_keys’也可以达到相同的效果,在所有主机上均执行一次(chmod 600 ~/.ssh/authorized_keys)。

六、安装JDK

1、下载jdk:http://www.oracle.com/technetwork/cn/java/javase/downloads/jdk8-downloads-2133151-zhs.html

2、解压jdk到/usr/java/目录下(一般自己创建java文件夹): 


3、设置java环境变量(4种方式—采用第二种)

(1)、export PATH=/usr/java/jdk1.8.0_111/:$PATH(对当前用户当前窗口有效)

(2)、sudo vim ~/.bashrc(对当前用户永久生效) 


//在最后一行添上(source ~/.bashrc生效):

 (3)、sudo vim /etc/profile(对所有用户永久生效)

//在最后一行添上(系统重启生效):

export PATH=/usr/java/xxx:$PATH

(4)、vim /etc/environment(对所有用户永久生效)

//在末尾加上(系统重启生效):

PATH=“/usr/local/sbin:/usr/sbin:/usr/bin:/sbin:/bin:/usr/java/xxx”

(5)、验证:java -version

七、Hadood集群安装

1、命令行下载(可以下载源码自行编译,我们这里使用已编译好的包)

wget是linux最常用的下载命令, 一般的使用方法是: wget + 空格 + 要下载文件的url路径:

sudo wget -c http://apache.fayea.com/hadoop/common/hadoop-2.8.0/hadoop-2.8.0.tar.gz 

2、解压到/usr/hadoop/文件中

sudo tar -xzvf hadoop-2.8.0.tar.gz(更名为hadoop_2.8.0)

3、配置环境变量 


4、配置Hadoop

(1)、hadoop-env.sh:/usr/hadoop/etc/hadoop/hadoop-env.sh 


(2)、core-site.xml:/usr/hadoop/etc/hadoop/core-site.xml 


(3)、hdfs-site.xml:/usr/hadoop/etc/hadoop/hdfs-site.xml 


其中dfs.replicationb表示数据块应该被复制的份数(slave数量不能小于这个值)

(4)、mapred-site.xml:/usr/hadoop/etc/hadoop/mapred-site.xml 


注:若文件不存在,则cp etc/hadoop/mapred-site.xml.template etc/hadoop/mapred-site.xml

(5)、yarn-env.sh:/usr/hadoop/etc/hadoop/yarn-env.sh 


(6)、slaves:/usr/hadoop/etc/hadoop/slaves 


(7)、yarn-site.xml:/usr/hadoop/etc/hadoop/yarn-site.xml 


(8) 、权限设置:/usr/hadoop/

sudo chown -R hadoop:hadoop /usr/hadoop/hadoop_2.8.0

sudo chmod 777 /usr/hadoop

八、分别clone slave1、slave2

1、 网络配置:sudo vim /etc/network/interfaces

2、主机名:sudo vim /etc/hostname

3、主机域名配置:sudo vim /etc/hosts

4、删除master中私钥相关配置(config、known_hosts、master):cd ~/.ssh

九、格式化节点:hfs namenode -format(successfully) 


十、启动:start-all.sh

1、出现错误 


在~/.bashrc下设置: 


2、出现警告(暂时跳过,需要自编译hadoop-native或下载对应版本的native) 


十一、主机上查看

1、192.168.0.100:50070

 

2、192.168.0.100:8088

(1)、telnet 192.168.0.100 8088 


(2)、查看master主机端口,netstat –tpnl 


(3)、解决方法

命令:hostname -i

结果:127.0.0.1 192.168.0.100

解决:去掉/etc/hosts中“127.0.0.1 master” 


(4)、访问成功 



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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值