Hadoop 2.5.1集群安装配置

本文的安装只涉及了hadoop-common、hadoop-hdfs、hadoop-mapreduce和hadoop-yarn,并不包含HBase、Hive和Pig等。

http://blog.csdn.net/aquester/article/details/24621005

1. 规划

1.1. 机器列表

NameNode

SecondaryNameNode

DataNodes

172.16.0.100

172.16.0.101

172.16.0.110

  

172.16.0.111

  

172.16.0.112

1.2. 主机名

机器IP

主机名

172.16.0.100

NameNode

172.16.0.101

SecondaryNameNode

172.16.0.110

DataNode110

172.16.0.111

DataNode111

172.16.0.112

DataNode112

2.设定IP与主机名

# rm -rf /etc/udev/rules.d/*.rules

# vi /etc/sysconfig/network-scripts/ifcfg-eth0

DEVICE=eth0

TYPE=Ethernet

ONBOOT=yes

NM_CONTROLLED=yes

BOOTPROTO=static

NETMASK=255.255.0.0

GATEWAY=192.168.0.6

IPADDR=192.168.1.20

DNS1=192.168.0.3

DNS2=192.168.0.6

DEFROUTE=yes

PEERDNS=yes

PEERROUTES=yes

IPV4_FAILURE_FATAL=yes

IPV6INIT=no

NAME="System eth0"

# vi /etc/sysconfig/network

NETWORKING=yes

HOSTNAME=NameNode.smartmap

# vi /etc/hosts

127.0.0.1 localhost localhost.localdomain localhost4 localhost4.localdomain4

192.168.1.20 NameNode NameNode.smartmap

192.168.1.50 SecondaryNameNode SecondaryNameNode.smartmap

192.168.1.70 DataNode110 DataNode110.smartmap

192.168.1.90 DataNode111 DataNode111.smartmap

::1 localhost localhost.localdomain localhost6 localhost6.localdomain6

3.免密码登录

3.1. 免密码登录范围

要求能通过免登录包括使用IP和主机名都能免密码登录:

1) NameNode能免密码登录所有的DataNode

2) SecondaryNameNode能免密码登录所有的DataNode

3) NameNode能免密码登录自己

4) SecondaryNameNode能免密码登录自己

5) NameNode能免密码登录SecondaryNameNode

6) SecondaryNameNode能免密码登录NameNode

7) DataNode能免密码登录自己

8) DataNode不需要配置免密码登录NameNode、SecondaryNameNode和其它DataNode。

3.2. 软件安装

# yum install openssh-clients (NameNode、SecondaryNameNode和其它DataNode均执行)

# yum install wget

3.3. SSH配置

vi /etc/ssh/sshd_config (NameNode、SecondaryNameNode和其它DataNode均执行)

RSAAuthentication yes

PubkeyAuthentication yes

AuthorizedKeysFile .ssh/authorized_keys

service sshd restart

3.4. SSH无密码配置

# ssh-keygen -t rsa (NameNode、SecondaryNameNode和其它DataNode均执行)

看到图形输出,表示密钥生成成功,目录下多出两个文件

私钥文件:id_raa

公钥文件:id_rsa.pub

将公钥文件id_rsa.pub内容放到authorized_keys文件中:

# cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys (NameNode、SecondaryNameNode均执行)

将公钥文件authorized_keys分发到各dataNode节点:

(NameNode、SecondaryNameNode均执行)

# scp authorized_keys root@SecondaryNameNode:/root/.ssh/

# scp authorized_keys root@DataNode110:/root/.ssh/

# scp authorized_keys root@DataNode111:/root/.ssh/

# scp authorized_keys root@DataNode112:/root/.ssh/

3.5. SSH无密码登录验证

验证ssh无密码登录:

(NameNode均执行)

# ssh root@localhost

# ssh root@SecondaryNameNode

# ssh root@DataNode110

# ssh root@DataNode111

# ssh root@DataNode112

(SecondaryNameNode均执行)

# ssh root@localhost

# ssh root@NameNode

# ssh root@DataNode110

# ssh root@DataNode111

# ssh root@DataNode112

(DataNode110均执行)

# ssh root@localhost

(DataNode111均执行)

# ssh root@localhost

(DataNode111均执行)

# ssh root@localhost

4.JDK安装与环境变量配置

(以下内容NameNode、SecondaryNameNode和其它DataNode均执行)

4.1. JDK下载

jdk-7u72-linux-x64.tar.gz

# scp jdk-7u72-linux-x64.tar.gz root@192.168.1.50:/opt/

4.2.卸载系统自带的开源JDK

  # rpm -qa |grep java

  # rpm  –e java 

4.3.把安装文件拷贝到用户目录

例如:

/opt/java目录下

4.4.解压文件

# tar -xzvf jdk-7u72-linux-x64.tar.gz

解压后,在/opt/java目录下就会生成一个新的目录 jdk1.7.0_72,该目录下存放的是解压后的文件。

至此,安装工作基本完成,下面是要进行环境变量的设置。

注意:如果你下载的文件是rpm 格式的话,可以通过下面的命令来安装:

  rpm -ivh jdk-7u72-linux-x64.rpm

4.5.环境变量设置

修改.profile文件 (推荐此种方式,这样其他程序也可以友好的使用JDK了)

# vi /etc/profile

在文件中找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,改为下面的形式:

export JAVA_HOME=/opt/java/jdk1.7.0_72

export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib

4.6.让环境变量生效

执行配置文件令其立刻生效

# source /etc/profile

之后执行以下命令验证是否安装成功

# java -version

如果出现下面的信息,则表示安装成功

java version "1.7.0_72"

Java(TM) SE Runtime Environment (build 1.7.0_72-b14)

Java HotSpot(TM) 64-Bit Server VM (build 24.72-b04, mixed mode)

5.Hadoop安装与配置

5.1.Hadoop下载

# wget http://mirrors.hust.edu.cn/apache/hadoop/common/stable/hadoop-2.5.1.tar.gz

# scp hadoop-2.5.1.tar.gz root@192.168.1.50:/opt/

5.2.解压文件

# tar -zxvf hadoop-2.5.1.tar.gz

5.3.配置

# cd /opt/hadoop-2.5.1/etc/hadoop

cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-project-dist/hadoop-common/core-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/core-site.xml

cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-project-dist/hadoop-hdfs/hdfs-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/hdfs-site.xml

cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-yarn/hadoop-yarn-common/yarn-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/yarn-site.xml

cp /opt/hadoop/hadoop-2.5.1/share/doc/hadoop/hadoop-mapreduce-client/hadoop-mapreduce-client-core/mapred-default.xml /opt/hadoop/hadoop-2.5.1/etc/hadoop/mapred-site.xml

# mkdir -p /opt/hadoop/tmp/dfs/name

# mkdir -p /opt/hadoop/tmp/dfs/data

# mkdir -p /opt/hadoop/tmp/dfs/namesecondary

5.3.1.core-site.xml

# vi core-site.xml

<configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/opt/hadoop/tmp</value>

<description>Abase for other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://192.168.1.20:9000</value>

</property>

<property>

<name>io.file.buffer.size</name>

<value>4096</value>

</property>

</configuration>

属性名

属性值

涉及范围

fs.defaultFS

hdfs://192.168.1.20:9000

所有节点

hadoop.tmp.dir

/opt/hadoop/tmp

所有节点

fs.default.name

hdfs://192.168.1.20:9000

 
   

5.3.2.hdfs-site.xml

# vi hdfs-site.xml

<configuration>

<property>

<name>dfs.namenode.http-address</name>

<value>192.168.1.20:50070</value>

</property>

<property>

<name>dfs.namenode.http-bind-host</name>

<value>192.168.1.20</value>

</property>

<property>

<name>dfs.namenode.secondary.http-address</name>

<value>192.168.1.50:50090</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

<name>dfs.webhdfs.enabled</name>

<value>true</value>

</property>

</configuration>

属性名

属性值

涉及范围

dfs.namenode.http-address

192.168.1.20:50070

所有节点

dfs.namenode.http-bind-host

192.168.1.20

所有节点

dfs.namenode.secondary.http-address

192.168.1.50:50090

NameNode、SecondaryNameNode

dfs.replication

2

 
   
   
   

2.3.3.mapred-site.xml

# vi mapred-site.xml

<configuration>

<property>

<name>mapreduce.framework.name</name>

<value>yarn</value>

</property>

<property>

<name>mapreduce.jobtracker.http.address</name>

<value>192.168.1.20:50030</value>

</property>

<property>

<name>mapreduce.jobhistory.address</name>

<value>192.168.1.20:10020</value>

</property>

<property>

<name>mapreduce.jobhistory.webapp.address</name>

<value>192.168.1.20:19888</value>

</property>

<property>

<name>mapreduce.jobhistory.admin.address</name>

<value>192.168.1.20:10033</value>

</property>

</configuration>

属性名

属性值

涉及范围

mapreduce.framework.name

yarn

所有节点

mapreduce.jobtracker.http.address

192.168.1.20:50030

 
   
   
   
   
   

2.3.4.yarn-site.xml

# vi yarn-site.xml

<configuration>

<property>

<name>yarn.nodemanager.aux-services</name>

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.hostname</name>

<value>192.168.1.20</value>

</property>

</configuration>

属性名

属性值

涉及范围

yarn.resourcemanager.hostname

192.168.1.20

所有节点

yarn.nodemanager.aux-services

mapreduce_shuffle

所有节点

yarn.nodemanager.hostname

0.0.0.0

所有节点

   
   
   
   

5.3.5.slaves

# vi slaves

DataNode110

DataNode111

5.3.5.secondaryNamenodes

# vi master

SecondaryNameNode

5.3.6.修改JAVA_HOME

分别在文件hadoop-env.sh和yarn-env.sh中添加JAVA_HOME配置

# vi hadoop-env.sh

export JAVA_HOME=/opt/java/jdk1.7.0_72

export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

# vi yarn-env.sh

export JAVA_HOME=/opt/java/jdk1.7.0_72

export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_HOME}/lib/native

export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib/native"

5.4.环境变量设置

修改.profile文件 (推荐此种方式,这样其他程序也可以友好的使用JDK了)

# vi /etc/profile

在文件中找到export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC,改为下面的形式:

export JAVA_HOME=/opt/java/jdk1.7.0_72

export JRE_HOME=$JAVA_HOME/jre

export PATH=$JAVA_HOME/bin:$JRE_HOME/bin:$PATH

export CLASSPATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

export HADOOP_HOME=/opt/hadoop/hadoop-2.5.1

export HADOOP_COMMON_HOME=$HADOOP_HOME

export HADOOP_HDFS_HOME=$HADOOP_HOME

export HADOOP_MAPRED_HOME=$HADOOP_HOME

export HADOOP_YARN_HOME=$HADOOP_HOME

export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop

export CLASSPATH=$HADOOP_HOME/lib:$CLASSPATH

export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native

export HADOOP_OPTS="-Djava.library.path=/opt/hadoop/hadoop-2.5.1/lib/native"

5.4.1.让环境变量生效

执行配置文件令其立刻生效

# source /etc/profile

5.5.启动HDFS

5.5.1.格式化NameNode

# hdfs namenode -format

5.5.1.启动HDFS

. /opt/hadoop/hadoop-2.5.1/sbin/start-dfs.sh

5.5.1.启动YARN

. /opt/hadoop/hadoop-2.5.1/sbin/start-yarn.sh

设置logger级别,看下具体原因

export HADOOP_ROOT_LOGGER=DEBUG,console

clip_image001

windows->show view->other-> MapReduce Tools->Map/Reduce Locations

clip_image002

clip_image003

clip_image004

hadoop-2.5.1-src.tar.gz\hadoop-2.5.1-src\hadoop-mapreduce-project\hadoop-mapreduce-examples\src\main\java\org\apache\hadoop\examples - TAR+GZIP archive, unpacked size 82,752,131 bytes

转载于:https://www.cnblogs.com/gispathfinder/p/5770149.html

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/573263.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

linux杀掉进程后总是重启,Linux监控进程,进程关闭自动重启方案

Linux监控进程&#xff0c;进程关闭自动重启方案corntabshell脚本检测进程这个方案简单不用额外安装软件。缺点是存在间隔&#xff0c;corntab设置1秒执行一次shell脚本也是存在间隔的#!/bin/bash#author smallForest#email 1032817724qq.comproc_name"xiaofei.php" …

C语言atan2()函数:求y/x的反正切值

头文件&#xff1a;#include <math.h>atan2() 函数用于求 y / x 的反正切值。其原型为&#xff1a; double atan2(double y, double x);【参数】x为坐标的X轴值&#xff0c;y为坐标的Y轴值。如果 x 和 y 的值都为 0&#xff0c;将会导致错误。atan2() 求坐标 x 和 y 的…

Linux qt程序打包依赖库,Linux打包免安装的Qt程序(编写导出依赖包的脚本copylib.sh,程序启动脚本MyApp.sh)...

本文介绍如何打包Qt程序&#xff0c;使其在没有安装Qt的系统可以运行。默认前提&#xff1a;另外一个系统和本系统是同一个系统版本。1&#xff0c;编写导出依赖包的脚本copylib.sh#!/bin/bashLibDir$PWD"/lib"Target$1lib_array($(ldd $Target | grep -o "/.*&…

ubuntu14.04 x86编译upx 3.92 及so加固

的参考文章&#xff1a; http://www.cnblogs.com/fishou/p/4202061.html 1.download upx和所依赖的组件 upx3.92&#xff1a;https://www.pysol.org:4443/hg/upx.hg/archive/tip.tar.gzLZMA4.43&#xff1a;http://nchc.dl.sourceforge.net/project/sevenzip/LZMA%20SDK/4.43/l…

linux磁盘分区面试题,一套Linux面试模拟题及答案

一、填空题1、查找在当前目录中文件属主具有读、写权限&#xff0c;并且文件所属组的用户和其他用户具有读权限的文件&#xff0c;使用的命令是( find . -perm 644 )&#xff1b;查找在/tmp目录中&#xff0c;属主是benet用户的文件( find /tmp –user benet)&#xff1b;删除当…

jQuery中的渐变动画效果

jQuery中的渐变动画效果jQuery中的渐变动画效果转载于:https://www.cnblogs.com/DreamDrive/p/5780292.html

linux vi编辑器 Ctrl s,Linux命令-----vi/vim编辑器

也可建立vi到vim的符号连接(即实际调用的是vim)# mv /bin/vi /bin/vi.bak# ln -s /usr/bin/vim /bin/vi进入vi的命令&#xff1a;vi 直接进入编辑并创建新文件vi filename 编辑文件(不存在则创建文件)&#xff0c;并将光标置于第一行首vi n filename 打开文件&#xff0c;并…

insert sort

插入排序将数据分为前面有序部分和后面无序部分,取无序部分的第一个元素插入到有序序列中.注意与选择排序的区别. // insert sortvoid insertionSort(int arr[], int length) {int i, j, tmp;for (i 1; i < length; i) {j i;while (j > 0 && arr[j 1] > ar…

关闭linux系统中读写页缓存,Linux文件系统FAQ

Linux文件系统FAQ2010年03月25日最近实验室搞了一些列讲座&#xff0c;阿福师兄关于文件系统的讲座帮我弄清楚了一些以前不清楚的问题&#xff0c;以问答的形式对文件系统常见的问题进行了总结。Q: 文件系统如何看待底层物理块设备&#xff1f;文件系统把块设备简单的看做线性的…

《JS权威指南学习总结--6.1原型》

内容要点&#xff1a; 一.每一个JS对象&#xff08;null除外&#xff09;都和另一个对象相关联。"另一个"对象就是我们熟知的原型&#xff0c;每一个对象都从原型继承属性. 二.所有通过对象直接量创建的对象都具有同一个原型对象&#xff0c;并可以通过JS代码Object.…

linux下执行shell修改用户密码,[转] 关于linux下通过shell命令(自动)修改用户密码...

本文章总结了如何手动、自动修改本地用户密码及远程机器的用户密码。对做自动化测试提供了自动修改用户密码的原理及方法。修改本地用户密码&#xff1a;1、交互配置本地用户&#xff1a;以root用户&#xff1a;passwd Changing password for user dewang.New UNIX password:BA…

Visual Studio提示Bonjour backend初始化失败

Visual Studio提示Bonjour backend初始化失败 错误信息&#xff1a;The Bonjour backend failed to initialize, automatic Mac Build server discovery will not be available.这是由于Windows下的Bonjour服务没有开启&#xff0c;需要到服务管理中&#xff0c;开启该服务&…

104 规约模拟器linux,变电站自动化系统调试装置 Substation automation system debugging device...

摘要&#xff1a;本发明涉及一种在电力系统中应用的变电站自动化系统调试装置,其结构为电源与触电保安器相连,触电保安器分别与平板电脑,标准规约模拟器,交换机及调制解调器相连;平板电脑通过多功能接口盒与交换机和电度表相连;通讯管理机分别与调制解调器,交换机及电度表相连.…

Unity3d 札记-Let's try shooting 知识点汇总

1\LineRenderer LineRenderer是用来在3d场景画直线的一个工具。 public LineRenderer laserline;laserline.SetPositon(0,startposition);laserline.SetPositon(1,endposition);//设置结束位置startpositon,endposition均为Vector3 ,空间三维坐标 laserline.enabled(true); las…

c语言如何控制电脑串口,C语言直接驱动硬件实现PC机的串口操作

熟悉C语言的人都知道&#xff0c;虽然C语言是一门高级语言&#xff0c;拥有很多高级语言的特性&#xff0c;但是作为一种由低级语言到高级的过渡&#xff0c;他又继承了很多低级语言的特性&#xff0c;那就是可以直接操作计算机的硬件设备。本人近日在学习有关PLC网络方面的知识…

iOS ReactiveCocoa 最全常用API整理(可做为手册查询)

本文出出http://www.code4app.com/blog-721976-195.html 本文适合有一定RAC基础的童鞋做不时的查询&#xff0c;所以本文不做详细解释。 一、常见类 1、RACSiganl 信号类。 RACEmptySignal &#xff1a;空信号&#xff0c;用来实现 RACSignal 的 empty 方法&#xff1b; RACRet…

c语言程序设计实验周信东指针,C语言程序设计实验4数组周信东

1、实验 4 数 组姓名&#xff1a;XXX 学号&#xff1a; 实验日期&#xff1a;XXX1. 实验目的和要求(1)掌握一维数组与二维数组的定义、使用及初始化方法。(2)学习数组作为函数参数的用法。(3)掌握字符数组和字符串函数的使用方法。(4)掌握与数组有关的常用排序算法&#xff0c;…

使用Eclipse创建maven项目

前提&#xff1a;Eclipse中安装了maven插件&#xff0c;或者Eclipse版本在Mars以上&#xff08;自集成maven&#xff09; 1、new project --maven project 2、默认点击next 3、选择构建类型 4、填写groupId和artifactId,groupId就是顶级项目名,artifactId就是模块名&#xff08…

c#网页自动化脚本语言,c# – 创建用于创建网页的脚本语言

我正在创建一个用于创建网页的脚本语言,但不知道从哪里开始.我有一个看起来像这样的文件&#xff1a;mylanguagename(main) {OnLoad(protected) {Display(img,text,link);}Canvas(public) {Image img: "Images\my_image.png";img.Name: "img";img.Border: …

Js制作的文字游戏

自己制作的文字游戏。(: <!DOCTYPE html><html lang"en"><head> <meta charset"UTF-8"> <title>文字游戏</title> <style type"text/css"> #wrap{ width: 400px;height: …