前言
又一次打算入坑,投入大数据怀抱,在大数据森林之中做一颗小撸,安安静静的茁壮成长。在网上浏览了几位大神写的帖子后,对hadoop也有了一定了解,决定动动手,先搭建一个运行环境。关于hadoop版本的选择, 目前市场上存在的版本不少,用的比较主流的如:Apache(原生态,开源)、CDH(Cloudera)、Hortonworks等等,纠结了半天,出于更好的了解配置参数、配置文件、常规命令以及核心技术知识的目的,一键安装的不要,选择原生态开源,选择Apache版本,尝试部署Apache Hadoop2.7.3伪分布式集群。
一、准备
1.1、准备安装包
宿主机 (用于跑虚拟机,我用的是IMAC pro)
VMware Fusion 8.5.3 (虚拟机,如果用的是windows系统,可选择VMware12 workstation系列)
centos 6.8 64位
jdk-8u101-linux-x64.tar
apache hadoop-2.7.3.tar.gz
secureCRT
1.2、制定一个简单的集群架构
主机名/HOSTNAME IP 运行角色 Master 192.168.79.172 NameNode、SecondaryNameNode、ResourceManager Slave1 192.168.79.173 DataNode、NodeManager Slave2 192.168.79.174 DataNode、NodeManager
1.3、安装centos虚拟机(安装三台,分别为 Master、Slave1、Slave2)
安装过程参考:https://jingyan.baidu.com/article/25648fc1a235c99191fd0008.html
二、配置虚拟环境
三台虚拟机安装完成后,接下来就需要在每台虚拟机上配置hadoop运行的依赖环境
2.1、根据1.2架构设计,设定三台虚拟机IP
此步骤所有虚拟机都要操作
vi/etc/sysconfig/network-scripts/ifcfg-eth0
2.2、根据1.2架构设计,设定三台虚拟机主机名
此步骤所有虚拟机都要操作
[root@Master ~]# hostname Master
[root@Master ~]# vi /etc/sysconfig/network 修改为 HOSTNAME=Master
以上两步骤需要重启服务器后才生效
192.168.79.172 Master
192.168.79.173 Slave1
192.168.79.174 Slave2
切换至hadoop用户下执行ssh-keygen -t rsa,然后将自己的公钥以及其他服务器hadoop用户的公钥放置hadoop宿主目录下 的 .ssh/authorized_keys 中,注意 authorized_keys默认不存在需要手动创建,并且必须设置权限为600
步骤参考;
1) 在namenode机器上,在hadoop用户下执行下面命令
ssh-keygen -t rsa
遇到所有选项回车默认值即可
2) 导入公钥到本机认证文件
cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys
另外两台的公钥也放到这文件中再传到各个节点
3) 导入公钥到其他datanode节点认证文件
scp ~/.ssh/authorized_keys hadoop@Slave1:/home/hadoop/.ssh/authorized_keys
scp ~/.ssh/authorized_keys hadoop@Slave2:/home/hadoop/.ssh/authorized_keys
以上过程由于是第一次传输访问,系统会提示输入hadoop用户的密码,输入密码即可。
export CLASSPATH=:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib
export PATH=:$JAVA_HOME/bin:$JAVA_HOME/jre/bin:$PATH