Hadoop安装环境搭建
一、Hadoop的介绍
Hadoop是Apache的一个伪分布式文件系统的开源项目。作者名为Doug Cutting,Hadoop项目是他通过Google的发布三篇论文所启发,分别为GFS、MapReduce和BigTable。Hadoop最受欢迎是致力于搜索大量数据进行分类工具。
Hadoop的优点:
①高可用性:Hadoop按位存储和处理力能强
②高扩展性:Hadoop是在可用的计算机集族间分配数据并完成计算任务,这些集族间可以方便的扩展到数以千计的节点中。
③高效性:Hadoop能够在节点之间动态的移动数据,并保证各个节点的平衡。
④高容错性:Hadoop能够自动保存数据的多个副本,并且能够将失败的任务重新分配。
⑤低成本:Hadoop是开源项目,对比与机体一身、商用商用数据仓库以及QlikView、Yonghong Z-Suite等数据集市,成本会大大降低。
---来自百科,介绍不多说,进入实践动手搭建^_^
二、搭建配置环境
原材料:Ubuntu-16.04.3-desktop-amd64.iso,jdk-8u151-linux-x64.tar.gz,hadoop-2.4.0.tar.gz
(1)搭建Hadoop需要的安装环境
1、JDK的配置。
1、在官网下载JDk 如果是64位的操作系统,可以下载64位或者32位的jdk,但是32位的系统不能运行64位的jdk。
2、解压jdk-x.x.x.tar.gz,把安装包放在你想放的文件目录下,使用命令tar -zxvf jdk-x.x.x.tar.gz。
3、把jdk添加到操作系统环境中,使用命令sudo vim /ect/profile 在文件后面添加一下字段。修改退出。
export JAVA_HOME=/usr/java/jdk1.8.0_151
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$JAVA_HOME/bin:$PATH
4、使用命令source /ect/profile 运行一下文件。(source功能:使当前shell读入路径为filepath的shell文件并依次执行文件中的所有语句,通常用于重新执行刚修改的初始化文件,使之立即生效,而不必注销并重新登录)
5、使用java -version 测试是否配置成功。若输出jdk版信息,则配置成功。
2、Hadoop的环境配置
①下载:在官网下载hadoop,在我写这篇文章的时候最新版本是3.0.0。
②解压:把下载的安装包解压到/home/xxx/app/hadoop目录下(需要sudo mkdir /usr/hadoop),使用命令 tar -zxvf hadoop-2.4.0.tar.gz 解压包,使用命令 mv hadoop-2.4.0 hadoop 重命名一下。
③设置环境变量:(如同配置JDK环境变量)使用命令sudo vim /etc/profile 编辑文件,在文件后面添加一下两行代码
export HADOOP_HOME =/home/xxx/app/hadoop
export PATH = $HADOOP_HOME/bin:$PATH
添加完成之后,使用命令 source /ect/profile
3、安装SSH(主要为了免密码登录,SSH详细介绍参考...)
使用命令 ssh-keygen,然后一直按回车,会生成一下信息。(SHA256 每个都不一样)
进入.ssh文件夹(.开头的是系统隐藏文件,可以通过命令 ls -a 查看),把id_rsa.pub 公钥附加到授权文件authorized_keys中,使用命令 cat id_rsa.pud >> authorized_keys,或者使用重命名方式 cp id_rsa.pud authorized_keys 。chmod 700 ~/.ssh chmod 600 ~/.ssh/authorized_keys,修改访问权限。
配置Hadoop的需要安装环境已经搭建好,接下来要修改Hadoop的配置环境。
(2)配置Hadoop伪分布式模式
配置Hadoop要修改解压安装包的4个配置文件
1、修改etc/hadoop目录下的hadoop-evn.sh指定JDK所在位置。
2、修改core-site.xml文件,指定name主机节点和HDFS的根目录
3、修改hdfs-site.xml指定namenode和datanode存放目录,配置每个节点存放的副本数和hdfs的IP地址和端口号。
4、修改mapred-site.xml指定jobTarcker的位置
最后创建配置文件需要的文件目录
使用命令 mkdir /var/lib/hadoop/tmp,chmod 777 /var/lib/hadoop 创建Hadoop的根目录。
(3)格式化Namenode