学习hadoop到底是部署伪分散式还是安装丛集
学习hadoop到底是部署伪分散式还是安装丛集
学习hadoop到底是部署伪分散式还是安装丛集
先回答你标题的提问:hadoop完全分散式:3个及以上的实体机或者虚拟机器元件的机群。hadoop伪分散式:一个节点看了以上两点相信你已经明白了,“用vm多装几个unbuntu配置完全分散式,然后做实验”这是完全可行的。实际上我们通常也是这么做的,当然可能要求你的电脑cpu和记忆体足够支撑你这一计划。一点建议:如果你要开发基于Hadoop的分散式程式,伪分散式足够你实验了。如果你要做很多其他事情,比如玩玩cm,玩玩oozie,玩玩hbase,建议装多个虚拟机器。
hadoop 学习札记(伪分散式)怎么解决
1.关闭hdfs许可权:hdfs-site.xml中dfs.permissionsfalse2.检查eclipse外挂是否设定了hadoop安装目录:将与linux下安装的hadoop相同版本的hadoop解压到windows下一个资料夹,然后指定hadoop外挂目录,外挂目录在preferences的map/reduce的hadoopinstallationlocation3.在windows的hosts档案中新增hadoop所有节点的ip和主机名4.关闭linux系统防火墙5.把hadoop三个配置档案中涉及到的主机名全部改成ip地址,master和salves档案也改成ip
如何在Centos6.5下部署hadoop2.2单机伪分散式
部署步骤 序号 操作 1 配置SSH无密码登陆 2 配置环境变数JAVA(必须),MAVEN,ANT 3 配置Hadoop环境变数 4 配置core-site.xml档案 5 配置hdfs-site.xml档案 6 配置mapred-site.xml档案 7 配置yarn-site.xml档案 8 配置slaves档案 9 分发到从机上
步骤
1 解压hadoop,并配置环境变数
2 使用which hadoop命令,测试是否成功
3 配置core-site.xml
4 配置hdfs-site.xml
5 配置yarn-site.xml(非必须,使用预设也可)
6 配置mapred-site.xml
7 配置mapred-env.sh里面的JAVA路径
8 如上的配置完成后,需要新建几个资料夹,来提供HDFS的格式化底层一个是hadoop的tmp资料夹,另外的是namenode和datanode的资料夹,来分别储存各自的资讯
9 上面一切完成后,即可执行hadoop namenode -format 进行格式化
10 然后启动伪分散式丛集,执行命令sbin/start-all.sh 最后使用JPS检视JAVA程序
11 配置本机的hosts档案,对映主机名资讯
下面来详细说下,各个步骤的具体操作:
在这之前,最好配置好本机的SSH无密码登陆操作,避免hadoop程序之间通讯时,需要验证。
hadoop2.x的稳定版本,已经发布多时了,散仙一直都用的hadoop1.x的版本,最近有专案用到hadoop2.x,
所以就开始折腾hadoop2.x了,在hadoop2.x的版本里,目前最新版本已经到hadoop2.4了,但散仙在这里用的是
hadoop2.2.0的版本,为什么用它? 因为这是一个稳定的版本,所以相对来说,问题比较少。
散仙在上篇部落格,已经讲了如何在编译hadoop2.2.0的64位的版本,如果有不清楚怎么编译,可以参考散仙上篇博文,在这里就不涉及了。
下面,散仙以表格的形式描述下伪分散式安装
系统环境如下:
序号
名称
描述
1
系统环境
Centos6.5
2
JAVA环境
JDK1.7
3
Haoop版本
hadoop2.2.0
安装步骤如下:
序号
步骤
1
解压hadoop,并配置环境变数
2
使用which hadoop命令,测试是否成功
3
配置core-site.xml
4
配置hdfs-site.xml
5
配置yarn-site.xml(非必须,使用预设也可)
6
配置mapred-site.xml
7
配置mapred-env.sh里面的JAVA路径
8
如上的配置完成后,需要新建几个资料夹,来提供HDFS的格式化底层一个是hadoop的tmp资料夹,另外的是namenode和datanode的资料夹,来分别储存各自的资讯
9
上面一切完成后,即可执行hadoop namenode -format 进行格式化
10
然后启动伪分散式丛集,执行命令sbin/start-all.sh 最后使用JPS检视JAVA程序
11
配置本机的hosts档案,对映主机名资讯
下面来详细说下,各个步骤的具体操作:
在这之前,最好配置好本机的SSH无密码登陆操作,避免hadoop程序之间通讯时,需要验证。
下面是各个xml档案的配置
<!-- core-site.xml配置 -->
<configuration>
<property>
<name>fs.default.name</name>
<value>hdfs:192.168.46.28:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/root/hadoop/tmp</value>
</property>
</configuration>
<!-- hdfs-site.xml配置 -->

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/root/hadoop/nddir</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/root/hadoop/dddir</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
<!-- yarn-site.xml 不用配置,使用预设属性即可 -->
<configuration>
</configuration>
<!-- mapred-site.xml的配置 -->
<configuration>
<property>
<name>mapreduce.cluster.temp.dir</name>
<value></value>
<description>No description</description>
<final>true</final>
</property>
<property>
<name>mapreduce.cluster.local.dir</name>
<value></value>
<description>No description</description>
<final>true</final>
</property>
</configuration>
mapred-env.sh里面的配置
# Licensed to the Apache Sofare Foundation (ASF) under one or more
# contributor license agreements. See the NOTICE file distributed with
# this work for additional information regarding copyright ownership.
# The ASF licenses this file to You under the Apache License, Version 2.0
# (the "License"); you may not use this file except in pliance with
# the License. You may obtain a copy of the License at
#
# :apache./licenses/LICENSE-2.0
#
# Unless required by applicable law or agreed to in writing, sofare
# distributed under the License is distributed on an "AS IS" BASIS,
# WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
# See the License for the specific language governing permissions and
# limitations under the License.
export JAVA_HOME=/usr/local/jdk
export HADOOP_JOB_HISTORYSERVER_HEAPSIZE=1000
export HADOOP_MAPRED_ROOT_LOGGER=INFO,RFA
#export HADOOP_JOB_HISTORYSERVER_OPTS=
#export HADOOP_MAPRED_LOG_DIR="" # Where log files are stored. $HADOOP_MAPRED_HOME/logs by default.
#export HADOOP_JHS_LOGGER=INFO,RFA # Hadoop JobSummary logger.
#export HADOOP_MAPRED_PID_DIR= # The pid files are stored. /tmp by default.
#export HADOOP_MAPRED_IDENT_STRING= #A string representing this instance of hadoop. $USER by default
#export HADOOP_MAPRED_NICENESS= #The scheduling priority for daemons. Defaults to 0.
然后,建对应的几个资料夹即可,路径都在hadoop2.2的根目录下即可,
然后执行格式化命令bin/hadoop namenode -format即可;
最后使用jps命令,检视程序,如果有以下几个程序名称,就代表部署伪分散式成功
4887 NodeManager
4796 ResourceManager
4661 SecondaryNameNode
4524 DataNode
4418 NameNode
6122 Jps
然后,访问介面埠,注意与之前的配置档案里一致,namenode的埠号仍为50070,原来1.x的50030埠,已经没有了,可以访问8088的yarn的埠,来检视,具体的截图如下:
OK,此时,我们已经成功的完成伪分散式的部署,下一步我们要做的,就是跑一个经典的MR程式Hellow World,来测试我们的丛集了。