CDH版本hadoop2.6伪分布式安装
1、基础环境配置
| 主机名 | IP地址 | 角色 | Hadoop用户 |
|---|---|---|---|
| centos05 | 192.168.48.105 |
NameNode、ResourceManager、SecondaryNameNode、 DataNode、NodeManager |
hadoop |
1.1、关闭防火墙和SELinux
1.1.1、关闭防火墙
略
1.1.2、关闭SELinux
略
注:以上操作需要使用root用户
1.2、hosts配置
| [root@centos05 ~]# vim/etc/hosts
| ##hadoop host####
| 192.168.48.105 centos05
| [root@centos05 ~]# vim /etc/sysconfig//network 3 | HOSTNAME=centos05
注:以上操作需要使用root用户,通过ping 主机名可以返回对应的IP即可
1.3、创建主机账号及配置无密码访问
新建用户,建议用adduser命令
sudo adduser hadoop
passwd hadoop 输入密码后一直按回车即可,最后输入y确定。
在创建hadoop用户的同时也创建了hadoop用户组,下面我们把hadoop用户加入到hadoop用户组
输入
sudo usermod -a -G hadoop hadoop 前面一个hadoop是组名,后面一个hadoop是用户名。完成后输入一下命令查询结果。
cat /etc/group 然后再把hadoop用户赋予root权限,让他可以使用sudo命令
切换到可以root的用户输入
sudo gedit /etc/sudoers
sudo vi /etc/sudoers
在图形界面可以用第一个命令,是ubuntu自带的一个文字编辑器,终端命令界面使用第二个命令。有关vi编辑器的使用自行百度。 修改文件如下:
# User privilege specification
root ALL=(ALL) ALL
hadoop ALL=(ALL) ALL
保存退出,hadoop用户就拥有了root权限
生成私钥和公钥
ssh-keygen -t rsa
拷贝公钥到主机(需要输入密码)
ssh-copy-id hadoop@hadoop
注:以上操作需要在hadoop用户,通过hadoop用户ssh到本机主机不需要密码即可
1.4、Java环境配置
1.4.1、下载JDK
略
1.4.2、安装java
略
2、安装hadoop
2.1、下载安装CDH版本的hadoop
下载链接:http://archive-primary.cloudera.com/cdh5/cdh/5/
2.2、安装配置hadoop
hadoop的安装配置使用hadoop用户操作;
- 创建目录,用于存放hadoop数据;
[hadoop@centos05 ~]$ mkdir -p /home/hadoop/app/hadoop/hdfs/{name,data}
2.2.1、配置core-site.xml
[hadoop@centos05 ~]$vim /opt/hadoop/hadoop-2.6./etc/hadoop/core-site.xml <configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://localhost:</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/opt/hadoop/tmp</value>
</property>
</configuration>
2.2.2、配置hdfs-site.xml
[hadoop@centos05 hadoop]$ vim /opt/hadoop/hadoop-2.6./etc/hadoop/hdfs-site.xml <configuration>
<property>
<name>dfs.replication</name>
<value></value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/opt/hadoop/hdfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/opt/hadoop/hdfs/data</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
2.2.3、配置mapred-site.xml
[hadoop@centos05 hadoop]$cd /opt/hadoop/hadoop-2.6./etc/hadoop [hadoop@centos05 hadoop]$cp mapred-site.xml.template mapred-site.xml [hadoop@centos05 hadoop]$vim /opt/hadoop/hadoop-2.6./etc/hadoop/mapred-site.xml <configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
2.2.4、配置yarn-site.xml
[hadoop@centos05 hadoop]$ vim /opt/hadoop/hadoop-2.6./etc/hadoop/yarn-site.xml <configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
2.2.5、配置slaves
[hadoop@centos05 hadoop]$ vim /opt/hadoop/hadoop-2.6./etc/hadoop/slaves centos05
2.2.6、配置hadoop-env
修改hadoop-env.sh文件的JAVA_HOME环境变量,操作如下:
[hadoop@centos05 hadoop]$ vim /opt/hadoop/hadoop-2.6./etc/hadoop/hadoop-env.sh export JAVA_HOME=/opt/java/jdk1..0_191
2.2.7、配置yarn-env
修改yarn-env.sh文件的JAVA_HOME环境变量,操作如下:
[hadoop@centos05 hadoop]$ vim /opt/hadoop/hadoop-2.6./etc/hadoop/hadoop-env.sh export JAVA_HOME=/opt/java/jdk1..0_191
2.2.8、配置mapred-env
修改mapred-env.sh文件的JAVA_HOME环境变量,操作如下:
[hadoop@centos05 hadoop]$ vim /opt/hadoop/hadoop-2.6./etc/hadoop/hadoop-env.sh export JAVA_HOME=/opt/java/jdk1..0_191
2.2.9、配置HADOOP_PREFIX
配置HADOOP主机用户环境变量:
[hadoop@centos05 ~]$ vim .bash_profile ####HADOOP_PREFIX####
export HADOOP_PREFIX=/opt/hadoop/hadoop-2.6.
export PATH=$PATH:$HADOOP_PREFIX/bin:$HADOOP_PREFIX/sbin
启用环境变量
[hadoop@centos05 ~]$ source .bash_profile
注:通过echo $HADOOP_PREFIX命令返回hadoop的安装目录
3、启动hadoop伪分布式
3.1、启动hdfs和yarn
格式化hdfs
[hadoop@centos05 ~]$ hdfs namenode -format
启动dfs
启动yarn
[hadoop@centos05 ~]$ start-dfs.sh [hadoop@centos05 ~]$ start-yarn.sh
- 查看启动的进程
[hadoop@centos05 ~]$ jps
DataNode
ResourceManager
SecondaryNameNode
Jps
NodeManager
NameNode注:关闭dfs命令为:
stop-dfs.sh stop-yarn.sh
3.3、启动集群
hdfs和yarn的启动可以使用一条命令执行:
启动:start-all.sh
关闭: stop-all.sh
启动后的所有进程:
[hadoop@centos05 ~]$ start-all.sh
This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh
Starting namenodes on [centos05]
centos05: starting namenode, logging to /opt/hadoop/hadoop-2.6./logs/hadoop-hadoop-namenode-centos05.out
centos05: starting datanode, logging to /opt/hadoop/hadoop-2.6./logs/hadoop-hadoop-datanode-centos05.out
Starting secondary namenodes [0.0.0.0]
0.0.0.0: starting secondarynamenode, logging to
/opt/hadoop/hadoop-2.6./logs/hadoop-hadoop-secondarynamenode-centos05.out
starting yarn daemons
starting resourcemanager, logging to /opt/hadoop/hadoop-2.6./logs/yarn-hadoop-resourcemanager-centos05.out
centos05: starting nodemanager, logging to /opt/hadoop/hadoop-2.6./logs/yarn-hadoop-nodemanager-centos05.out
[hadoop@centos05 ~]$
启动后的所有进程:
[hadoop@centos05 ~]$ jps
NodeManager
Jps
NameNode
ResourceManager
SecondaryNameNode
DataNode
- YARN管理界面:http://192.168.48.105:8088
- HDFS管理界面:http://192.168.48.105:50070
4、hdfs的shell操作和Wordcount演示
4.1、简单的hdfs shell操作
创建目录
[hadoop@centos05 ~]$ hadoop fs -mkdir /input_test
$ hadoop fs -mkdir /output_test查看目录
[hadoop@centos05 ~]$ hadoop fs -ls /
Found items
drwxr-xr-x - hadoop supergroup -- : /input_test
drwxr-xr-x - hadoop supergroup -- : /output_test
drwx------ - hadoop supergroup -- : /tmp上传文件
[hadoop@centos05 /]$ hadoop fs -put /opt/hadoop/hadoop-2.6./share/doc/index.html /input_test
- 查看上传文件
[hadoop@centos05 /]$ hadoop fs -ls /input_test/index.html
-rw-r--r-- hadoop supergroup -- : /input_test/index.html
- 查看文本文件内容
[hadoop@centos05 /]$ hadoop fs -cat /input_test/index.html
4.2、Wordcount
将HDFS上/input_text/index.html 使用hadoop内置Wordcount的jar包统计文档的Wordcount
启动测试
[hadoop@centos05 /]$ hadoop jar /opt/hadoop/hadoop-2.6./share/hadoop/mapreduce/
hadoop-mapreduce-examples-2.6.-cdh5.15.1.jar wordcount
/input_test/index.html /output_test/runcount
// :: INFO client.RMProxy: Connecting to ResourceManager at /0.0.0.0:
// :: INFO input.FileInputFormat: Total input paths to process :
// :: INFO mapreduce.JobSubmitter: number of splits:
// :: INFO mapreduce.JobSubmitter: Submitting tokens for job: job_1543369969234_0002
// :: INFO impl.YarnClientImpl: Submitted application application_1543369969234_0002
// :: INFO mapreduce.Job: The url to track the job:
http://centos05:/proxy/application_1543369969234_0002/
// :: INFO mapreduce.Job: Running job: job_1543369969234_0002
// :: INFO mapreduce.Job: Job job_1543369969234_0002 running in uber mode : false
// :: INFO mapreduce.Job: map % reduce %
// :: INFO mapreduce.Job: map % reduce %
// :: INFO mapreduce.Job: map % reduce %
// :: INFO mapreduce.Job: Job job_1543369969234_0002 completed successfully
// :: INFO mapreduce.Job: Counters:
File System Counters
FILE: Number of bytes read=
FILE: Number of bytes written=
FILE: Number of read operations=
FILE: Number of large read operations=
FILE: Number of write operations=
HDFS: Number of bytes read=
HDFS: Number of bytes written=
HDFS: Number of read operations=
HDFS: Number of large read operations=
HDFS: Number of write operations=
Job Counters
Launched map tasks=
Launched reduce tasks=
Data-local map tasks=
Total time spent by all maps in occupied slots (ms)=
Total time spent by all reduces in occupied slots (ms)=
Total time spent by all map tasks (ms)=
Total time spent by all reduce tasks (ms)=
Total vcore-milliseconds taken by all map tasks=
Total vcore-milliseconds taken by all reduce tasks=
Total megabyte-milliseconds taken by all map tasks=
Total megabyte-milliseconds taken by all reduce tasks=
Map-Reduce Framework
Map input records=
Map output records=
Map output bytes=
Map output materialized bytes=
Input split bytes=
Combine input records=
Combine output records=
Reduce input groups=
Reduce shuffle bytes=
Reduce input records=
Reduce output records=
Spilled Records=
Shuffled Maps =
Failed Shuffles=
Merged Map outputs=
GC time elapsed (ms)=
CPU time spent (ms)=
Physical memory (bytes) snapshot=
Virtual memory (bytes) snapshot=
Total committed heap usage (bytes)=
Shuffle Errors
BAD_ID=
CONNECTION=
IO_ERROR=
WRONG_LENGTH=
WRONG_MAP=
WRONG_REDUCE=
File Input Format Counters
Bytes Read=
File Output Format Counters
Bytes Written=
[hadoop@centos05 /]$- 查看结果
[hadoop@centos05 /]$ hadoop fs -ls /output_test/runcount/ Found items
-rw-r--r-- hadoop supergroup -- : /output_test/runcount/_SUCCESS
-rw-r--r-- hadoop supergroup -- : /output_test/runcount/part-r- [hadoop@centos05 /]$ hadoop fs -cat /output_test/runcount/part-r-
--
<!--
<!DOCTYPE
</a>
</body>
</div>
</head>
</html>
</li>
</style>
</ul>
<a
<body
<div
......略
5、遇到的问题
5.1、WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
解决:导致该问题的改版本是因为${HADOOP_PREFIX}/lib/native目录没有lib库,解决办法是到hadoop官网下载2.6的包,把lib/native目录下的数据拷贝过去。
5.2、openssl: false Cannot load libcrypto.so (libcrypto.so: 无法打开共享对象文件: 没有那个文件或目录)!
解决:/usr/lib64/目录下做一个libcrypto.so软连
接
cd /usr/lib64/
ln -s /usr/lib64/libcrypto.so.1.0.1e libcrypto.so
- 使用命令
export HADOOP_ROOT_LOGGER=DEBUG,console可以在终端上看到更详细的日志信息方便排查问题; - 以上两个问题可以使用命令检查是否为true:
hadoop checknative
注:${HADOOP_PREFIX}表示hadoop的安装目录,或者说是${HADOOP_HOME}
6、参考资料
CDH版本hadoop2.6伪分布式安装的更多相关文章
- Hadoop单机和伪分布式安装
本教程为单机版+伪分布式的Hadoop,安装过程写的有些简单,只作为笔记方便自己研究Hadoop用. 环境 操作系统 Centos 6.5_64bit 本机名称 hadoop001 本机IP ...
- 一.Kylin的伪分布式安装
一.伪分布式安装kylin 2018年4月15日 15:06 安装需要的环境 1. hadoop集群环境:由于安装的是CDH5.14.0的版本,所以相关组件都是跟5.14.0相关 2. spark采用 ...
- Hadoop大数据初入门----haddop伪分布式安装
一.hadoop解决了什么问题 hdfs 解决了海量数据的分布式存储,高可靠,易扩展,高吞吐量mapreduce 解决了海量数据的分析处理,通用性强,易开发,健壮性 yarn 解决了资源管理调度 二. ...
- HBase伪分布式安装(HDFS)+ZooKeeper安装+HBase数据操作+HBase架构体系
HBase1.2.2伪分布式安装(HDFS)+ZooKeeper-3.4.8安装配置+HBase表和数据操作+HBase的架构体系+单例安装,记录了在Ubuntu下对HBase1.2.2的实践操作,H ...
- 【Hadoop】伪分布式安装
创建hadoop用户 创建用户命令: sudo useradd -m hadoop -s /bin/bash 创建好后需要更改hadoop用户的密码,命令如下: sudo passwd hadoop ...
- HBase基础和伪分布式安装配置
一.HBase(NoSQL)的数据模型 1.1 表(table),是存储管理数据的. 1.2 行键(row key),类似于MySQL中的主键,行键是HBase表天然自带的,创建表时不需要指定 1.3 ...
- Zookeeper 初体验之——伪分布式安装(转)
原文地址: http://blog.csdn.net/salonzhou/article/details/47401069 简介 Apache Zookeeper 是由 Apache Hadoop 的 ...
- hadoop2.6完全分布式安装HBase1.1
本文出自:http://wuyudong.com/archives/119 对于全分布式的HBase安装,需要通过hbase-site.xml文档来配置本机的HBase特性,由于各个HBase之间通过 ...
- ZooKeeper:win7上安装单机及伪分布式安装
zookeeper是一个为分布式应用所设计的分布式的.开源的调度服务,它主要用来解决分布式应用中经常遇到的一些数据管理问题,简化分布式应用,协调及其管理的难度,提高性能的分布式服务. 本章的目的:如何 ...
随机推荐
- ZOJ 3829 Known Notation(字符串处理 数学 牡丹江现场赛)
题目链接:problemId=5383">http://acm.zju.edu.cn/onlinejudge/showProblem.do?problemId=5383 Do you ...
- luogu1955 [NOI2015] 程序自动分析
题目大意 假设x1,x2,x3...代表程序中出现的变量,给定n个形如xi=xj或xi≠xj的变量相等/不等的约束条件,请判定是否可以分别为每一个变量赋予恰当的值,使得上述所有约束条件同时被满足.i, ...
- POJ3570 Fund Management 动态规划
题目大意 Frank从个人投资者获得了c美元的资金,可用于m天的投资.Frank可以对n(n<=8)支股票进行投资.对于每一支股票:都有一个交易上限si,表示一天最多能交易的股数:还有一个上限k ...
- python spark 随机森林入门demo
class pyspark.mllib.tree.RandomForest[source] Learning algorithm for a random forest model for class ...
- Nginx实现负载均衡 + Keepalived实现Nginx的高可用
前言 使用集群是大中型网站解决高并发.海量数据问题的常用手段.当一台服务器的处理能力.存储空间不足时,不要企图去换更强大的服务器,对大型网站而言,不管多么强大的服务器,都满足不了网站持续增长的业务需求 ...
- Hadoop MapReduce编程 API入门系列之join(二十六)(未完)
不多说,直接上代码. 天气记录数据库 Station ID Timestamp Temperature 气象站数据库 Station ID Station Name 气象站和天气记录合并之后的示意图如 ...
- 第5章分布式系统模式 Data Transfer Object(数据传输对象)
正在设计一个分布式应用程序,为了满足单个客户端请求,您发现自己对一个远程接口发出了多个调用,而这些调用所增加的响应时间超出了可接受的程度. 影响因素 在与远程对象通信时,请考虑下列需要权衡的因素: 远 ...
- 了解jQuery的$符号
$是什么? 可以使用typeof关键字来观察$的本质. console.log(type of $); //输出结果为function 因此可以得出结论,$其实就是一个函数.$(); 只是根据所给参数 ...
- Android Google 地图 API for Android
从健康类 app Runkeeper 到游戏 app 精灵宝可梦,位置服务对现代 app 来说越来越重要. 在本文中,我们将创建一个 app,名字就叫做 City Guide.这个 app 允许用户搜 ...
- (转载) android studio library生成jar包和aar的方法总结
android studio library生成jar包和aar的方法总结 标签: android学习文档jar和aar的使用与生成gradle 2016-11-25 10:39 1782人阅读 评论 ...