- 浏览: 1068071 次
- 性别:
- 来自: 北京
文章分类
- 全部博客 (345)
- Zookeeper (11)
- Hadoop (20)
- Concurrency (0)
- Linux (10)
- 语言入门 (1)
- Maven (10)
- Python (0)
- Lua (1)
- MongoDB (13)
- JSON (8)
- Gson (8)
- css (1)
- Velocity (5)
- Thrift (2)
- Struts2 (6)
- httpclient (1)
- 语言基础 (7)
- Java (12)
- Hessian (4)
- RPC (6)
- Burlap (1)
- HttpInvoker (1)
- ORM (8)
- MyBatis3 (8)
- Spring (3)
- Nginx (6)
- Log4j (2)
- EhCache (3)
- Cache (3)
- Quartz (0)
- Resin (1)
- JVM (9)
- 多线程 (2)
- 架构 (2)
- 备忘 (1)
- 分布式 (5)
- ElasticSearch (1)
- Redis (5)
- Memcached (2)
- Hive (19)
- Sqool (0)
- Storm (2)
- Pig (1)
- Sqoop (1)
- Scala (19)
- Spark (109)
- Kafka (14)
- Spark,Hadoop (1)
- Flume (3)
- Akka (1)
- Mysql (1)
- HBase (13)
- Avro (4)
- Parquet (2)
- 日志分析 (1)
- Mahout (3)
- WSO2 (0)
- 111 (1)
最新评论
-
jchubby:
关于第一个reduceByKey对应的cache,shuffl ...
【Spark三十七】Spark Cache机制 -
bo_hai:
看了你的文章,updateStateByKey 这个方式的使用 ...
【Spark八十八】Spark Streaming累加器操作(updateStateByKey) -
bo_hai:
棒极啦,解决了我的问题。
【Spark七十二】Spark的日志配置 -
tivan:
你好,这个代码生成主要在,那个地方使用。
【Spark105】Spark SQL动态代码生成一 -
zxsz4085:
看楼主这么厉害的样子,请问楼主如何知道类库的版本呢?比如g++ ...
【Thrift一】Thrift编译安装
结合网上多份文档,不断反复的修正hadoop启动和运行过程中出现的问题,终于把Hadoop2.5.2伪分布式安装起来,跑通了wordcount例子。Hadoop的安装复杂性的体现之一是,Hadoop的安装文档非常多,但是能一个文档走下来的少之又少,尤其是Hadoop不同版本的配置差异非常的大。Hadoop2.5.2于前两天发布,但是它的配置跟2.5.0,2.5.1没有分别。
系统环境: Ubuntu 12.04 LTS x86_32
一、创建用户组和用户
- 创建用户组,为系统添加一个用户组hadoop
sudo addgroup hadoop
- 创建用户,为系统添加一个用户hadoop
useradd -g hadoop hadoop
- 使用hadoop用户登陆
su hadoop
二、使用SSH免密码登录
- 执行如下命令,生成ssh的密钥,创建的key的路径是/home/hadoop/.ssh/id_rsa
ssh-keygen -t rsa -P ""
- 将 /home/hadoop/.ssh/id_rsa.pub中的内容追加到/home/hadoop/.ssh/authorized_keys中,保存
- 执行ssh localhost,验证无密码即可登陆
三、禁用IPv6
- 执行如下命令查看当前IPv6是否禁用,1表示禁用,0表示未禁用,默认是0
cat /proc/sys/net/ipv6/conf/all/disable_ipv6
- 编辑如下文件,添加三行,禁用IPv6
sudo vim /etc/sysctl.conf
net.ipv6.conf.all.disable_ipv6 = 1 net.ipv6.conf.default.disable_ipv6 = 1 net.ipv6.conf.lo.disable_ipv6 = 1
- 重启机器,再次查看IPv6是否禁用
四、安装配置JDK
- 编辑/etc/profile文件,设置JAVA相关的系统变量
export JAVA_HOME=/software/devsoftware/jdk1.7.0_55 export PATH=$JAVA_HOME/bin:$PATH
五、安装配置Hadoop2.5.2
- 编辑/etc/profile文件,设置Hadoop相关的系统变量
export HADOOP_HOME=/home/hadoop/hadoop-2.5.2 export PATH=$HADOOP_HOME/bin:$PATH
- 执行如下使上面配置的系统变量生效
source /etc/profile
- 将JDK设置到Hadoop的环境脚本/home/hadoop/hadoop-2.5.2/etc/hadoop/hadoop-env.sh中,追加一行
export JAVA_HOME=/software/devsoftware/jdk1.7.0_55
六、Hadoop2.5.2配置文件设置
Hadoop2.5.2有四个配置文件需要配置,它们都位于/home/hadoop/hadoop-2.5.2/etc/hadoop目录下。四个文件分别是
- core-site.xml
- yarn-site.xml
- mapred-site.xml
- hdfs-site.xml
这写配置文件中有些需要手工创建目录,有些需要根据系统的实际情况,设置hostname,hostname不能是IP或者localhost,需要在/etc/hosts中进行设置。需要补充一点,有几个文档指出,127.0.0.1最好只跟一个hostname(即Hadoop用到的)绑定,把其余的注释掉。这个究竟是否产生影响,没有测,只是按照网上的说法,只保留一个hostname
6.1 core-site.xml配置
<configuration> <property> <name>hadoop.tmp.dir</name> <!--目录必须手动创建出来--> <value>/home/hadoop/data/tmp</value> <description>A base for other temporary directories.</description> </property> <!--file system properties--> <property> <name>fs.defaultFS</name> <!--HDFS的服务地址,只能使用域名,不能设置为IP或者localhost--> <value>hdfs://hostname:9000</value> </property> <property> <!--使用Hadoop自带的so库--> <name>hadoop.native.lib</name> <value>true</value> <description>Should native hadoop libraries, if present, be used.</description> </property> </configuration>
6.2 mapred-site.xml配置
mapred-site.xml文件默认不存在,使用cp命令从mapred-site.xml.template拷贝一份
cp mapred-site.xml.template mapred-site.xml
做如下设置,
<configuration> <property> <name>mapreduce.framework.name</name> <!--yarn全是小写,不是Yarn--> <value>yarn</value> </property> </configuration>
6.3 yarn-site.xml配置
<configuration> <!-- Site specific YARN configuration properties --> <property> <!--yarn是小写,或许大些Y也可以--> <name>yarn.nodemanager.aux-services</name> <!--不是mapreduce.shuffle--> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <description>The address of the applications manager interface in the RM.</description> <name>Yarn.resourcemanager.address</name> <!--根据实际情况,设置hostname域名--> <value>hostname:18040</value> </property> <property> <description>The address of the scheduler interface.</description> <name>Yarn.resourcemanager.scheduler.address</name> <!--根据实际情况,设置hostname域名--> <value>hostname:18030</value> </property> <property> <description>The address of the RM web application.</description> <name>Yarn.resourcemanager.webapp.address</name> <!--根据实际情况,设置hostname域名--> <value>hostname:18088</value> </property> <property> <description>The address of the resource tracker interface.</description> <name>Yarn.resourcemanager.resource-tracker.address</name> <!--根据实际情况,设置hostname域名--> <value>hostname:8025</value> </property> </configuration>
6.4 hdfs-site.xml 配置
<configuration> <property> <name>dfs.namenode.name.dir</name> <!--手工创建好--> <value>/home/hadoop/data/hdfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <!--手工创建好--> <value>/home/hadoop/data/hdfs/data</value> </property> <property> <!--HDFS文件复本数--> <name>dfs.replication</name> <value>1</value> </property> </configuration>
七、Hadoop初始化并启动
- 格式化Hadoop NameNode
hadoop namenode -format
观察日志,如果有输出中包括Storage directory /home/hadoop/data/hdfs/name has been successfully formatted,则表示格式化成功
- 启动Hadoop
/home/hadoop/hadoop-2.5.2/sbin/start-all.sh
- 使用JDK的jps检查Hadoop状态,如果是如下结果,则表示安装成功
10682 DataNode 10463 NameNode 11229 ResourceManager 24647 Jps 11040 SecondaryNameNode 11455 NodeManager
- 使用netstat -anp|grep java观察Hadoop端口号使用情况
tcp 0 0 0.0.0.0:8042 0.0.0.0:* LISTEN 11455/java tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 11040/java tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 10463/java tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 11229/java tcp 0 0 0.0.0.0:34456 0.0.0.0:* LISTEN 11455/java tcp 0 0 0.0.0.0:13562 0.0.0.0:* LISTEN 11455/java tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 10682/java tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 10682/java tcp 0 0 0.0.0.0:8030 0.0.0.0:* LISTEN 11229/java tcp 0 0 0.0.0.0:8031 0.0.0.0:* LISTEN 11229/java tcp 0 0 0.0.0.0:8032 0.0.0.0:* LISTEN 11229/java tcp 0 0 0.0.0.0:8033 0.0.0.0:* LISTEN 11229/java tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 10682/java tcp 0 0 0.0.0.0:8040 0.0.0.0:* LISTEN 11455/java
- 浏览NameNode、DataNode信息,可以查看HDFS状态信息
http://hostname:50070
- 浏览ResourceManagered运行状态,可以浏览MapReduce任务的执行情况
http://hostname:8088
八、运行Hadoop自带的WordCount实例
- 创建本地文件用于计算这个文件中的单词数
echo "My first hadoop example. Hello Hadoop in input. " > /home/hadoop/input
- 创建HDFS输入目录,用于将上面的文件写入这个目录
hadoop fs -mkdir /user/hadooper
- 传文件到HDFS输入目录
hadoop fs -put /home/hadoop/input /user/hadooper
- 执行Hadoop自带的WordCount例子
hadoop jar /home/hadoop/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount /user/hadooper/input /user/hadooper/output
- MapReduce的过程输出
hadoop@hostname:~/hadoop-2.5.2/share/hadoop/mapreduce$ hadoop jar /home/hadoop/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar wordcount /user/hadooper/input /user/hadooper/output 14/11/23 19:45:04 INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:8032 14/11/23 19:45:05 INFO input.FileInputFormat: Total input paths to process : 1 14/11/23 19:45:05 INFO mapreduce.JobSubmitter: number of splits:1 14/11/23 19:45:06 INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1416742510596_0001 14/11/23 19:45:06 INFO impl.YarnClientImpl: Submitted application application_1416742510596_0001 14/11/23 19:45:07 INFO mapreduce.Job: The url to track the job: http://hostname:8088/proxy/application_1416742510596_0001/ 14/11/23 19:45:07 INFO mapreduce.Job: Running job: job_1416742510596_0001 14/11/23 19:45:18 INFO mapreduce.Job: Job job_1416742510596_0001 running in uber mode : false 14/11/23 19:45:18 INFO mapreduce.Job: map 0% reduce 0% 14/11/23 19:45:26 INFO mapreduce.Job: map 100% reduce 0% 14/11/23 19:45:36 INFO mapreduce.Job: map 100% reduce 100% 14/11/23 19:45:37 INFO mapreduce.Job: Job job_1416742510596_0001 completed successfully 14/11/23 19:45:37 INFO mapreduce.Job: Counters: 49 File System Counters FILE: Number of bytes read=102 FILE: Number of bytes written=195793 FILE: Number of read operations=0 FILE: Number of large read operations=0 FILE: Number of write operations=0 HDFS: Number of bytes read=168 HDFS: Number of bytes written=64 HDFS: Number of read operations=6 HDFS: Number of large read operations=0 HDFS: Number of write operations=2 Job Counters Launched map tasks=1 Launched reduce tasks=1 Data-local map tasks=1 Total time spent by all maps in occupied slots (ms)=5994 Total time spent by all reduces in occupied slots (ms)=6925 Total time spent by all map tasks (ms)=5994 Total time spent by all reduce tasks (ms)=6925 Total vcore-seconds taken by all map tasks=5994 Total vcore-seconds taken by all reduce tasks=6925 Total megabyte-seconds taken by all map tasks=6137856 Total megabyte-seconds taken by all reduce tasks=7091200 Map-Reduce Framework Map input records=1 Map output records=8 Map output bytes=80 Map output materialized bytes=102 Input split bytes=119 Combine input records=8 Combine output records=8 Reduce input groups=8 Reduce shuffle bytes=102 Reduce input records=8 Reduce output records=8 Spilled Records=16 Shuffled Maps =1 Failed Shuffles=0 Merged Map outputs=1 GC time elapsed (ms)=101 CPU time spent (ms)=2640 Physical memory (bytes) snapshot=422895616 Virtual memory (bytes) snapshot=2055233536 Total committed heap usage (bytes)=308281344 Shuffle Errors BAD_ID=0 CONNECTION=0 IO_ERROR=0 WRONG_LENGTH=0 WRONG_MAP=0 WRONG_REDUCE=0 File Input Format Counters Bytes Read=49 File Output Format Counters Bytes Written=64
- 查看MapReduce的运行结果
hadoop@hostname:~/hadoop-2.5.2/share/hadoop/mapreduce$ hadoop fs -cat /user/hadooper/output/part-r-00000 Hadoop 1 Hello 1 My 1 example. 1 first 1 hadoop 1 in 1 input. 1
九、运行Hadoop的PI程序
hadoop jar /home/hadoop/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar pi 10 10
执行结果是3.200000000000000000
十、Hadoop常见问题
1. hadoop不正常推出后,重启后,NameNode将进入Safe Mode,不能提交任务,解决办法:
hadoop dfsadmin -safemode leave
发表评论
-
【Hadoop二十一】Hadoop ProxyUser
2016-06-08 10:49 5137关于Hadoop ProxyUser的出现动机,参看 ht ... -
【Hadoop二十】WebHDFS
2016-06-08 10:32 812访问地址是 http://hadoop.bit.co ... -
【Hadoop十九】HDFS权限设置
2016-06-08 08:47 61571. hdfs权限检查启用,需要在hdfs-site.x ... -
【Hadoop十七】HDFS HA配置
2015-06-13 15:53 2137基于Zookeeper的HDFS HA配置主要涉及两个文件 ... -
【Hadoop十六】Capacity Scheduler
2015-06-13 13:14 1606在Hadoop2.5.2中,默认的资源调度器默认使用的算法 ... -
【Hadoop十五】Hadoop Counter
2015-05-30 16:49 17871. 只有Map任务的Map Reduce Job ... -
【Hadoop十四】Hadoop提供的脚本的功能
2015-05-09 15:13 13111. hadoop-daemon.sh 1.1 启动HD ... -
【Hadoop十三】HDFS Java API基本操作
2015-04-24 14:38 2756package com.examples.hadoo ... -
【Hadoop十二】HDFS常用命令
2015-04-23 14:45 9901. 修改日志文件查看器 hdfs oev -i ... -
【Hadoop十一】Hadoop MapReduce读写Redis
2015-03-17 18:28 2501http://blog.pivotal.io/pivo ... -
【Hadoop十】HDFS读写流程
2015-03-09 18:57 1520HDFS读流程 读流程详细步骤: HDFS客户 ... -
【Hadoop八】Yarn的资源调度策略
2015-03-07 16:04 20731. Hadoop的三种调度策略 Hadoop提供了3中 ... -
【Hadoop七】基于Yarn的Hadoop Map Reduce容错
2015-03-07 14:37 3370运行于Yarn的Map Reduce作业,可能发生失败的点 ... -
【Hadoop六】基于Yarn的Hadoop Map Reduce工作流程
2015-02-16 23:13 30801. 全分布式Hadoop启动和停止时,进程的启停顺序 ... -
【Spark四十七】Hadoop Map Shuffle Reduce的过程
2015-02-07 00:56 3396深入Spark Shuffle之前,首先总结下Hadoop ... -
【Hadoop五】Word Count实例结果分析
2014-12-15 22:47 1805如下是运行Word Count的结果,输入了两个小文件,从 ... -
【Hadoop四】Centos7_x86_64部署Hadoop集群之部署Hadoop集群
2014-12-09 16:32 1094虚机环境配置 目前只有一台虚拟机,设置IP为192. ... -
【Hadoop三】Centos7_x86_64部署Hadoop集群之编译Hadoop源代码
2014-12-02 13:18 1763编译必需的软件 Firebugs3.0.0 Mav ... -
【Hadoop二】Hadoop常用命令
2014-11-29 10:10 939以Hadoop运行Hadoop自带的wordcount为例 ...
相关推荐
hadoop2.9 伪集群安装部署 分析 打通免密登录 Zookeeper 集群搭建 Hadoop 伪集群搭建
Hadoop伪分布式集群环境搭建,有常见错误及解决方案。
通过以上步骤,开发者就可以在本地搭建一个功能完备的Hadoop伪集群环境,并通过Eclipse插件便捷地进行Hadoop程序的编写、调试与运行了。这样的环境非常适合学习和开发Hadoop应用程序,帮助开发者在部署到实际生产...
YARN是HADOOP的资源管理器,负责管理HADOOP集群中计算资源的分配。 1.2 HADOOP产生背景 HADOOP的产生背景是大数据时代的到来,随着数据量的急剧增长,传统的数据处理方式无法满足需求,HADOOP的出现解决了这个问题...
在实际应用中,Hadoop通常运行在由多台服务器组成的集群环境中,但为了方便学习和测试,可以搭建一个伪分布式集群(Pseudo Distributed Cluster)。伪分布式集群是指所有Hadoop守护进程都在同一台机器上运行,每个...
在搭建Hadoop伪分布式集群的过程中,首先需要在Linux环境下配置VMware的NAT网络,确保虚拟机能够稳定地运行和通信。NAT网络允许虚拟机通过宿主机与外部网络进行通信,同时保持IP地址的固定性。具体操作包括取消DHCP...
3. 安装和配置Eclipse IDE:搭建一个Java开发环境,进行Hadoop应用的开发。 4. 下载并安装Hadoop:获取Hadoop安装包,并按官方文档指示完成安装配置。 5. 配置Hadoop单机模式:修改Hadoop配置文件,让Hadoop运行在...
"hadoop集群环境的搭建" Hadoop 是一个开源的大数据处理框架,由Apache基金会开发和维护。它可以实现大规模数据的存储和处理,具有高可扩展性、可靠性和高性能等特点。搭建 Hadoop 集群环境是实现大数据处理的重要...
详细介绍了单机搭建hadoop伪集群的全部步骤,希望对大家有帮助
Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和Spark多节点集群搭建Hadoop和...
综上所述,这个压缩包提供了全面的Hadoop集群搭建教程,涵盖了从基础环境准备、服务器配置、Hadoop安装、SSH和FTP服务的设置,到集群管理和维护等多个环节。对于想要学习和实践Hadoop大数据处理的人来说,这是一个...
例如,在本文中,我们将搭建一个3节点的Hadoop集群,其中三台主机均部署DataNode和NodeManager服务,但只有hadoop001上部署NameNode和ResourceManager服务。 前置条件 Hadoop的运行依赖JDK,因此需要预先安装JDK。...
Hadoop HA高可用集群搭建(Hadoop+Zookeeper+HBase) 一、Hadoop HA高可用集群...通过规划服务器环境、选择合适的版本组合、安装和配置Zookeeper、Hadoop和HBase三个组件,可以搭建一个高效的Hadoop HA高可用集群。
练习搭建伪分布Hadoop3.X集群,只用于刚刚开始学习搭建hadoo伪分布式集群的人群,帮助大家快速搭建Hadoop3.X伪分布式集群,快速入门大数据为日后的学习打下坚实的基础
在大数据领域,Hadoop是一个广泛使用的开源框架,用于存储和处理海量数据。本文将详细讲解如何搭建一个...这个超详细的教程覆盖了从零开始到集群搭建完成的全过程,按照步骤执行,可以轻松掌握Hadoop集群搭建技术。
本文将详细介绍 Hadoop 集群搭建的步骤,从伪分布式到克隆并将其成功转化为集群搭建。我们将从 Hadoop 伪分布式搭建过程开始,然后将一台机器克隆 2 台机器,最后将这三台伪分布式改装成集群。 一、Hadoop 伪分布式...
### 基于Hadoop集群搭建HBase集群详解 #### 一、引言 随着大数据技术的迅猛发展,海量数据的高效存储与处理成为企业关注的重点。Hadoop作为一款能够处理大量数据的基础框架,被广泛应用于各类场景之中。然而,在...