8. 出现如下界面,选择网络连接类型,这里选择“使用NAT模式”,各位安装虚拟机过程根据需要自行选择,安装向导中已经针对各种模式进行了比较规范的说明,这里补充说明如下:
1) 使用桥接网络:虚拟机ip与本机在同一网段,本机与虚拟机可以通过ip互通,本机联网状态下虚拟机即可联网,同时虚拟机与本网段内其他主机可以互通,这种模式常用于服务器环境架构中。
2) 使用网络地址转换(NAT):虚拟机可以联网,与本机互通,与本机网段内其他主机不通。
3) 使用仅主机模式网络:虚拟机不能联网,与本机互通,与本机网段内其他主机不通。下一步继续:
9. 默认,下一步继续:
10. 默认、下一步继续:
11. 默认,下一步继续:
12. 出现下面界面,输入虚拟机磁盘大小,这里设置虚拟机磁盘大小为30G,下一步继续:
13. 默认,下一步继续:
14. 默认、点击“完成”结束虚拟机创建:
退出安装向导后,我们可以在虚拟机管理界面左侧栏看到刚刚创建的虚拟机,右侧栏可以看到虚拟机详细配置信息:
16. 挂载光盘,然后点击确定,按照上述设置后界面如下图所示:
点击开启虚拟机进入CentOS7操作系统安装过程。
1.虚拟机控制台出现界面,选择Install CentOS Linux 7,点击回车键继续:
2.根据提示点击回车键继续:
3.如下界面默认选择English,点击Continue继续:
3.CentOS7安装配置主要界面如下图所示,根据界面展示,这里对以下3个部分配置进行说明:
*Localization和software部分不需要进行任何设置,其中需要注意的是software selection选项,这里本次采用安装含图形界面安装,至于其他组件,待后期使用通过yum安装即可。
4.点击“Installation Destination”,进入如下界面,选中30g硬盘,点击左上角done进行磁盘分区规划:
5.点击“DATE&TIME”配置时间
6. 完成磁盘规划后,点击network & host name选项中修改主机名(默认主机名为 localhost.localdomain),这里 node1修改为master,node2修改为slave,然后点击done完成主机名配置,返回主配置界面:
7.右下角“Begin Installation”按钮已经从原本的灰色变成蓝色,这说明已经可以进行操作系统安装工作了,点击“Begin Installation”进行操作系统安装过程。
8.在用户设置中需要做的是修改root用户密码和创建普通用户。
点击“root password”,设置密码,如果密码安全度不高,比如我这里的密码为“rootroot”,那么可能需要点击2次确定才可以。
分别在node1和node2创建普通用户yao
9.在下图,操作系统安装已经完成,点击reboot重启操作系统。
安装完成,通过普通用户yao登录:
1.将jdk-8u144-linux-x64.tar.gz分别上传到两台虚拟机的/soft目录下
sftp> pwd
/soft
sftp> put E:/study2019/software/jdk-8u144-linux-x64.tar.gz
2.将hadoop-2.7.7.tar.gz上传到master:
sftp> put E:/study2019/software/hadoop-2.7.7.tar.gz
方法一:通过timedatectl命令修改
使用指南 timedatectl -h
查看当前系统时间 timedatectl status
设置当前时间
timedatectl set-time “YYYY-MM-DD HH:MM:SS”
timedatectl set-time “YYYY-MM-DD”
timedatectl set-time “HH:MM:SS”
查看所有可用的时区
timedatectl list-timezones
timedatectl list-timezones | grep -E “Asia/S.*”
设置时区
timedatectl set-timezone Asia/Shanghai
设置硬件时间
timedatectl set-local-rtc 1 # 默认UTC
启动自动同步时间
timedatectl set-ntp yes # yes或no,1或0
方法二:同步网络时间
1.同步mater
[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:29 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec
2.同步slave
[root@master ~]# ntpdate time.nuri.net
13 Mar 17:32:41 ntpdate[26372]: adjust time server 211.115.194.21 offset -0.263924 sec
[root@master ~]# hostnamectl set-hostname master
[root@master ~]# vim /etc/hostname
直接关闭防火墙
[root@master ~]# systemctl stop firewalld.service
[root@master ~]# systemctl disable firewalld.service
[root@master ~]# systemctl status firewalld
虚拟机名称 | Hostname | IP Address |
---|---|---|
node1 | master | 192.168.16.199 |
node2 | slave | 192.168.16.200 |
[root@master ~]# mkdir /usr/java/
将JDK文件解压,放到/usr/java目录下
[root@master java]# tar zxvf jdk-8u144-linux-x64.tar.gz
切换到普通用户
[root@master ~]# su yao
[yao@master root]$ cd ~
[yao@master ~]$ vi .bash_profile
PATH=$PATH:$HOME/.local/bin:$HOME/bin
export PATH
export JAVA_HOME=/usr/java/jdk1.8.0_144
export PATH=$JAVA_HOME/bin:$PATH
export HADOOP_HOME=/home/yao/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
注意,如果主机名是后配的,以上操作完成以后需要重启:
[root@slave java]# reboot
切换到普通用户下操作
1.在终端生成密钥
[yao@master root]$ ssh-keygen -t rsa
[yao@master .ssh]$ cat ~/.ssh/id_rsa.pub ~/.ssh/authorized_keys
3.修改authorized_keys文件的权限
[yao@master .ssh]$ chmod 600 ~/.ssh/authorized_keys
[yao@master .ssh]$ scp ~/.ssh/authorized_keys yao@slave:~/
1.在终端生成密钥
[yao@slave root]$ ssh-keygen -t rsa
2.将authorized_keys文件移动到.ssh目录
[yao@slave ~]$ mv authorized_keys ~/.ssh/
在master机器上执行
[yao@master .ssh]$ ssh slave
Hadoop配置部署要在普通用户下操作:
[yao@master ~]$ tar -xzvf hadoop-2.7.7.tar.gz
[yao@master hadoop]$ vim hadoop-env.sh
[yao@master hadoop]$ vim yarn-env.sh
[yao@master hadoop]$ vim core-site.xml
修改内容:
<configuration>
<property> # 修改项
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/home/yao/hadoopdata</value>
</property>
</configuration>
[yao@master hadoop]$ vim hdfs-site.xml
修改内容:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
[yao@master hadoop]$ vim yarn-site.xml
修改内容:
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.address</name>
<value>master:18040</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>master:18030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>master:18025</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>master:18141</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>master:18088</value>
</property>
[yao@master hadoop]$ cp mapred-site.xml.template mapred-site.xml
[yao@master hadoop]$ vim mapred-site.xml
修改内容
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
[yao@master hadoop]$ vi slaves
[yao@master hadoop]$ cd ~
[yao@master ~]$ scp -r hadoop-2.7.7 yao@slave:~/
[yao@master ~]$ vi .bash_profile
export HADOOP_HOME=/home/yao/Hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$ HADOOP_HOME/sbin:$PATH
[yao@master ~]$ source .bash_profile
[yao@master ~]$ hdfs namenode –format
此处有一个报错,原因是配置文件core-site.xml中的一个路径出错了,更改后,需要手动将slave中的core-site.xml也一并修改为正确版。删掉/home/yao/hadoop-2.7.7/logs下的全部文件,因为格式化的过程中,它已经记录日志了。再删掉/home/yao/hadoopdata目录。重新格式化。
[yao@master ~]$ start-all.sh
jps的一个打印启动的进程的命令,可以用来测试Hadoop集群是否连接成功。
在master节点上有4个进程:
在slave节点上有3个进程:
这是hadoop自带的一个小例子,pi是一个参数,可以用来验证Hadoop集群是否成功。
[yao@master ~]$ hadoop jar hadoop-2.7.7/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.7.jar pi 5 5