1.hadoop的分布式安装过程
可以使用虚拟机克隆系统,分配512M内存,使用文本界面(节省内存)
网络连接方式为桥接
master:192.168.110.100
修改主机名为host0 /etc/hostname为hadoop0域名:/etc/hosts:hadoop0
配置文件 core-site.xml 和 mapred-site.xml 中的域名也要改为hadoop0
在windows下ping 192.168.110.100,看能够ping 通么。
servant1:192.168.110.101
修改主机名为host1 /etc/hostname为hadoop1域名:/etc/hosts:hadoop1
在windows下ping 192.168.110.101,看能够ping 通么。
servant2:192.168.110.102
修改主机名为host1 /etc/hostname为hadoop2域名:/etc/hosts:hadoop2
在windows下ping 192.168.110.102,看能够ping 通么。
1.2 各节点重新产生ssh加密文件
假设servant1和servant2是新的机器,需要设置免密码登录。首先要把克隆过来的ssh密钥和原来的hadoop安 装文件以及jdk,还有/etc/profile中的配置信息等删除。
重新设置免密码登录以及从master将hadoop和jdk复制进来。
步骤:
1.2.1:产生私钥和公钥
输入命令:ssh-keygen -t rsa
一直按回车;
此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。
1.2.2:下面我们将公钥追加到authorized_keys中
输入命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
1.2.3:登录ssh
ssh localhost
若使用ssh hadoop1的形式,需要配置ip与hostname的映射信息
1.3 编辑各个节点的/etc/hosts,在该文件中含有所有节点的ip与hostname的映射信息
1.1中已经完成
1.4 为了互相访问主机,两两节点之间也需要SSH免密码登陆
1.4.1:把集群中其他主机ip与hostname的映射关系,加到机器上。
例如在hadoop0中添加hadoop1和hadoop2的ip与域名映射。/etc/hosts
其他两个也要添加,可以手工改,但是数量多时,不方便,可以复制。
1.4.2:设置主机之间的ssh免密码登录。
1.将hadoop0的公钥,复制到hadoop1中。
执行命令:ssh-copy-id -i hadoop1
执行命令:ssh hadoop1发现,无需登录密码。
2:将hadoop:2的公钥,复制到hadoop1中。
执行命令:ssh-copy-id -i hadoop1
执行命令:ssh hadoop1发现,无需登录密码。
3.现在hadoop1已经有了hadoop0和hadoop2的公钥,同理hadoop0和hadoop2也应该有除了自己之外的其他机器的公钥。
可以将hadoop1的新公钥复制到hadoop0和hadoop2中。
执行命令:scp authorized_keys hadoop0:/home/hadoop/.ssh/
执行命令:scp authorized_keys hadoop0:/home/hadoop/.ssh/
1.5 把hadoop0的hadoop目录下的logs和tmp删除
因为hadoop0是从之前的伪分布式克隆而来的。
执行命令:rm -rf logs/
执行命令:rm -rf tmp/
1.6 把hadoop0中的jdk、hadoop文件夹复制到hadoop1和hadoop2节点
scp -r /usr/local/hadoop hadoop1:/usr/local/
如果hadoop1不是root用户,可能会没有权限,可以先scp到hadoop1当前用户下,然后再mv
1.7 把hadoop0的/etc/profile复制到hadoop1和hadoop2节点,在目标节点中执行source /etc/profile
1.8 编辑hadoop0的配置文件slaves,改为从节点的hostname,分别是hadoop1和hadoop2
1.1 分布结构主节点(1个,是hadoop0):NameNode、JobTracker、SecondaryNameNode
从节点(2个,是hadoop1、hadoop2):DataNode、TaskTracker
可以使用虚拟机克隆系统,分配512M内存,使用文本界面(节省内存)
网络连接方式为桥接
master:192.168.110.100
修改主机名为host0 /etc/hostname为hadoop0域名:/etc/hosts:hadoop0
配置文件 core-site.xml 和 mapred-site.xml 中的域名也要改为hadoop0
在windows下ping 192.168.110.100,看能够ping 通么。
servant1:192.168.110.101
修改主机名为host1 /etc/hostname为hadoop1域名:/etc/hosts:hadoop1
在windows下ping 192.168.110.101,看能够ping 通么。
servant2:192.168.110.102
修改主机名为host1 /etc/hostname为hadoop2域名:/etc/hosts:hadoop2
在windows下ping 192.168.110.102,看能够ping 通么。
1.2 各节点重新产生ssh加密文件
假设servant1和servant2是新的机器,需要设置免密码登录。首先要把克隆过来的ssh密钥和原来的hadoop安 装文件以及jdk,还有/etc/profile中的配置信息等删除。
重新设置免密码登录以及从master将hadoop和jdk复制进来。
步骤:
1.2.1:产生私钥和公钥
输入命令:ssh-keygen -t rsa
一直按回车;
此时会在/home/hadoop/.ssh下生成两个文件:id_rsa和id_rsa.pub,前者为私钥,后者为公钥。
1.2.2:下面我们将公钥追加到authorized_keys中
输入命令:cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
1.2.3:登录ssh
ssh localhost
若使用ssh hadoop1的形式,需要配置ip与hostname的映射信息
1.3 编辑各个节点的/etc/hosts,在该文件中含有所有节点的ip与hostname的映射信息
1.1中已经完成
1.4 为了互相访问主机,两两节点之间也需要SSH免密码登陆
1.4.1:把集群中其他主机ip与hostname的映射关系,加到机器上。
例如在hadoop0中添加hadoop1和hadoop2的ip与域名映射。/etc/hosts
其他两个也要添加,可以手工改,但是数量多时,不方便,可以复制。
1.4.2:设置主机之间的ssh免密码登录。
1.将hadoop0的公钥,复制到hadoop1中。
执行命令:ssh-copy-id -i hadoop1
执行命令:ssh hadoop1发现,无需登录密码。
2:将hadoop:2的公钥,复制到hadoop1中。
执行命令:ssh-copy-id -i hadoop1
执行命令:ssh hadoop1发现,无需登录密码。
3.现在hadoop1已经有了hadoop0和hadoop2的公钥,同理hadoop0和hadoop2也应该有除了自己之外的其他机器的公钥。
可以将hadoop1的新公钥复制到hadoop0和hadoop2中。
执行命令:scp authorized_keys hadoop0:/home/hadoop/.ssh/
执行命令:scp authorized_keys hadoop0:/home/hadoop/.ssh/
1.5 把hadoop0的hadoop目录下的logs和tmp删除
因为hadoop0是从之前的伪分布式克隆而来的。
执行命令:rm -rf logs/
执行命令:rm -rf tmp/
1.6 把hadoop0中的jdk、hadoop文件夹复制到hadoop1和hadoop2节点
scp -r /usr/local/hadoop hadoop1:/usr/local/
如果hadoop1不是root用户,可能会没有权限,可以先scp到hadoop1当前用户下,然后再mv
1.7 把hadoop0的/etc/profile复制到hadoop1和hadoop2节点,在目标节点中执行source /etc/profile
1.8 编辑hadoop0的配置文件slaves,改为从节点的hostname,分别是hadoop1和hadoop2
1.9 格式化,在hadoop0节点执行hadoop namenode -format
注意:对于配置文件core-site.xml和mapred-site.xml在所有节点中都是相同的内容。
1.10 启动,在hadoop0节点执行start-all.sh
下图是启动信息:
下图是主节点hadoop0的进程信息:可以看出主节点有3个进程:NameNode,JobTracker,SecondaryNameNode
下面两个图,分别是两个从节点hadoop1和hadoop2,可以看出这个从节点只有2个进程:DataNode和TaskTracker
1.11 通过浏览器,查看集群信息:
修改C:\Windows\System32\drivers\etc\hosts文件,增加下面信息
192.168.110.100 hadoop0
192.168.110.101 hadoop1
192.168.110.102 hadoop2
(1) 查看