centos 7+hadoop2.7.3详细安装教程前言:Hadoop 运行在jar环境下,因此安装hadoop的前提是得在系统上安装好jdk。
本次实验环境使用centos7进行安装。
需要安装的工具:1.虚拟机2.Centos 7镜像文件3.Filezilla(用于上传本地下载的hadoop镜像到centos系统,以及可以远程操作linux 文件系统)4.secureCrt(远程连接linux,敲指令方便。
本次安装的linux是没有图形界面的,命令窗口不能复制粘贴,因此使用secureCRT操作linux系统,方便后续修改hadoop 文件时可以复制粘贴)5.JDK镜像6.Hadoop2.7.3镜像文件一、虚拟机安装a)安装最新版本,具体安装方法比较简单,请上网自行搜索。
b)安装按虚拟机后,需要配置虚拟机的网络连接方式。
本次hadoop安装实验环境将会部署三个集群(一个namenode和两个DataNode),因此采用nat连接方式配置网络。
具体配置如下:选择编辑-虚拟网络编辑器-VMnet8注意:NAT设置里面网关IP地址为你的网段地址+2,,如我设置的网段是192.168.100,因此我的网关IP地址是192.169.100.2二、安装三台centos7(三台安装方式一样,仅是里面IP地址配置不一样。
具体安装多少台视各位看官需要配置多少集群而定)a)文件菜单选择新建虚拟机b)选择经典类型安装,下一步。
c)选择稍后安装操作系统,下一步。
d)选择Linux系统,版本选择CentOS7 64位。
e)命名虚拟机,给虚拟机起个名字,将来显示在Vmware左侧。
并选择Linux系统保存在宿主机的哪个目录下,应该一个虚拟机保存在一个目录下,不能多个虚拟机使用一个目录。
f)指定磁盘容量,是指定分给Linux虚拟机多大的硬盘,默认20G就可以,下一步。
g)点击自定义硬件,可以查看、修改虚拟机的硬件配置,这里我们不做修改。
h)点击新CD/DVD,找到DVD,指定操作系统ISO文件所在位置i)点击完成后,就创建了一个虚拟机,在我的计算机下有刚才新建的虚拟机,但是此时的虚拟机还是一个空壳,没有操作系统,接下来安装操作系统。
选中master,点击开启此虚拟机:j)选择第一个,按下回车k)选择中文语言l)点击安装位置(未点击前右下方的开始安装按钮是灰色的,点击后进入点击左上角的完成出来后,右下方的开始安装按钮是蓝色,可以进行点击)m)设置root密码,可以先未创建用户。
设置完成后静静等待系统安装n)安装完成后点击重启o)输入用户名登陆。
用户名root,密码刚才设置的密码p)由于hadoop集群之间需要互相通信,因此我们对三台机器均设置静态IP 地址。
静态IP地址在网卡文件下修改相关配置,输入cd /etc/sysconfig/network-scripts/ 进入网卡配置文件所在目录,使用ls 命令查看当前文件下的文件:q)修改ifcfg-ens33文件,vi ifcfg-ens33进入修改文件,进入后按下键盘i 进入修改模式,修改相关内容(红色框框一定要修改,蓝色框的自己添加进去,具体IP地址根据你们之前设的IP地址确定)。
修改完成后,同时按下esc+shift+:,输入wq保存退出:r)重启网络服务:service network restart.重启完成后,输入ip addr可以看到相关的配置。
并可以ping一下内网和外网。
看官安装了多少个虚拟机就要配多少个响应的ip地址,我的配置如下:192.168.100.8192.168.100.9192.168.100.10s)接下配置三台主机的主机名,并按wq保存退出。
配置完成后,可以ping master验证下是否修改成功。
三、安装JDK,配置Java环境。
由于本次安装的linux系统没有图形界面,对于新手来说从linux上面下载jdk安装包不熟悉,因此我们采取在windows下载jdk包,然后通过filezilla软件上传至linux系统。
将jdk-8u161-linux-x64.tar.gz从FileZilla移动到centOS的root目录下a)去到/root目录下,解压jdk-8u161-linux-x64.tar.gz,tar –vzxfjdk-8u161-linux-x64.tar.gz 得到jdk1.8.0_161b)手动创建/opt/modules文件夹,将刚才解压的jdk文件夹移动到这个刚创建的文件夹下面。
(创建的文件夹名称各位可以根据自己喜好创建,后续记住相关路径就行):mv /root/ jdk1.8.0_161/ /opt/modules。
c)设置Java环境变量。
Linux系统环境变量在/etc/profile文件下修改,vi/etc/profile.添加相关环境变量export JAVA_HOME=/opt/modules/jdk1.8.0_161/exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$A VA_HOME/lib/tools.jarexport PATH=$PATH:$JAVA_HOME/bin保存退出后,source /etc/profile,使环境变量配置文件有效。
用Java –version验证是否添加环境变量成功。
所有虚拟机均需要配置Java环境变量d)配置ssh免密登陆进入~/.ssh目录每台机器执行:ssh-keygen -t rsa,一路回车生成两个文件,一个私钥,一个公钥,在master1中执行:cp id_rsa.pub authorized_keysa:本机无密钥登录修改authorized_keys权限:chmod 644 authorized_keys此时重启ssh服务:sudo service sshd restart试一试,连接及退出b:master与其他节点无密钥登录从master中把authorized_keys分发到各个结点上(会提示输入密码,输入密码即可):scp /root/.ssh/authorized_keys slave1:/root/.sshscp /root/.ssh/authorized_keys slave2:/root/.ssh(这里.ssh的位置需要注意下,由于我用的是root用户,所以直接就在/root下,其他可能是/home/用户名/下)然后在各个节点对authorized_keys执行(一定要执行该步,否则会报错):chmod 644 authorized_keys试试连接到其他节点连接成功啦,而且不需要密码,是不是很棒!四、安装hadoop注意:3台机器上都要重复下面所讲的步骤。
a)上载文件并解压缩在opt目录下新建一个名为hadoop的目录,并将下载得到的hadoop-2.7.3.tar上载到该目录下,如图进入到该目录,执行命令:cd /opt/hadoop执行解压命令:tar -xvf hadoop-2.7.3.tar.gz说明:3台机器都要进行上述操作,解压缩后得到一个名为hadoop-2.7.3的目录b)新建几个目录在/root目录下新建几个目录,复制粘贴执行下面的命令:mkdir /root/hadoopmkdir /root/hadoop/tmpmkdir /root/hadoop/varmkdir /root/hadoop/dfsmkdir /root/hadoop/dfs/namemkdir /root/hadoop/dfs/datac)修改/etc/hadoop中的一系列配置文修改/opt/hadoop/hadoop-2.7.3/etc/hadoop目录内的一系列文件i.修改core-site.xml修改/opt/hadoop/hadoop-2.7.3/etc/hadoop/core-site.xml文件在<configuration>节点内加入配置:<property><name>hadoop.tmp.dir</name><value>/root/hadoop/tmp</value><description>Abase for other temporarydirectories.</description></property><property><name></name><value>hdfs://hserver1:9000</value></property></configuration>ii.修改hadoop-env.sh修改/opt/hadoop/hadoop-2.7.3/etc/hadoop/hadoop-env.sh文件将export JAVA_HOME=${JAVA_HOME}修改为:export JAVA_HOME=/opt/java/jdk1.8.0_161(此路径为jdk路径)iii.修改hdfs-site.xml修改/opt/hadoop/hadoop-2.7.3/etc/hadoop/hdfs-site.xml文件在<configuration>节点内加入配置:<property><name>.dir</name><value>/root/hadoop/dfs/name</value><description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description></property><property><name>dfs.data.dir</name><value>/root/hadoop/dfs/data</value><description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description></property><property><name>dfs.replication</name><value>2</value></property><property><name>dfs.permissions</name><value>false</value><description>need not permissions</description> </property>iv.新建并修改mapred-site.xml有个很快捷的方法,本版本中有个mapred-site.xml.template临时文件,只要复制这个文件并修改他的文件名即可,然后再进行修改。