在了解了Hadoop的相关知识后,接下来就是Hadoop环境的搭建,搭建Hadoop环境是正式学习大数据的开始,接下来就开始搭建环境!我们用到环境为:VMware 12+CentOS6.4
hadoop安装步骤大纲:
1、准备硬件(一台虚拟主机)
2、虚拟机装linux系统(这里我们装的是CentOS)
3、准备网络连接
4、配置linux系统
5、安装jdk和hadoop
下面详细介绍环境的搭建:
1)准备linux环境
运行 Vm ware安装目录的 vmnetcfg.exe 程序 , 打开虚拟网络编辑器,
选择 VMnet1 仅主机模式,子网 IP 设为 192.168.1.0 ,子网掩码设为 255.255.255.0
说明: VMnet0 桥接模式, VMnet1 仅主机模式, VMnet8 NAT 模式。
回到windows --> 打开网络和共享中心 -> 更改适配器设置 -> 右键VMnet1 -> 属性 -> 双击IPv4 -> 设置windows的IP:192.168.1.88 子网掩码:255.255.255.0 -> 点击确定
在虚拟软件上 --My Computer -> 选中虚拟机 -> 右键 -> settings -> network adapter -> host only -> ok
即:在 VMware 中,设置具体 Linux 实例的网络适配器为仅主机模式
2)修改linux相关配置
2.1修改linux的IP地址
点击右上角网络连接小电脑图标,选择 vpn 连接 — > 配置 vpn — > 有线 — >Auto eth1 — >编辑
— > I p v4设置 — >手动 — > 192.168.1.101 ,255.255.255.0,192.168.1.1 — >应用
使用shell指令: service network restart重启网络使之生效
2.2修改主机名
使用su root 切换到root用户,使用shell指令:vi /etc/shsconfig/network打开文件把主机名修改为一下的形式:
NETWORKING=yes
HOSTNAME= BigData
这里补充一下:对linux不太熟悉的,打开文件后不知道怎么去修改,修改完,怎么去保存,具体方法是:打开文件后按i进行插入操作,完毕后按ESC退出插入操作然后使用:":wq!"进行保存退出(注意指令时没有双引号的),加“!”的作用的强制保存退出。
注意:主机名中不能含有下划线,主机名生效需要重启系统,查了一些资料目前好像没有别的方法,是用reboot重启系统
2.3 配置主机名与本地映射关系
使用:vi /etc/hosts打开本地文件,配置成以下形式
2.4 关闭防火墙
linux系统由于防火墙的存在,不便于进行远程访问,为了方便其他计算机对linux进行远程访问,所以要将防火墙关闭。
使用指令:service iptables stop把防火墙关闭,另外补充以下指令:
#查看防火墙状态
service iptables status
#关闭防火墙
service iptables stop
#查看防火墙开机启动状态
chkconfig iptables --list
#关闭防火墙开机启动
chkconfig iptables off
注意: 关闭防火墙后,重启linux系统才能生效。
2.5 在 windows 配置主机名和本地映射关系
找到hosts 所在文件路径:C:\Windows\System32\drivers\etc \hosts用EditPlus或者其他工具打开,添加如下形式:
保存并退出,接下来再linux和window环境下测试是否正确。下面是测试指令:
ping BigData
ping 192.168.1.101
linux测试结果如下:
按ctrl+c停止传输
window环境下测试结果:
能够相互ping的通,证明网络连接正确。
2.6 生成并配置生成ssh免登陆密钥
由于hadoop在集群中的时候需要多个机器进行访问操作,一个集群存在成千上万的个节点,如果每次启动节点都需要输入密码,势必会很麻烦。linux机器之间使用ssh不需要用户名和密码。采用了数字签名RSA或者DSA来完成这个操作
#进入到我的home目录
cd ~/.ssh
ssh-keygen -t rsa (四个回车)
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
将公钥拷贝到要免登陆的机器上
ssh-copy-id BigData
3)安装jdk和 hadoop-2.4.1.tar.gz
3.1安装jdk
这里介绍常用的两个工具:SecureFXPortable和SecureCRTPortable,第一个用来将window下的相关文件上传到linux环境中,第二个用用来对linux进行操作,有了它就可以把linux虚拟机的桌面关闭了,这样可以节省资源。这两个工具通过域名和linux建立连接,从而达到远程操作linux的目的。
点击左上角第二个按钮,出现如图所示的窗口,输入主机名,用户名进行连接
然后将安装包拖到linux系统,下面一栏有进度显示,这样就把安装包传到了linux系统上。
最后使用:mkdir /software创建文件夹software,将jdk解压至software文件夹
解压指令:tar -xzvf / software /jdk-7u55-linux-i586.tar.gz -C / software
3.2 将java添加至环境变量
在root用户下,使用指令:vi /etc/profile 在文件结尾添加:
export JAVA_HOME=/ software /jdk1.7.0_55
export PATH=$PATH:$JAVA_HOME/bin
然后使用:使用 source /etc/profile 命令 , 使环境变量生效
测试java环境:java 和java -version 出现以下信息说明安装成功。
3.3安装hadoop
这里选用的是比较稳定的2.4.1版本,其他版本只能装大同小异,hadoop的安装和jdk的安装步骤几乎一样,先上传压缩包,然后进行解压,同理安装在software目录下。
指令:tar -xzvf / software /hadoop-2.4.1.tar.gz -C / software
3.4 hadoop伪分布式环境配置
hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop
伪分布式需要修改5个配置文件
1、配置hadoop环境变量
使用指令:vi / software/hadoop-2.4.1/etc/hadoop/hadoop-env.sh打开文件添加:
export JAVA_HOME= / software /jdk1.7.0_55
2、 修改 core-site.xml文件
指令:vi / software/hadoop-2.4.1/etc/hadoop/core-site.xml,打开后输入以下信息:
解释如下:
<!-- 指定HADOOP所使用的文件系统schema(URI),HDFS的老大(NameNode)的地址 -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://BigData:9000</value>
</property>
<!-- 指定hadoop运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/software/hadoop-2.4.1/tmp</value>
</property>
3、修改 hdfs-site.xml文件
指令:vi / software/hadoop-2.4.1/etc/hadoop/hdfs-site.xml打开文件,添加以下信息:
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
</configuration>
这个文件的目的是指定文件副本的数量,由于现在只有一台机器,所以value值为1,将来如果有多台机器,那么value的值就不是1了。
4、修改 mapred-site.xml文件 ,
首先需要去掉 .template 后缀,指令:mv mapred-site.xml.template mapred-site.xml,然后使用指令:
vi / software/hadoop-2.4.1/etc/hadoop/mapred-site.xml打开文件添加以下信息:
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
目的是指定mr运行在yarn上
5、修改yarn-site.xml文件
指令:vi / software/hadoop-2.4.1/etc/hadoop/yarn-site.xml
<configuration>
<property>
<name>yarn.resourcemanager.hostname</name>
<value> BigData </value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
解释
第一个property的作用是:指定YARN的老大(ResourceManager)的地址,第二个property的作用是:reducer获取数据的方式。
6、将hadoop添加至环境变量
使用指令:vi /etc/profile打开文件,添加以下信息:
export JAVA_HOME=/ software /jdk1.6.0_24
export HADOOP_HOME=/ software /hadoop-2.4.1
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
使用 source /etc/profile 命令 , 使环境变量生效
7、格式化 HDFS 文件系统
指令:hdfs namenode -format,目的是对namenode进行初始化
3.5 环境测试
找到start-all.sh,具体在/home/hadoop/software/hadoop-2.4.1/sbin这个目录下,进去里面有很多指令,如图所示:
执行指令:sh start-all.sh,出现以下信息
启动的过程中,没有让输入密码,说明我们的ssh免密钥登陆也是正确的。
验证是否启动成功,执行指令jps,出现以下信息:
可以看到启动成功。
最后用网址进行验证:分别输入
http://192.168.1.101:50070 (HDFS管理界面)
http://192.168.1.101:8088 (MR管理界面)
至此,CentOS下搭建Hadoop服务已经完成,系统部署的过程中,与顺序无关,先那一步都可以,在搭建环境之前,需要学会在虚拟机上安装CentOS,这是前提工作,第一步完成后,再来搭建本文的环境就变得容易了。