Hadoop集群搭建
来源:互联网 发布:网站源码小偷程序 编辑:程序博客网 时间:2024/06/18 12:02
今天我在自己的机器上,通过多个虚拟机系统,来搭建hadoop伪集群环境。
一、下面就先来说一下搭建hadoop集群环境所需要做的准备工作:
首先,我用的是VMware Workstation11,
所使用的虚拟机系统为ubuntukylin-15.04-desktop-amd64系统,
然后用到的是 jdk-7u79-linux-x64
hadoop所使用的版本为:hadoop-2.6.0
接下来就说说步骤。
1. 创建hadoop用户。
设置root用户密码:sudo passwd root 以后的操作会需要到root用户的权限。
创建hadoop用户组:sudo addgroup hadoop
创建hadoop用户: sudo adduser -ingroup hadoop hadoop
为hadoop用户分配root权限:sudo gedit /etc/sudoers
在root ALL=(ALL:ALL) ALL下面添加hadoop ALL=(ALL:ALL) ALL,如图
2. 修改机器名。
打开/etc/hostname文件:sudo gedit /etc/hostname
修改里面的原来的名字,改为master。
3. 安装jdk
将已经下载的jdk-7u79-linux-x64.tar.gz复制到ubuntu上。
拷贝到/usr/local路径:
解压:cd /usr/local进入到jdk压缩包所在路径;解压缩sudo tar -zxvfjdk-7u79-linux-x64.tar.gz,回车出现量的压缩信息,压缩完之后查看该目录下的文件,会发现多了个文件夹,如图
设置环境变量
打开/etc/profile文件,将以下内容拷贝进去。
# set java environment
export JAVA_HOME=/usr/local/jdk1.7.0_79
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
然后通过source 命令立即使profile生效。
接下来就测试jdk 是否安装成功。输入 java -version
这时,jdk 就配置成功了。
4. 安装SSH服务
sudoapt-get install ssh openssh-server
5. ssh免密码连接
创建ssh-key,这里采用ras的方式,
ssh-keygen -t
然后将密钥保存至authorized_keys中
cat .ssh/id_rsa.pub >> .ssh/authorized_keys
再查看密钥. cat .ssh/authorized_keys,如图
将master节点上生成的key复制到slave节点上
sudo scp ~/.ssh/id_rsa.pubhadoop@slave-xx:~/.ssh/
在slave节点上将master节点生成的id_rsa.pub追加到authorized_keys授权文件中
cat
~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
追加后,在
master
节点上通过
ssh slave-1
命令连接一下
slave
节点测试是否可以无密码登陆,如图
二、集群配置
1. 与安装jdk的步骤一样,将hadoop-2.6.0.tar.gz移动到/usr/local下,解压后在/usr/local目录下多一个文件夹,如图
2. 将hadoop文件的权限添加给hadoop组的hadoop用户
sudo chown -R hadoop:hadoop hadoop
3. 设置linux系统的hadoop环境变量,将以下内容复制进/etc/proflie文件中
# set hadoop environment
exportHADOOP_HOME=/usr/local/hadoop
# set PATH
export PATH=$PATH:$HADOOP_HOME/bin
如图
4. 修改/etc/hosts文件,打开/etc/hosts文件,将各个节点的机器名与IP对应,如图
5. 配置/conf/hadoop-env.sh文件,指定其中的jdk路径,如图
6 .配置core-site.xml文件,每个人配置的路径都不一样,在找这个文件的时候多用ls -l命令看看,一般情况下都会在你解压的hadoop文件夹下面的 etc/hadoop里面。
<property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value></property><property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description></property>7. 配置hdfs-site.xml文件,打开hdfs-site.xml文件,配置如下
<property> <name>dfs.namenode.secondary.http-address</name> <value>Master:50090</value></property><property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value></property><property> <name>dfs.replication</name> <value>1</value></property>8. 配置mapred-site.xml文件,这个可配可不配,主要是map/reduce的配置,如下,当然这个文件一开始是没有的,需要我们先执行以下命令
cp mapred-site.xml.template mapred-site.xml 之后我们再进行配置文件。修改配置如下
<property> <name>mapreduce.framework.name</name> <value>yarn</value></property>9. 然而在hadoop-2.6.0版本下,我们还需要配置一个文件, 文件
yarn-site.xml
:<property> <name>yarn.resourcemanager.hostname</name> <value>Master</value></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>10. 当然最后不可忽视的一个配置就是在slaves下面需要配置,之前在网上搜了好多资料,它们都说要在master里面配置。然而,他们也没有说是配置的那个版本的hadoop,而那个master文件在hadoop-2.6.0版本中已经不存在了,所以我们只需要对slaves进行如下配置就ok了:
masterslave01slave02#这里是你的从机号 slavexx配置好后,将 Master 上的 Hadoop 文件复制到各个节点上(虽然直接采用 scp 复制也可以正确运行,但会有所不同,如符号链接 scp 过去后就有点不一样了。所以先打包再复制比较稳妥)。因为之前有跑过伪分布式模式,建议在切换到集群模式前先删除之前的临时文件。
在slave01上执行:
切换 Hadoop 的模式,不管是从集群切换到伪分布式,还是从伪分布式切换到集群,如果遇到无法正常启动的情况,可以删除所涉及节点的临时文件夹,这样虽然之前的数据会被删掉,但能保证集群正确启动。或者可以为集群模式和伪分布式模式设置不同的临时文件夹(未验证)。所以如果集群以前能启动,但后来启动不了,特别是 DataNode 无法启动,不妨试着删除所有节点(包括 Slave 节点)上的 tmp 文件夹,重新执行一次 hadoop-2.6.0/bin/hdfs namenode -format,再次启动试试。
然后再master 机器上使用hadoop用户,执行以下命令
操作完之后,再执行jps命令查看,如图
另外也可以在Master节点上通过命令bin/hdfs dfsadmin -report查看DataNode是否正常启动。例如我这边一共有1个Datanodes。如图
看到这里,那么恭喜你已经配置hadoop-2.6.0成功了。当然,通过在浏览器器中输入http://master:50070/ ,看到如下,就说明配置成功了。
- hadoop集群搭建(hadoop)
- HADOOP: 搭建hadoop集群
- hadoop集群搭建
- Hadoop集群的搭建
- Hadoop集群搭建
- Hadoop集群搭建
- 搭建hadoop集群
- Nutch+Hadoop集群搭建
- Hadoop集群搭建
- Hadoop集群搭建
- Hadoop环境搭建-集群
- 搭建hadoop集群
- 搭建hadoop集群
- Hadoop集群搭建
- Nutch+Hadoop集群搭建
- 如何搭建hadoop集群
- hadoop分布式集群搭建
- Hadoop集群搭建
- 数据结构实验:连通分量个数
- 杭电ACM1074——Doing Homework~~状态压缩DP
- Android动画详解之第一话:帧动画(Frame动画)
- AndroidManifest.xml
- ALV OO: 最简单的ALV OO实例-自定义容器
- Hadoop集群搭建
- android 把文件传到/system/framework目录下
- OC协议创建的步骤以及设置新代理人的步骤
- POJ 3258Cross The Rive
- java基础之方法的多态
- Block
- HDU 2546 饭卡
- DirectFB常用接口
- 线段树_FZU_1921