一、准备工作
在VMware官网下载虚拟机 本文使用到的centos为7.8 2003 Apache开源网站上下载hadoop,版本根据自己需要下载,本文采用2.7.7版本 ssh远程工具,本文使用到的有xshell,xftp。 hadoop需要Java的环境,本文使用jdk1.8
二、虚拟机里安装centos
注意:安装后如果提示 大部分原因是BIOS里面未开启,这里每种品牌的电脑的开启有所不同,如果不是很懂,点这询问度娘
安装步骤 不是很清楚虚拟机配置的小伙伴,这里就选典型。 输入虚拟机名称与安装路径。 本地硬盘空间不大的小伙伴,这里就默认就行,也可以根据自己电脑配置,调整大一点。 现在我们开始选择centos镜像。 接下来就是开启虚拟机,进行centos的系统安装啦! 将鼠标定位到这个界面,按下enter键即可开始安装。 这个检测需要花费一定时间,我们可以按ESC键 选择安装过程中的语言,我这里选择中文,英文好的小伙伴,可以选择英文进行安装。 这里系统安装位置是需要我们手动选择的。 因为后面需要用ssh远程软件连接这个centos,这里我就进行一下网络的选择。也可以在安装完成后进行网络配置。 这里查看虚拟机的网络配置,需要注意,刚才手动配置的网关需要和这里面的一样才可以。 我这里的网关是192.168.11.2 ,所有我刚才就设置的这个网关,每个虚拟机的网关可能不一致,安装时注意查看自己的网关。
注意: 刚才查看的虚拟机网络配置,实际上就是本地虚拟网卡的配置,如果本地虚拟网卡的配置与刚才的配置不一致,需要进行手动配置一下本地的虚拟网卡,否则,有可能会导致虚拟机上不了网。 这里以win10电脑为例,查看本地虚拟网卡。查看方式许多,这里我使用我常用的方式。在任务栏找到网络图标,右键 打开网络设置 找到这个网卡,右键查看属性 双击ipv4这点 如不是下图这样,建议手动配置一下,与虚拟机保持一致,若不一致,可能导致虚拟机上不了网。这里的IP地址可以向我这样,最后一位设置为1。 后面我们使用ssh来操作,这里我就选择最小安装。也可以选择图像化安装。 点击开始安装后,我们需要设置一下root账户的密码,最小安装可以不用创建用户,图形化安装必须创建用户。 接下来,就是等待安装完成啦! 我们是使用虚拟机安装来配置hadoop,另外的结点系统,我们可以采用虚拟机克隆的方式来操作。也可以在等待的时间里进行手动安装。手动安装步骤与上面一致。克隆的计算机,我们需要修改网络配置。后面的hadoop从机,我将采用克隆的方式进行。
hadoop主机master配置
登录上刚才安装的系统。我们先测试一下网络是否连接,可以ping一下百度,ping www.baidu.com 出现上图所示,则表示网络正常连接。 个人习惯,安装好的系统,都会先对yum进行升级yum update -y 。不进行升级也可以进行后面的操作。 我们先使用yum安装vim编辑器yum install vim -y ,系统默认是vi编辑器,vi与vim功能差不多,vim多了语法高亮。 使用命令 ip addr 查看当前网络 我们需要对网络进行静态配置(安装时,未进行网络配置,也可以直接在这里进行网络配置,效果一样),输入命令vim /etc/sysconfig/network-scripts/ifcfg-ens33 未安装vim可以使用vi编辑。打开文件后,我们按一下键盘上的i 键,进入输入模式,按照我截图地方进行配置即可。IP根据自己实际情况配置。 按下ESC 键退出编辑模式,英文状态下输入:wq 回车 进行保存退出,具体命令查看Linux手册。 配置好之后,需要重启网卡服务。systemctl restart netwok 或 service network restart 通过ip addr确认IP。 进行到这里,我们就可以使用ssh工具来进行操作啦! 打开xshell软件,新建一个连接。 点击 连接后 输入用户名和密码 这里我没有创建用户,则使用root账户登录。 我这里安装了xftp,可以在xshell里直接将本地的文件上传的centos中。 可以直接将需要上传的文件拖动到里面即可上传。 我这点上传的位置为/root下,上传完成后,我们在xshell里进行查看并解压上传的文件。 tar.gz格式 解压命令tar -zxvf 包名 其中参数v可以不要,加上v则可以在解压时输出信息。 这样就表示解压成功了。 我们先对jdk重命名一下mv jdk8u265-b01/ jdk1.8 。声明一下,里面操作的路径不一定非要和我的一致,也可以选择其他的路径操作。
配置jdk环境变量
Linux下环境变量的配置方式不唯一,这里只使用一种方式配置。 输入命令vim /etc/profile 。在文件的末尾加上以下语句。
export JAVA_HOME=/root/jdk1.8
export PATH=$JAVA_HOME/bin:$PATH
source /etc/profile
java -version
到这里,Java环境就安装好了。
克隆两个从机
克隆操作前,需要先把克隆主机进行关机。 另外一台从机与上面操作一致。 克隆完成后,在vm里打开从机。从机1与从机2操作类似,这里只留下从机1的操作。
免密操作
ssh-keygen -t rsa
cp id_rsa.pub authorized_keys
scp authorized_keys root@s1:/root/.ssh
cat id_rsa.pub >> authorized_keys
scp authorized_keys root@s2:/root/.ssh
cat id_rsa.pub >> authorized_keys
scp authorized_keys root@master:/root/.ssh
scp authorized_keys root@s1:/root/.ssh
主机master操作步骤截图 需要进入到.ssh目录下进行复制文件操作 从机生成秘钥与主机类似,这里不赘述。 从机s2继续将公钥追加到authorized_keys文件中 验证免密是否成功 主机master ssh登录s1与s2 图中未输入密码,免密成功 从机s1与s2的验证与master主机验证相似,小伙伴自行验证。
关闭系统防火墙
这里是本地搭建,三个系统都关闭防火墙。线上模式搭建时,防火墙按需配置。
systemctl stop firewalld
systemctl disable firewalld
systemctl status firewalld
自动时间同步
三个系统都需要时间同步。
crontab -e
0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org
crontab命令使用教程,可以参考这篇博文。
hadoop配置
cd hadoop-2.7.7/etc/hadoop/
查看官方文档
修改hadoop-env.sh、yarn-env.sh
同样的修改Java的路径
vim core-site.xml
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs://192.168.11.11:9000</value>
<description>192.168.11.11为服务器IP地址,其实也可以使用主机名</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoopdata</value>
<description>hadoop临时文件目录,若指定目录不存在,则需要手动创建目录</description>
</property>
</configuration>
mkdir /root/hadoopdata
vim hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>2</value>
<description>分片数量,伪分布式将其配置成1即可</description>
</property>
<property>
<name>dfs.namenode.hosts</name>
<value>s1, s2</value>
<description>s1, s2分别对应DataNode所在服务器主机名</description>
</property>
<property>
<name>dfs.blocksize</name>
<value>268435456</value>
<description>大文件系统HDFS块大小为256M,默认值为64M</description>
</property>
<property>
<name>dfs.namenode.handler.count</name>
<value>100</value>
<description>更多的NameNode服务器线程处理来自DataNodes的RPCS</description>
</property>
</configuration>
安装后没有mapred-site.xml,我们需要复制一份出来使用cp mapred-site.xml.template mapred-site.xml vim mapred-site.xml
<configuration>
<property>
<name> mapreduce.framework.name</name>
<value>yarn</value>
<description>执行框架设置为Hadoop YARN</description>
</property>
</configuration>
vim yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
<description>可以写主机名,也可以写主机IP地址</description>
</property>
<property>
<name>yarn.nodemanager.aux-service</name>
<value>mapreduce_shuffle</value>
<description>以逗号分隔的服务列表,其中服务名称只能包含A-Z a-z 0-9,不能以数字开头</description>
</property>
</configuration>
配置slaves
vim slaves
数据节点DN的机器名称,可以包含主机master,一行一个主机名
master
s1
s2
将刚刚修改的hadoop的所有文件复制到另外两台主机上 从机s2与s1操作一样。
hadoop系统变量的配置
vim /etc/profile
export HADOOP_HOME=/root/hadoop-2.7.7
export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
source /etc/profile
将环境变量的文件复制到两台从机上,复制后进行source操作 使用cat命令查看是否复制到从机s1上 cat /etc/profile 可以看见,已经复制过来了。 从机s2同上操作。
启动hadoop
第一次启动前需要进行初始化操作(主机master上操作)。
hdfs namenode -format
启动hadoop
start-all.sh
现在我们可以通过主机master的ip地址加上端口(默认的是50070)查看hadoop的一些相关信息。 到这里,hadoop的搭建就结束啦!觉得本文有用的,点个赞呗!
|