一、配置静态IP
首先通过dhclient 命令获得动态IP,这样可以避免IP 冲突以及获得网络相关信息。修改IP 地址(vi /etc/sysconfig/network-scripts/ifcfg-ens33)
默认网关可以通过route 命令查看设置,每台虚拟机对应一个静态IP。配置完毕后执行命令"service network restart"重启服务;或者重启电脑,如果进入CentOS很慢,说明网络配置有误,需要重新更正。
执行ping 命令,如"ping www.baidu.com",有正确回复表示网络配置正常。
二、配置/etc/hostname
该文件是配置配置主机名,每台虚拟机各不相同。IP 为128 的设置为master(主节点),129 的为slave1(从节点1),131 的是slave2(从节点2)。
三、配置/etc/hosts
该文件是配置IP 和主机名的对应关系,三个虚拟机均采用如下配置(第一行配置不能丢掉,否则Hadoop 启动的时候会报错):
可以在任意主机执行"ping 主机名",确定是否有正确回复。
四、SSH 免秘钥登陆
Hadoop 中的NameNode 和DataNode 数据通信采用了SSH 协议,需要配置master对各slave 节点的免密钥登陆。
配置完成后,在master 节点可以通过"ssh slave1"免密钥登录slave1,如果还需要密码,说明上面操作有误(容易犯的错误是误把/root/.ssh 认为是一个文件)。
五、安装JDK
下载JDK 页面http://www.oracle.com/technetwork/java/javase/downloads/index.html,为了方便Scala 和Spark 的学习,本书采用JDK1.8 安装,如图2-3 所示:
图2-3 JDK 下载
下载完毕后,执行如下操作:
三台虚拟机修改环境变量(vi /etc/profile),在文件末尾添加:
在Linux 中环境变量可以配置在/etc/profile 中,也可以配置在~/.bashrc 下,区别是前者对所有用户都生效,而后者只对当前用户生效。
六、关闭所有虚拟机防火墙
七、配置时钟同步
图2-4 master 节点/etc/ntp.conf
第一处意思是从IP 地址192.168.254.1-192.168.254.254,默认网关255.255.255.0的机器都可以从NTP 服务器来同步时间。第二处指明谁作为NTP 服务器。第三处是指当服务器与公用的时间服务器失去联系时以本地时间为客户端提供时间服务。
配置文件修改完成,重启服务"service ntpd restart "。
3.在salve1 和slave2 节点修改/etc/ntp.conf 文件
各salve 节点/etc/ntp.conf 文件内容修改为如图2-5 所示:
图2-4 slave 节点/etc/ntp.conf
指定192.168.254.128 作NTP 服务器。配置文件修改完成,重启服务"service ntpd restart"。在slave2 节点运行ntpstat 可以看到如图2-5 下提示:
图2-5 ntpstat 启动信息
八、Hadoop 安装
Hadoop 版本采用的是2.6.5,该版本为Hadoop 的一个稳定版本,被广泛的应用,下载地址为http://hadoop.apache.org/releases.html。
将其上传到master 节点,并解压到/hadoop 文件夹中,该文件夹存放本书所用到的软件,如HBase,Hive,Scala,Spark 等。
tar -zxvf hadoop-2.6.5.tar.gz -C /hadoop/
进入/hadoop/hadoop-2.6.5/etc/hadoop/目录修改里面的配置文件。
1.修改hadoop-env.sh 和yarn-env.sh
在hadoop 中,以env.sh 结尾的文件通常是配置所需的环境变量。
修改Java 环境变量,如下图2-6 将其值改为前面Java 的安装路径export JAVA_HOME=/Java/jdk1.8.0_144/
图2-6 JAVA_HOME 配置
2.修改core-site.xml
core-site.xml 是Hadoop 的全局配置文件,主要设置一些核心参数信息,如:fs.defaultFS 设置集群的HDFS 访问路径,hadoop.tmp.dir 指定NameNode、DataNode等存放数据的公共目录。(www.daowen.com)
首先创建如下目录:
mkdir -p /hadoop/hdfs/tmp
在<configuration>里面添加如图2-7 所示内容:
图2-7 core-site.xml 配置
3.修改hdfs-site.xml
该文件是HDFS 的配置文件,在<configuration>里面添加如图2-8 内容:
图2-8 hdfs-site.xml 配置
dfs.replication 用来设置副本存放个数,在实际生产中还会设置dfs.namenode.name.dir 和dfs.namenode.data.dir(NameNode 和DataNode 的存放路径),同时将core-site.xml 中的hadoop.tmp.dir 配置去掉,避免冲突。
4.修改mapred-site.xml
该文件是MapReduce 的配置文件,由于Hadoop 中不存在该文件,首先复制一个:
cp /hadoop/hadoop-2.6.5/etc/hadoop/mapred-site.xml.template /hadoop/hadoop-2.6.5/etc/
hadoop/mapred-site.xml
然后将其修改为如图2-9 内容,指定由yarn 作为MapReduce 的程序运行框架。如果没有配置这项,那么提交的程序只会运行在 locale 模式,而不是分布式模式。
图2-9 mapred-site.xml 配置
5.修改yarn-site.xml
yarn-site.xml 用来配置Yarn 的一些信息。yarn.nodemanager.aux-services 配置用户自定义服务,例如MapReduce 的shuffle。yarn.resourcemanager.address 设置客户端访问的地址,客户端通过该地址向RM 提交应用程序,杀死应用程序等。yarn.resourcemanager.scheduler.ad
ress 设置ApplicationMaster 的访问地址,通过该地址向ResourceManager 申请资源、释放资源等。yarn.resourcemanager.resource-tracker.address 设置NodeManager 的访问地址,通过该地址向ResourceManager 汇报心跳,领取任务等。yarn.resourcemanager.admin.address 设置管理员的访问地址,通过该地址向ResourceManager 发送管理命令等。yarn.resourcemanager.w
ebapp.address 设置对外ResourceManager Web 访问地址,用户可通过该地址在浏览器中查看集群各类信息。yarn-site.xml 配置信息如图2-10 所示:
图2-10 yarn -site.xml 配置
6.创建文件slaves
touch /hadoop/hadoop-2.6.5/etc/hadoop/slaves
并将其内容修改为各salve 节点的主机名,如图2-11 所示:
图2-11 laves 配置
通过该文件master 节点知道集群中有几个子节点,然后通过主机名和/etc/hosts的信息就可以知道各子节点对应的IP,并和其通信。该文件只需在master 配置即可,子节点不需要。
7.将修改后的Hadoop 分发到子节点
scp -r /hadoop slave1:/
scp -r /hadoop slave2:/
8.修改所有节点的环境变量
在/etc/profile 文件末尾添加Hadoop 的环境变量,在后续HBase,Hive 等安装过程中仍需要执行类似操作。
export HADOOP_HOME=/hadoop/hadoop-2.6.5
export PATH=$PATH:$HADOOP_HOME/bin: $HADOOP_HOME/sbin
在配置环境变量的时候如果不小心配置错误,可能会造成无法正常启动到登录界面的情况。可以通过“ctrl+alt+f1”,切换到其他登录窗口,如tty1,在里面输入管理员帐号和密码,然后再对错误的环境配置修改即可。
9.在master 节点格式化namenode
hdfs namenode -format
格式化后的显示内容如图2-12 所示:
图2-12 NameNode 格式化信息
10. maser 节点启动start-all.sh
start-all.sh 也可由star-dfs.sh 和start-yarn.sh 代替。执行命令后,提示输入yes/no 时,输入yes。在master 节点和子节点分别输入jps 命令,如果出现如图2-13,2-14,2-15 进程表明Hadoop 集群已正常搭建。
图2-13 master jps 进程
图2-14 slave1 jps 进程
图2-15 slave2 jps 进程
免责声明:以上内容源自网络,版权归原作者所有,如有侵犯您的原创版权请告知,我们将尽快删除相关内容。