关于完整分布式请参考: hadoop2.8 ha 集群搭建 【七台机器的集群】html
Hadoop是一个由Apache基金会所开发的分布式系统基础架构。用户能够在不了解分布式底层细节的状况下,开发分布式程序。充分利用集群的威力进行高速运算和存储。java
Hadoop实现了一个分布式文件系统(Hadoop Distributed File System),简称HDFS。HDFS有高容错性的特色,而且设计用来部署在低廉的(low-cost)硬件上;并且它提供高吞吐量(high throughput)来访问应用程序的数据,适合那些有着超大数据集(large data set)的应用程序。HDFS放宽了 (relax)POSIX的要求,能够以流的形式访问(streaming access)文件系统中的数据。node
Hadoop的框架最核心的设计就是:HDFS和MapReduce。HDFS为海量的数据提供了存储,则MapReduce为海量的数据提供了计算。 -----来自googleweb
hadoop安装模式有三种,本节重点介绍伪分布式的安装配置和启动。shell
第一种是本地(独立)模式: 本地模式没啥意义,你们能够做为一个入门的参考。centos
第二种是伪分布式集群: 在物理机不容许的状况下,用单机模拟集群的效果bash
第三种是彻底分布式集群: 搭建完成分布式集群,为业务进行服务,具备高容错,高性能,高冗余等特色。后面我会再详细介绍架构
centos下载: 下载适合本身的版本框架
本机已经安装好VMware和xshell。我已经在虚拟机上建立一个centos做为这次安装的环境。我采用的是centos7.ssh
注意: 我在这选择的centos7的mini版本。能够选择完整版本centos.不过完整版本太大。我就用mini版本演示,mini版本里面不少软件都须要本身安装,因此我也会把我安装的步骤贴出来给你们作个分享。
启动虚拟机后我要作一些调整.
1> 查看ip 使用ifconfig命令,可是会报错,由于我这是mini版本,没安装这些。不要紧,我来安装一下:(完整版本就已经安装好了,就不须要下面这步了)
2> xshell链接到这个hadoop_yang上;
3> 修改主机名和关闭防火墙。[ 保存退出 :wq! 或者 shift + zz ]
修改主机名:vi /etc/sysconfig/network
将HOSTNAME=localhost改成HOSTNAME=yang 保存退出
修改主机名与IP映射文件:vi /etc/hosts
添加192.168.146.137 yang 保存退出
修改完成后重启生效:
关闭防火墙,为了能够在搭建完成后咱们能够访问其端口。若是不想关闭防火墙,能够打开咱们要访问的端口便可。随本身喜爱吧。我在这就直接关闭防火墙进行演示。
1》systemctl stop firewalld 关闭防火墙
2》systemctl status firewalld 查看防火墙状态
3》 systemctl start firewalld 开启防火墙
4》 systemctl disable firewalld 禁止防火墙随机启动
上面是关闭防火墙,还能够在开启某一个访问端口:vi/etc/sysconfig/iptables 这个前提要安装iptables.就不演示了。
4> SSH设置和密钥生成
SSH设置须要在集群上作不一样的操做,如启动,中止,分布式守护shell操做。认证不一样的Hadoop用户,须要一种用于Hadoop用户提供的公钥/私钥对,并用不一样的用户共享。
下面的命令用于生成使用SSH键值对。复制公钥造成 id_rsa.pub 到authorized_keys 文件中,并提供拥有者具备authorized_keys文件的读写权限。
$ ssh-keygen -t rsa $ cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys $ chmod 0600 ~/.ssh/authorized_keys 【能够不加】
jdk1.8 ,hadoop2.8 【我已经下载好这些了】
1》到这准备工做已经基本完成,我要在root超级用户下建立一个咱们搭建集群的用户。hadoop
2》配置hadoop用户的sudo命令。参考个人博客:sudo的安装
3》切换到hadoop用户上。咱们来安装hadoop的伪分布式。
4》上传软件
先安装lrzsz插件
到这,咱们已经经过命令把jdk和hadoop上传到了/home/hadoop的家目录下了。
1>解压jdk,并移动到 /usr/local 下 修更名称为jdk1.8
解压
重命名
移动到指定文件夹
查看移动效果:
配置java环境变量: vi ~/.bashrc [用户的] 或者 /etc/profile [系统的] 在这我就配置用户级别的。系统的全局有效。不明白这个范围的能够上网查一下。我就不详细介绍了。
source ~/.bashrc 让配置生效。
而后java -version 验证java配置是否成功。
2> hadoop的配置:(修改hadoop/etc/hadoop下的配置文件(hadoop-env.sh、core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml))
jdk是hadoop的基础。安装好jdk后,咱们来配置hadoop。首先解压hadoop。我在local下建立一个hadoop文件夹,后期hadoop的其余插件我也会放在这个文件夹中。
执行命令 sudo tar -zxvf hadoop----tgz -C /usr/local/hadoop -C参数,是直接解压到指定文件夹。
配置环境变量:
还能够加上这些属性:
export HADOOP_MAPRED_HOME=$HADOOP_HOME export HADOOP_COMMON_HOME=$HADOOP_HOME export HADOOP_HDFS_HOME=$HADOOP_HOME export YARN_HOME=$HADOOP_HOME export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
source ~/.bashrc 让配置生效。
1》修改hadoop-env.sh
export JAVA_HOME=/usr/local/jdk1.8
2》
1>格式化hdfs(只能格式化一次)
cd $HADOOP_HOME/bin
hdfs namenode -format
2>启动hadoop
cd $HADOOP_HOME/sbin
启动hdfs
start-dfs.sh
启动yarn
start-yarn.sh
启动historyserver
mr-jobhistory-daemon.sh start historyserver
web验证:(打开表示启动成功)
验证hdfs启动状态:http://yang:50070/
验证yarn启动状态:http://yang:8088/
验证启动状态:http://yang:19888/