该配置为VMware10+CentOS7mini+jdk+hadoop⑵.7(ps:hadoop
2.7需要64位的jdk和CentOS版本了),由于小编主要用来学hadoop就用CentOS7mini(600M+)版本了(如果需要深入了解的童鞋可以下载4G大小的那个DVD版本的CentOS7),另外强势推荐两个非常好用的插件(Xshell和Xftp,可自行百度下,用于远程登录和从真机传输下面的紧缩包)。
下载地址:
CentOS:
https://www.centos.org/download/
JDK:
http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads⑵133151.html
Hadoop:
http://hadoop.apache.org/releases.html
下载完成后如图:
(ps:两个紧缩包后缀均为.gz,大小均为200M左右,hadoop的紧缩包别下错了,小编第1次下了个30M的,致使重撸了1遍-.-!!!)
创建虚拟机(如图1)--->典型(如图2)--->稍后安装系统(如图3)--->选择Linux(L),版本CentOS64位(如图4)--->虚拟机名称:cMaster,只是用来标识该虚拟机,位置自选(如图5)--->大小20G,将虚拟机拆分多个文件(如图6)--->自定义硬件中(内存为1G足够,处理器1,CD/DVD选择你的系统镜像位置如图7,网络适配器网络连接选择NAT模式
图1
图2
图3
图4
图5
图6
图7
完成以上配置后点击完成便可(另外两台slave机器完全不需要如此安装,等完成master后克隆便可,3台虚拟机只需要10来分钟弄定)。
启动虚拟机落后入页面(如图8),选择Install CentOS Linux 7(如图9)回车肯定。以后进入语言选择中文,简体中文(如图10)。
图8
图9
进入详细信息安装界面(如图10),肯定下安装位置便可,选择自动分区,点击完成(如图11),单机开始安装。将ROOT密码设为:123456,创建用户均为:hadoop,密码为:123456(如图12)。
图10
图11
图12
最后安装完成点击重启便可。
启动以后直接以:root登录(如图1),默许情况下CentOS是不提供网络打开的,输入命令:#cd /etc/sysconfig/network-scripts
以后键入:#ll 可以看到有ifcfg-ens33 该文件(随机产生,因人而异),键入:#vi ifcfg-ens33 进入编辑状态(如图2),修改其中的onboot=no,改成onboot=yes(如图3),最后wq 保存,键入#systemctl restart network(如图4),即可以看到已有网络了,可以#pingwww.baidu.com测试下。
图1
图2
图3
图4
这个时候就要用到前面提的xshell,比直接在linux下好用,可以复制粘贴啥的,Xshell连接该该虚拟机的界面(如图5,6)。
图5
图6
在Xshell里操作,比在虚拟机里好用多了。
当3台虚拟机均安装完成后,需要进行的是修改机器名、添加域名映照、关闭防火墙,并安装jdk。
3.2.1修改机器名。
首先需要安装下vim编辑器,键入:#yum –yinstall vim*,
修改主机名
$ vim/etc/sysconfig/network
在其中添加“HOSTNAME=cMaster”,然后重启当前虚拟机,再查看机器名就是cMaster了。
(如果重启以后机器名不是cMaster,可使用命令hostnamectlset-hostnamecMaster修改机器名)
(2) 添加域名映照
使用ifconfig命令分别查看3台虚拟机的IP地址。然后将3个ip地址都添加到各自的/etc/hosts文件中图2,伪分步3台主机的ip配置以下图1。
图1
(ps:ip配置不1定要跟小编1样,只要合适自己就行。。)
图2
3台机器均修改完成后,使用# ping cmaster/cslave1/cslave2/命令测试各机器之间是不是能够正常通3台机信。如果出现下图所示信息说明通讯正常。
(3) 关闭当前机器的防火墙。
在root权限下履行以下两条指令,关闭防火墙并禁止其开机启动。
# systemctl stop firewalld.service#停止firewall
# systemctl disable firewalld.service#制止firewall开机启动
(4) 安装JDK。
将切换到:# cd /home/hadoop目录下,
使用命令# tar zxvf jdk⑻u111-linux-x64.tar.gz解压安装、修改配置文件:# vim /etc/profile,在文章最末尾添加以下配置:
安装完成后使用java -version以下图则表明安装成功。
(1)依照以上步骤配置完成后,最好重启1下所有机器,确保所有的设置生效。
然后利用root账户分别登录3台机器。将事前下载好的hadoop紧缩包用xftp传输到每台机器的/home/hadoop/目录下,然后在每台机器上分别使用
#tar -zxvf /home/joe/ hadoop⑵.7.3.tar 命令解压安装hadoop2.7.3
将hadoop写入配置中(hadoop安装路径,因人而异,将export HADOOP_INSTALL=/你的hadoop安装路径),以下图。
(2)解压完成后需要修改hadoop的配置文件。
(本小节步骤在3台机器上都完全相同,3台机器都需要进行修改)
A.使用以下指令编辑hadoop-env.sh文件
# vim/home/hadoop/hadoop-**/etc/hadoop/hadoop-env.sh
在文件中找到exportJAVA_HOME=${JAVA_HOME}
修改成exportJAVA_HOME=/usr/Java/jdk1.8.0_101(填写自己安装的jdk的路径)
B.修改core-site.xml文件
使用命令# vim/home/hadoop/hadoop-** /etc/hadoop/core-site.xml
在<configuration>标签之间插入以下内容,(需要在hadoop目录下创建1个cloudData的文件目录)。
<property><name>hadoop.tmp.dir</name><value>/home/hadoop/cloudData</value></property>
<property><name>fs.defaultFS</name><value>hdfs://cMaster:8020</value></property>
C.修改yarn-site.xml文件
使用以下命令修改#vim/home/hadoop/hadoop-**/etc/hadoop/yarn-site.xml
在<configuration>标签之间插入以下内容
<property><name>yarn.resourcemanager.hostname</name><value>cMaster</value></property>
<property><name>yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></property>
D.修改mapred-site.xml.template
将/home/ hadoop/hadoop-** /etc/hadoop/目录下的mapred-site.xml.template重命名为mapred-site.xml
并用命令
# vim/home/ hadoop/hadoop-**/etc/hadoop/mapred-site.xml
在<configuration>标签之间加入以下内容:
<property><name>mapreduce.framework.name</name><value>yarn</value></property>
3.3.1免密码SSH设置
(1)以下在cMaster主机上设置
生成秘钥对,履行以下命令
#ssh-keygen -t rsa
然后1直按【Enter】键,就会依照默许的选项将生成的秘钥对保存在.ssh/id_rsa文件中。
进入.ssh目录履行以下命令
#cp id_rsa.pub authorized_keys//将id_rsa.pub授权到key里面去
(2)设置SSH配置
#vi /etc/ssh/sshd_config
将RSAAuthentication yes//前面的#去掉
PubkeyAutentication yes//前面的#去掉
AuthorizedKeysFile .ssh/authorized_keys//看看是不是变成autorized_keys
(3)重启SHH服务
#service ssh start//mini版本好像不需要该步骤,直接可以进入ssh无密码登录
(4)设置cslave两台ssh配置
把公钥复制所有cslave机器上
//scp ~/.ssh/id_rsa.pub 远程用户名@远程服务器ip:~/
#scp ~/.ssh/id_rsa.pub root@192.168.88.133:~/
#scp~/.ssh/id_rsa.pub root@192.168.88.134:~/
(5)设置cslave主机
将公钥复制给authorized_keys
//cp 文件1 文件2
#cp id_rsa.pub ~/.ssh/authorized_keys
设置SSH配置
#vi /etc/ssh/sshd_config
将RSAAuthentication yes//前面的#去掉
PubkeyAutentication yes//前面的#去掉
AuthorizedKeysFile .ssh/authorized_keys//看看是不是变成autorized_keys
(6)测试是不是可行
#ssh localhost
3.4启动hadoop
首先格式化主节点命名空间,使用命令:
#/home/hadoop/hadoop-**/bin/hdfsnamenode –formate
方法1:其次在主节点上启动存储服务和资源管理主服务。使用命令:
/home/ hadoop/hadoop-**/sbin/hadoop-daemon.sh start namenode #启动主存储服务
#/home/ hadoop/hadoop-**/sbin/yarn-daemon.sh start resourcemanager# 启动资源管理服务。
最后在从节点上启动存储从服务和资源管理从服务(以下两条命令要在两台机器上分别履行)
#/home/ hadoop/hadoop-**/sbin/hadoop-daemon.sh start datanode #启动从存储服务
/home/ hadoop/hadoop-**/sbin/yarn-daemon.sh start nodemanager #启动资源管理从服务
方法2:或进入sbin目录
#cd /home/hadoop/hadoop-**/sbin/start-all.sh//启动hadoop守护进程
#cd /home/hadoop/hadoop-**/sbin/stop-all.sh//停止hadoop守护进程
服务启动后在3台机器上分别使用jps命令查看是不是启动。
cSlave1和cSlave2以下图所示
cMaster节点显示以下图所示
在cMaster机器的阅读器地址栏里输入cMaster:50070可以看到HDFS的相干信息,cMaster:8088可以看到Yarn的相干信息。
如图还可以查看从节点的信息。
至此 Hadoop3.0的配置工作已完成了。接下来可使用示例程序Wordcount来利用散布式系统统计某个文件中单词出现的次数。
在cMaster上以hadoop用户登录,然后履行以下的操作命令:
cd/home/ hadoop/hadoop-**/
bin/hdfs dfs -mkdir /in
bin/hdfs dfs -put/home/ hadoop/hadoop-**/etc/hadoop/* /in
bin/hadoopjarshare/hadoop/mapreduce/hadoop-mapreduce-examples⑶.0.0-alpha1.jar wordcount /in /out/wc
以下图,在阅读器中输入cMaster:50070 可以看到hdfs,切换到相应文件夹下可以看到统计出的结果。