这是一本书的名字,叫作【Hadoop大数据分析与挖掘实战】,我从2017.1开始学习java
软件版本为Centos6.4 64bit,VMware,Hadoop2.6.0,JDK1.7.apache
可是这本书的出版时间为2016.1,待到我2017.1使用时,一部份内容已经发生了翻天覆地的变化。vim
因而我开始写这么一个博客,把这些记录下来。centos
我使用的软件版本为:服务器
软件 | 版本 |
操做系统 | CentOS 7 64bit-1611 |
虚拟机 | VMware 12.5.2 |
Hadoop | 2.7.3 |
JDK | 1.8.0 |
本人大二学生,只是想记录一下,谢绝转载,谢谢。网络
顺便留个联系方式吧——qq690855226dom
=============================================jvm
2.2安装与配置maven
1.配置VMware网络编辑器
我使用了桥接模式(复制物理网络链接状态),和真实机使用了相同的网关,没有按照书中的进行查询。
2.准备机器
经过VMware新建一台CentOS 7虚拟机,使用root用户登陆,添加一个新用户hadoop。设置hadoop用户的密码并授予hadoop用户sudo权限。
[root@localhost ~]$ useradd hadoop [root@localhost ~]$ passwd hadoop [root@localhost ~]$ chmod u + w /etc/sudoers [root@localhost ~]$ vim /etc/sudoers #在root ALL=(ALL) ALL下添加hadoop ALL=(ALL) ALL [root@localhost ~]$ chomd u - w /etc/sudoers
其中chmod的用法和vim编辑器的用法能够自行百度。
3.设置静态IP
VMware默认使用动态IP,可是因为Hadoop集群是使用机器名进行定位的,在/etc/hosts中配置了机器名和IP的映射,若是IP不断变化,则须要不断修改配置文件,因此这里须要把IP设置为静态,方便后面的操做。
1)修改/etc/sysconfig/network-scripts/ifcfg-******。
每一个人须要修改的文件名不一样,书中修改的文件为ifcfg-eth0,其中eth0是其网卡名。在个人虚拟机中修改的是ifcfg-ens33。能够自行使用ifconfig命令进行查看。
[root@localhost ~]$ vim /etc/sysconfig/network-scripts/ifcfg-ens33 #须要修改的内容以下(若是没有这一项就本身添加上): DEVICE=ens33 #名称填本身网卡名称 BOOTPROTO=static #静态IP ONBOOT=yes #设置开机自动启动 IPADDR=192.168.0.131 #IP地址 GATEWAY=192.168.0.1 #网关 DNS1=192.168.0.1 #DNS服务器 HWADDR=00:0C:29:B7:73:4F #MAC地址①注 NETMASK=255.255.255.0 #这么填就对了 TYPE=Ethernet #这一块我也不懂 IPV6INIT=no #禁用IPV6
注①:mac地址查看方法:虚拟机——设置——网络适配器——高级——MAC地址
2)修改/etc/sysconfig/network。设置主机名称和启动NETWORK与否。
[root@localhost ~]$ vim /etc/sysconfig/network NETWORKING=yes NETWORKING_IPV6=no HOSTNAME=localhost.localdomain GATEWAY=192.168.0.1
3)修改DNS信息。
书中手工设置 /etc/resolv.conf 里的DNS,使用source(!)时会对nameserver和search报错,找不到命令。因而我找到了一篇博客文章:《CentOS 7 下,如何设置DNS服务器》
如下为文中内容:
在CentOS 7下,手工设置 /etc/resolv.conf 里的DNS,过了一会,发现被系统从新覆盖或者清除了。和CentOS 6下的设置DNS方法不一样,有几种方式:
①使用全新的命令行工具 nmcli 来设置
#显示当前网络链接 #nmcli connection show NAME UUID TYPE DEVICE ens33 76d23444-4b71-498b-9a0b-fd2d2d9de735 802-3-ethernet ens33
virbr0 a1015131-ba11-4ecc-81a3-9c9e27eaba32 bridge virbr0 #修改当前网络链接对应的DNS服务器,这里的网络链接能够用名称或者UUID来标识 #nmcli con mod ens33 ipv4.dns "192.168.0.1" #将dns配置生效 #nmcli con up ens33
②使用传统方法,手工修改 /etc/resolv.conf
[main] plugins=ifcfg-rh dns=none
# systemctl restart NetworkManager.service
nameserver 192.168.0.1
详细参见:
# man NetworkManager.conf
# man nmcli
4)关闭防火墙并修改其启动策略为不开机启动。
CentOS 6中使用service iptables stop 及 chkconfig iptables off进行设置。
CentOS 7中使用systemctl工具管理这些服务。
可使用systemctl list-unit-files | grep enabled查看服务中enabled项,能够看到firewalld.service已启用。
#禁用防火墙 [root@localhost ~]$ systemctl stop firewalld.service #禁止开机启动防火墙,如需启用,把disable改为enable [root@localhost ~]$ systemctl disable firewalld.service #显示一个服务状态 [root@localhost ~]$ systemctl status firewalld.service
4.安装JDK
1)使用yum search jdk在线查找jdk列表,任意选择一个版本,我选择了最新版,即1.8.0。
[root@localhost ~]$ yum search jdk [root@localhost ~]$ yum install java-1.8.0-openjdk-devel.x86_64 -y
2)配置Java环境变量。
其中还配置了maven的环境变量,可是maven没有安装过,不知道是为何。我找了一下,maven的下载地址是:http://mirrors.hust.edu.cn/apache/maven/maven-3/3.3.9/binaries/apache-maven-3.3.9-bin.tar.gz ,下载完成后直接解压便可使用,我解压到了/home/hadoop/opt中,因此下文中配置环境变量添加了一条/home/hadoop/opt/apache-maven-3.3.9/bin
[root@localhost ~]$ whereis java [root@localhost ~]$ ll /usr/bin/java [root@localhost ~]$ ll /etc/alternatives/java #这时能够看到JDK路径了 #修改配置文件 [root@localhost ~]$ vim /etc/profile #在末尾追加
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.111-2.b15.el7_3.x86_64
export MAVEN_HOME=/home/hadoop/opt/apache-maven-3.3.9
export JRE_HOME=$JAVA_HOME/jre
export PATH=$JAVA_HOME/bin:$MAVEN_HOME/bin:$PATH
export CLASSPAHT=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
#保存配置后使用source命令使配置当即生效
[root@localhost ~]$ source /etc/profile
3)使用java -version命令查看环境变量配置是否成功。
[root@localhost ~]# java -version openjdk version "1.8.0_111" OpenJDK Runtime Environment (build 1.8.0_111-b15) OpenJDK 64-Bit Server VM (build 25.111-b15, mixed mode)
至此,完成JDK的安装和配置,接下来使用VMware克隆两台机器,并分别设置静态IP地址为192.168.0.132,192.168.0.133。(建立链接克隆)
书中提示:克隆完成,启动机器后,会出现没有网络设备信息,没法链接网络的状况。
可是我在实际使用中没有发现这种状况。
能够查看下载Hadoop大数据分析与挖掘实战这本书去看。我就不写上来了。