Hadoop搭建
hadoop大数据这里以虚拟机为例,介绍Hadoop2.7.1的搭建过程
一、更新、升级、安装ssh服务
更新:
sudo apt-get update (也可以先更改下软件源,在source.list里面,因为国内属网易163软件源最快,具体命令为sudo gedit/etc/apt/source.list)升级:
sudo apt-get upgrade安装SSH服务
$ sudo apt-get install ssh(如果安装不成功,可以打开hosts文件,删掉里面ipv6的地址,这个不是必要的,但是本次使用的虚拟机就是因为这个问题,原因尚不明确。虽然用的是虚拟机,但是也出现过很多bug)
查看是否安装好了SSH服务可以用命令:
which ssh如下所示:
再用ssh localhost 查看是否可以运行。如上图所示,可以登陆本机,说明SSH安装成功。
二、安装JDK
我这里是在官网下载的jdk-7u79-linux-x64.tar.gz,因为我用的是64版本Ubuntu,由于是虚拟机,可以先在一台机器上安装好SSH、hadoop、JDK,然后再克隆,可以节省很多时间。
将jdk复制到所要安装的目录下,为了方便区分,我这里在usr目录下新建一个soft文件夹:
sudo mkdir/usr/soft然后解压:
sudo tar–zxvf jdk-7u79-linux-x64.tar.gz然后添加环境变量:
这里的environment相当于Windows下的系统全局变量。
在里面添加JAVA的路径:
JAVA_HOME=/usr/soft/jdk1.7.0_79PATH后面加上:和其路径
PATH=....:/usr/soft/jdk1.7.0_79/bin先按ctrl O 保存,回车,然后按ctrlX退出编辑。
三、安装Hadoop
安装Hadoop的原理和java一样,先将Hadoop压缩包复制到/usr/soft目录下,这里前面要加上sudo,然后解压
解压完成后可以看到:
添加环境变量:
同安装java-JDK一样,sudo nano /etc/environment
然后添加:
HADOOP_INSTALL=/usr/soft/hadoop-2.7.1
:/usr/soft/hadoop-2.7.1/bin
:/usr/soft/hadoop-2.7.1/sbin之所以添加bin和sbin目录,是因为用的2.7.1版本Hadoop,两个目录分别存放不同的执行文件,后面可以看到。
按ctrl O 保存,回车,然后按ctrlX退出编辑。
四、创建一个名为hadoop的用户和用户组,修改机器名(每台机器均要创建相同的用户名和密码)(可选,因为用的是虚拟机,只是用来装hadoop,所以没有必要再另外建一个用户,这里就用的本机用户,用户名为ma)
1、用nano打开etc下的sudoers文件
$ sudo nano /etc/sudoers在rootALL=(ALL)ALL 下面添加如下一行:
hadoopALL=(ALL) ALL 先按ctrl O 保存,回车,然后按ctrlX退出编辑。
此时可以通过命令java -version查看java是否安装成功
通过命令hadoop version查看hadoop是否安装成功(注意这里没有-)
如果没有也不用担心,重启一下就行了。
五、克隆虚拟机:
关闭虚拟机,选中虚拟机,邮件选择“管理”-“克隆”,然后选择完整克隆
一共克隆三台,比直接装虚拟机然后安装环境快多了。
六、修改机器名和/etc/hosts文件(每台机器都修改,hosts内容一样,所以只需要修改一台,然后复制粘贴)
这里先查询每台机子的IP地址,可以用ifconfig命令:
然后记下每个机子的IP
ma 192.168.255.133
sla1 192.168.255.135
sla2 192.168.255.134
sla3 192.168.255.136然后添加到hosts文件中:
命令:
sudo nano /etc/hosts并删除里面的ipv6地址。
添加后先按ctrl O 保存,回车,然后按ctrlX退出编辑。
然后修改机器名:
$sudo nano /etc/hostname
)对每台都要改。添加后先按ctrl O 保存,回车,然后按ctrlX退出编辑。
七、配置每台电脑无密码访问
首先在每台电脑上生成密钥:
$ssh-keygen -t rsa –P ‘’ (生成RSA公钥,因为是无密码,注意这里是两个单引号)
注意:生成密钥的位置就在/home/ma/.ssh 这个文件夹下。.ssh是个隐藏文件夹,需要 ctrlh 才能看到。
然后在每台电脑上生成密钥文档authorized_keys
$ cd ~/.ssh
$ cp id_rsa.pub authorized_keys (将RSA公钥id_rsa.pub存储为授权密钥文档authorized_keys)然后将sla1 sla2 sla3的authorized_keys中的内容复制给ma:
可以先复制,再追加,也可以直接打开图形界面AltF7,再用鼠标复制粘贴即可。
scp authorized_keys ma:/tmp(sla完成)
sudo cat /tmp/authorized_keys ~/.ssh/authorized_keys最后cat一下是否都添加了
然后再通过scp命令复制给3个sla,命令不再赘述。
然后修改所有机器的authuorized_keys权限
$ chmod 644 authorized_keys (修改密钥权限)之后测试一下登陆slave机器
$ ssh sla1
$ ssh sla2第一次只需要按yes,之后直接无密码访问。
八、配置hadoop
1、hadoop运行环境变量设置
先进入hadoop目录
$ sudo nanohadoop-env.sh在里面添加java的目录
export HADOOP_HOME= /usr/soft/jdk1.7.0_79配置hadoop云计算系统设置文档
直接用nano命令,如core-site.xml则是:sudo nano core-site.xml,最后按ctrl O 保存,回车,然后按ctrlX退出编辑。
配置core-site.xml
?xmlversion=1.0?
!--core-site.xml --
configuration
property
namefs.defaultFS/name
valuehdfs://ma//value
/property
/configuration配置HDFS分布式文档系统设置文档——hdfs-site.xml
$ sudo nanohdfs-site.xml
?xmlversion=1.0?
!--hdfs-site.xml --
configuration
property
namedfs.replication/name
value3/value
/property
/configuration配置Map/Reduce程序设置文档——mapred-site.xml(这里没有mapred-site.xml文档,但是有mapred-site.xml.template,可以先复制一份,再改为mapred-site.xml)
$ sudo geditmapred-site.xml
configuration
property
namemapreduce.framework.name/name
valueyarn/value
/property
/configuration
配置yarn:
?xmlversion=1.0?
!--yarn-site.xml --
configuration
property
nameyarn.resourcemanager.hostname/name
valuema/value
/property
property
nameyarn.nodemanager.aux-services/name
valuemapreduce_shuffle/value
/property
/configuration4、复制hadoop安装文件
$ scp –r/usr/soft/hadoop-2.7.1 sla1:/usr/soft/(复制到sla1的/soft文件夹下)
$ scp –r/usr/soft/hadoop-2.7.1 sla2:/usr/soft/(复制到sla2的/soft文件夹下)
$ scp –r/usr/soft/hadoop-2.7.1 sla3:/usr/soft/(复制到sla3的/soft文件夹下)九、集群搭建完成、启动hadoop云计算系统
设置到这里,就已经完成hadoop云计算平台系统的搭建工作了,现在可以直接启动这个拥有4个节点(master、slave1、slave2,slave3)的hadoop实验平台。
1、式化hadoop
命令:hadoop namenode–format
2、启动ssh守护程序
$ start-all.sh3、查看hadoop云计算系统运行状况
可以通过jps命令查看运行状况:
由图可知:这里有一个名称节点namenode,三个数据节点datanode,由于未分配辅助名称节点,所以secondaryNamenode还在主机ma上,三个数据节点已经分配给sla1、sla2、sla3三个主机。
说明hadoop的namenode和datanode已经启动成功。
4、关闭hadoop云计算系统
关闭只需要一条指令:
$ stop-all.sh 也可以分别关闭,只需要将all改成yarn或者namenode等。
以下是一些配置文件的内容及意义,未配置则选择默认配置。
注:Hadoop搭建主要步骤
安装jdk
安装hadoop
配置环境变量
[/etc/environment]
JAVA_HOME=/usr/soft/jdk1.7.0_79
PATH=....:/usr/soft/jdk1.7.0_79/bin
[/etc/environmnet]
...
HADOOP_INSTALL=/usr/soft/hadoop-2.7.1
:/usr/soft/hadoop-2.7.1/bin
:/usr/soft/hadoop-2.7.1/sbin【可选】:{
新建用户
修改权限拥有
}
安装ssh
配置ssh
修改host
ip取决于电脑IP:
ma 192.168.255.133
sla1 192.168.255.135
sla2 192.168.255.134
sla3 192.168.255.136名称自定
无密码访问
配置hadoop
!-- core-site.xml --
configuration
property
namefs.defaultFS/name
valuehdfs://ma//value
/property
/configuration
A typical hdfs-site.xml
!-- hdfs-site.xml --
configuration
property
namedfs.replication/name
value3/value
/property
property
namedfs.secondary.http.address/name
valuema:50090/value
/property
/configuration
mapreduce:
configuration
property
namemapreduce.framework.name/name
valueyarn/value
/property
/configuration
A typical yarn-site.xml file
?xml version=1.0?
!-- yarn-site.xml --
configuration
property
nameyarn.resourcemanager.hostname/name
valuema/value
/property
property
nameyarn.nodemanager.aux-services/name
valuemapreduce_shuffle/value
/property
/configuration式化HDFS
启动
验证jps
source /etc/profile单词计数
启动命令:
hadoop jar /usr/soft/hadoop-2.7.1/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar wordcount /input /output