一:置主机
以下配置基于centOS7
1:修改主机的hostname为master
修改 /etc/hostname 文件的内容为 master
2: 修改网络配置
1:将虚拟机的网路设置为NAT连接:
2:进入系统后输入命令“vi /etc/sysconfig/network-scripts/ifcfg-ens33” (可能你的系统配置网络的文件名不叫ifcfg-ens33你可以进入/etc/sysconfig/network-scripts查看文件名)将该文件的最后一行的 ONBOOT=NO 改为ONBOOT=YES,保存退出
3:输入命令: service network restart 重新启动网络配置
4:输入命令ping www.baidu.com 能ping通则表示配置成功
在网络连接成功后如果希望配置静态ip,则继续修改ifcfg-ens33文件如下图所示
图中的IPADDR 值在上面第4步完成后由 ip add 命令获取当前获取道的ip,并记录下来,填到下面图中位置。
3:设置/etc/hosts
增加如下配置
192.168.217.129 master
192.168.217.130 slave1
192.168.217.131 slave2
4:关闭防火墙
Sudo systemctl disable firewalld 禁用防火墙(使用此命令防止虚拟机重启后防火墙自动开启)
sudo systemctl stop firewalld 关闭防火墙
systemctl status firewalld 查看防火墙状态
5:关闭selinux
Vi /etc/selinux/config 将SELINUX=enforcing改为 SELINUX=disabled
6:此时如果出现ping ip能ping通,但是ping 域名ping不通的话,修改/etc/resolv.conf增加如下配置:
nameserver 8.8.8.8
nameserver 8.8.4.4
7:为了方便集群主机之间的数据传输等,需要设置主机之间ssh免密登录。如果不设置免密登录那么master ssh登录到slave1的时候需要输入密码如下图所示
设置免密登录:
ssh-keygen -t rsa 然后一直回车
ssh-copy-id root@slave1 输入yes 然后输入slave1的密码
根据此设置在集群所有主机之间设置免密登录
二:安装JDK和Hadoop
1:安装jdk并配置环境变量
2:下载并解压hadoop
3:参考http://hadoop.apache.org/docs/stable/hadoop-project-dist/hadoop-common/SingleCluster.html运行程序
示例运行grep 和 wordcount。hadoop运行命令的格式为:hadoop jar xxx.jar 启动类名 可变参数...
hadoop 命令在hadoop安装目录下的bin下面,可变参数具体意思需要看源代码,每个示例程序参数意思不一样。
运行grep: 说明:grep是启动类名,input output2 ‘dfs[a-z.]+’ 这三个是可变参数
运行wordcount: 说明:wordcount是启动类名,input output3 这两个是可变参数
运行: cat output3/*