目的:将三台普通的台式机组装成为,hadoop集群,供大数据开发测试。
材料:三台台式机,centos7 安装包(利用USBWriter做一个安装镜像),Java,hadoop安装包
步骤:
1.集群规划
主机名 ip 安装的软件 进程
master 172.22.23.234jdk、hadoop namenode ressourcemanager
slave1 172.22.23.231jdk、hadoop datanode secondnamenode
slave2 172.22.23.232jdk、hadoop datanade
vi /etc/hosts 写入相应的主机名和ip.
为了更好的在Shell中区分三台主机,修改其显示的主机名,执行如下命令
sudo vim /etc/hostname
Shell 命令
master的/etc/hostname添加如下配置:
master
同样slave01的/etc/hostname添加如下配置:
slave01
同样slave02的/etc/hostname添加如下配置:
slave02
sudo vim /etc/hosts
Shell 命令
配置如下:
127.0.0.1 localhost
192.168.1.104 master
192.168.1.107 slave01
192.168.1.108 slave02
2.JDK安装,配置/etc/bash_profile
3.hadoop安装,配置/etc/bash_profile
4.修改hadoop配置文件
core-site.xml
hdfs-site.xml
mapred-site.xml(2.7.3中 mv mapred-site.xml.template mapred-site.xml)
yarn-site.xml
5.ssh 免登陆实现
这里直接用root用户,注意将防火墙关掉:
#关闭防火墙
sudo systemctl stop firewalld.service
#关闭开机启动
sudo systemctl disable firewalld.service
免密码登录:
cd /root/.ssh/
ssh-keygen -t rsa
这里上个回车就ok,会在当前目录生成两个文件,一个公钥一个私钥
将公钥拷贝到其它机器上,实现免密码登录
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
这样会在slave1 的/root/.ssh/目录下生成一个authorized_keys 就可以实现master免登录到slave1,如下:
ssh slave1
6.hadoop启动
第一次启动得格式化
./bin/hdfs namenode -format 执行一次即可,切莫执行多次,(否则会产出多个秘钥,会导致后面配置出错,解决方案删除 这一步生成的VERSION,重新执行该步骤即可)
启动dfs
./sbin/start-dfs.sh
启动yarn./sbin/yarn-dfs.sh
7.查看运行
在master机器上执行 jps;
在slave1机器上执行jps;
在slave2机器上执行jps;
参考:
http://dblab.xmu.edu.cn/blog/1187-2/
http://dblab.xmu.edu.cn/blog/1177-2/