《OD大数据实战》Hadoop伪分布式环境搭建
一、安装并配置Linux
8. 使用当前root用户创建文件夹,并给/opt/下的所有文件夹及文件赋予775权限,修改用户组为当前用户
mkdir -p /opt/modules
mkdir -p /opt/software
mkdir -p /opt/datas
mkdir -p /opt/tools
chmod /opt/*
chown beifeng:beifeng /opt/*
最终效果如下:
[beifeng@beifeng-hadoop- opt]$ pwd
/opt
[beifeng@beifeng-hadoop- opt]$ ll
total
drwxrwxr-x. beifeng beifeng Jul : clusterapps
drwxr-xr-x. beifeng beifeng Jul : datas
drwxr-xr-x. beifeng beifeng Jul : modules
drwxr-xr-x. beifeng beifeng Jul : software
drwxr-xr-x. beifeng beifeng Jul : tools
二、安装并配置JDK
1. 安装文件
jdk-7u67-linux-x64.tar.gz
2. 解压
tar -zxvf jdk-7u67-linux-x64.tar.gz -C /opt/modules
3. 配置jdk
1)使用sudo配置/etc/profile,在文件尾加上以下配置
#JAVA_HOME
export JAVA_HOME=/opt/modules/jdk1..0_67
export PATH=$PATH:$JAVA_HOME/bin
2)配置完成后,使用su - root 切换到root用户,使用source命令生效配置。
source /etc/profile
3)验证jdk是否安装成功
[root@beifeng-hadoop- ~]# java -version
java version "1.7.0_67"
Java(TM) SE Runtime Environment (build 1.7.0_67-b01)
Java HotSpot(TM) -Bit Server VM (build 24.65-b04, mixed mode)
[root@beifeng-hadoop- ~]# javac -version
javac 1.7.0_67
三、安装并配置hadoop
1. 安装文件
下载地址:http://archive.cloudera.com/cdh5/cdh/5/
下载: hadoop-2.5.0-cdh5.3.6.tar.gz
2. 解压
tar -zxvf hadoop-2.5.-cdh5.3.6.tar.gz -C /opt/modules/cdh/
3. 配置伪分布式环境
参考文档: http://hadoop.apache.org/docs/r2.5.2/hadoop-project-dist/hadoop-common/ClusterSetup.html
cd /opt/modules/cdh/hadoop-2.5.-cdh5.3.6/etc/hadoop
修改/etc/profile,在文件尾增加以下配置:
#HADOOP_HOME
export HADOOP_HOME=/opt/modules/cdh/hadoop-2.5.-cdh5.3.6
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
建议使用远程sftp编辑工具,windows上可以使用notepad++,mac上推荐使用skEdit。
1)修改hadoop-evn.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
2)修改yarn-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
3)修改mapred-env.sh
export JAVA_HOME=/opt/modules/jdk1.7.0_67
4)修改core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://beifeng-hadoop-02:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/data/tmp</value>
</property>
<property>
<name>hadoop.http.staticuser.user</name>
<value>beifeng</value>
</property>
</configuration>
5)修改hdfs-site.xml
<configuration>
<!-- 数据副本数,副本数等于所有datanode的总和 -->
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>beifeng-hadoop-02:50090</value>
</property>
<property>
<name>dfs.permissions.enabled</name>
<value>false</value>
</property>
</configuration>
6)修改slaves
beifeng-hadoop-
7)修改yarn-site.xml
<configuration> <!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property> <property>
<name>yarn.resourcemanager.hostname</name>
<value>beifeng-hadoop-02</value>
</property> <!-- 是否启用日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property> <!-- 日志保留时间(单位为秒) -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>106800</value>
</property>
</configuration>
8) 修改mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
9)启动服务
(1)格式化hdfs
bin/hdfs namenode -format
(2)启动namenode和datanode
sbin/hadoop-daemon.sh start namenode
sbin/hadoop-daemon.sh start datanode
使用jps命令,或者web UI界面查看namenode是否已启动成功。
[beifeng@beifeng-hadoop- hadoop-2.5.-cdh5.3.6]$ jps
DataNode
Jps
NameNode
hdfs可视化界面: http://beifeng-hadoop-02:50070/dfshealth.html#tab-overview
(2)启动resourcemanager和nodemanager
sbin/yarn-daemon.sh start resourcemanager
sbin/yarn-daemon.sh start nodemanager
使用jps命令,或者web UI界面查看resourcemanager和nodemanager是否已成功启动
[beifeng@beifeng-hadoop- hadoop-2.5.-cdh5.3.6]$ jps
DataNode
NodeManager
Jps
NameNode
ResourceManager
yarn可视化界面: http://beifeng-hadoop-02:8088/cluster
(3)启动job历史服务器
sbin/mr-jobhistory-daemon.sh start historyserver
查看是否已成功启动:
历史服务器可视化界面:http://beifeng-hadoop-02:19888/
(4)启动secondarynamenode
sbin/hadoop-daemon.sh start secondarynamenode
查看是否已成功启动:
secondarynamenode可视化界面 http://beifeng-hadoop-02:50090/status.html
(5)所有相关服务停止命令
sbin/hadoop-daemon.sh stop namenode
sbin/hadoop-daemon.sh stop datanode
sbin/yarn-daemon.sh stop resourcemanager
sbin/yarn-daemon.sh stop nodemanager
sbin/mr-jobhistory-daemon.sh stop historyserver
sbin/hadoop-daemon.sh stop secondarynamenode
10)跑一个wordcount 验证环境搭建结果
文件系统shell:http://archive.cloudera.com/cdh5/cdh/5/hadoop-2.5.0-cdh5.3.6/hadoop-project-dist/hadoop-common/FileSystemShell.html
hdfs dfs -mkdir -p /user/beifeng/input hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.-cdh5.3.6.jar wordcount /user/beifeng/input /user/beifeng/output hdfs dfs -cat /user/beifeng/output/part-r-
四、给Hadoop2.x添加Snappy解压缩库
1. 修改配置
1)修改core-site.xml
<!-- SNAPPY compress -->
<property>
<name>io.compression.codecs</name>
<value>org.apache.hadoop.io.compress.GzipCodec,
org.apache.hadoop.io.compress.DefaultCodec,
org.apache.hadoop.io.compress.BZip2Codec,
org.apache.hadoop.io.compress.SnappyCodec
</value>
<description>A comma-separated list of the compression codec classes that can
be used for compression/decompression. In addition to any classes
specified with this property (which take precedence), codec classes on the classpath are discovered
using a Java ServiceLoader.
</description>
</property>
2)修改mapred-site.xml
<!-- 开启 MapReduce map 输出结果压缩功能 -->
<property>
<name>mapreduce.map.output.compress</name>
<value>true</value>
</property>
<property>
<name>mapreduce.map.output.compress.codec</name>
<value>org.apache.hadoop.io.compress.SnappyCodec</value>
</property>
2. 安装snappy
1)解压
tar -zxvf snappy-1.1..tar.gz -C /opt/modules/cdh/ cd /opt/modules/cdh/snappy-1.1.
2)预编译
./configure
3)编译安装
sudo make && sudo make install
4)编译成功后,查看安装目录
cd /usr/local/lib && ls
3. 安装hadoop-snappy
1)解压
tar -zxvf hadoop-snappy.tar.gz -C /opt/modules/cdh/hadoop-2.5.-cdh5.3.6/
2)打包编译
cd /opt/modules/cdh/hadoop-2.5.-cdh5.3.6/hadoop-snappy mvn package -Dsnappy.prefix=/usr/local
sudo ln -s /opt/modules/jdk1.7.0_67/jre/lib/amd64/server/libjvm.so /usr/local/lib
3)copy 编译好的jar包到hadoop lib下
cp /opt/modules/cdh/hadoop-2.5.-cdh5.3.6/hadoop-snappy/target/hadoop-snappy-0.0.-SNAPSHOT.jar /opt/modules/cdh/hadoop-2.5.-cdh5.3.6/lib
4)修改hadoop-env.sh
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/opt/modules/cdh/hadoop-2.5.-cdh5.3.6/native/Linux-amd64-/
5)编译生成后的动态库 copy 到 $HADOOP_HOME/lib/native/ 目录下
cd /opt/modules/cdh/hadoop-2.5.-cdh5.3.6/hadoop-snappy/target/hadoop-snappy-0.0.-SNAPSHOT-tar/hadoop-snappy-0.0.-SNAPSHOT/lib
cp -r native/Linux-amd64- /opt/modules/cdh/hadoop-2.5.-cdh5.3.6/lib/native/
6)copy Linux-amd64-64 目录下的文件,到/opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/lib/native/
cd Linux-amd64-/ cp -r ./* ../
4. 编译hadoop-2.5.0-cdh5.3.6-src源码
注意.m2/settings.xml文件,使用maven原生的配置,否则无法加载pom
mvn package -Pdist,native -DskipTests -Dtar -Drequire.snappy
执行了一半,磁盘空间不够
http://os.51cto.com/art/201012/240726_all.htm
http://www.cnblogs.com/chenmh/p/5096592.html
http://www.linuxfly.org/post/243/
1)替换 hadoop 安装目录下的 lib/native 目录下的本地库文件
/opt/modules/hadoop-2.5.0-src/hadoop-dist/target/hadoop-2.5.0/lib/native
cp ./* /opt/modules/cdh/hadoop-2.5.0-cdh5.3.6/lib/native/
5. 验证
hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.-cdh5.3.6.jar pi hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.-cdh5.3.6.jar wordcount /user/beifeng/input /user/beifeng/output03 hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.-cdh5.3.6.jar wordcount -Dmapreduce.map.output.compress=true -Dmapreduce.map.output.codec=org.apache.hadoop.io.compress.SnappyCodec /user/beifeng/input /user/beifeng/output02
《OD大数据实战》Hadoop伪分布式环境搭建的更多相关文章
- 【Hadoop离线基础总结】CDH版本Hadoop 伪分布式环境搭建
CDH版本Hadoop 伪分布式环境搭建 服务规划 步骤 第一步:上传压缩包并解压 cd /export/softwares/ tar -zxvf hadoop-2.6.0-cdh5.14.0.tar ...
- CentOS7下Hadoop伪分布式环境搭建
CentOS7下Hadoop伪分布式环境搭建 前期准备 1.配置hostname(可选,了解) 在CentOS中,有三种定义的主机名:静态的(static),瞬态的(transient),和灵活的(p ...
- Hadoop伪分布式环境搭建+Ubuntu:16.04+hadoop-2.6.0
Hello,大家好 !下面就让我带大家一起来搭建hadoop伪分布式的环境吧!不足的地方请大家多交流.谢谢大家的支持 准备环境: 1, ubuntu系统,(我在16.04测试通过.其他版本请自行测试, ...
- hadoop伪分布式环境搭建
环境:Centos6.9+jdk+hadoop1.下载hadoop的tar包,这里以hadoop2.6.5版本为例,下载地址https://archive.apache.org/dist/hadoop ...
- hadoop伪分布式环境搭建之linux系统安装教程
本篇文章是接上一篇<超详细hadoop虚拟机安装教程(附图文步骤)>,上一篇有人问怎么没写hadoop安装.在文章开头就已经说明了,hadoop安装会在后面写到,因为整个系列的文章涉及到每 ...
- Hadoop学习笔记1:伪分布式环境搭建
在搭建Hadoop环境之前,请先阅读如下博文,把搭建Hadoop环境之前的准备工作做好,博文如下: 1.CentOS 6.7下安装JDK , 地址: http://blog.csdn.net/yule ...
- 【Hadoop】伪分布式环境搭建、验证
Hadoop伪分布式环境搭建: 自动部署脚本: #!/bin/bash set -eux export APP_PATH=/opt/applications export APP_NAME=Ares ...
- Hadoop2.5.0伪分布式环境搭建
本章主要介绍下在Linux系统下的Hadoop2.5.0伪分布式环境搭建步骤.首先要搭建Hadoop伪分布式环境,需要完成一些前置依赖工作,包括创建用户.安装JDK.关闭防火墙等. 一.创建hadoo ...
- hive-2.2.0 伪分布式环境搭建
一,实验环境: 1, ubuntu server 16.04 2, jdk,1.8 3, hadoop 2.7.4 伪分布式环境或者集群模式 4, apache-hive-2.2.0-bin.tar. ...
随机推荐
- 剑指offer--面试题23
//该题原本想用递归实现,但却用循环实现了... //关键用了个队列 #include <queue> void Print(BinaryTreeNode* pRoot, std::que ...
- MSDN:Code First 迁移
来自:MSDN:Code First 迁移,完全照搬! 本演练将提供对实体框架中 Code First 迁移的概述.您可以完成整个演练,也可以跳至自己感兴趣的主题.主题如下: 启用迁移 生成并运行迁移 ...
- 【转载】让c++ 函数返回一个数组
在c++中是不允许数组作为函数的返回值的 int [] someFunction( ); //ILLEGAL 要想实现函数返回一个数组,那返回对应数组里面类型的指针 you must return a ...
- Why we have to use epsg:900913 in OpenLayers
reference:http://docs.openlayers.org/library/spherical_mercator.html epsg:900913 is spicfy the Soher ...
- Map:比较新增加日期的和需要删除的日期 使用方法
1.场景描述:根据在日历选择的日期,数据库来保持我们选择日期. 2.方法,硬删除的方法,每次全部删除,然后再重新添加选择的新的日期.这样导致如果需要保存create_time的情况,那么每次操作的都是 ...
- Sqli-labs less 34
Less-34 本关是post型的注入漏洞,同样的也是将post过来的内容进行了 ' \ 的处理.由上面的例子可以看到我们的方法就是将过滤函数添加的 \ 给吃掉.而get型的方式我们是以url形式提交 ...
- 最近在看 ASP.NET 5,有关官方实现的 OAuth 2 包
有了官方实现的 OAuth 2 包,再扩展到国内就方便多了(懒得找第三方). 官方实现的有关授权和验证的包:https://github.com/aspnet/Security 根据这些,我就扩展了几 ...
- 使用内网的Docker Image启动AcmeAir应用
1.修改docker启动选项,添加信赖私有仓库 为了拉取docker.oneapm.me仓库里的镜像,我们需要将它添加为信赖仓库,方式是在启动选项中添加 --insecure-registry doc ...
- shell脚本接收输入
shell脚本接受输入 while read var do cat logs | grep IconsendRedirect | grep $var | awk -F'\t' '{print $8}' ...
- Hadoop基础教程之重新认识Hadoop
之前,我们把hadoop从下载包部署到编写了helloworld,看到了结果.现是得开始稍微更深入地了解hadoop了. Hadoop包含了两大功能DFS和MapReduce, DFS可以理解为一 ...