Hadoop2.6.0完全分布式安装

1、修改主机名称

对master/slave1/slave2同时配置为Master/Slave1/Slave2

master@Master:~$ sudo gedit /etc/hostname


 上述3个虚机结点均需要进行以上步骤

 

2、填写主机IP

对master/slave1/slave2同时配置

master@Master:~$ sudo gedit /etc/hosts

 

192.168.48.128 master
192.168.48.129 slave1
192.168.48.130 slave2

 

 上述3个虚机结点均需要进行以上步骤

 

 

3、建立hadoop用户组及新用户

 

对master/slave1/slave2同时配置

为hadoop集群专门设置一个用户组及用户

master@Master:~$ sudo groupadd hadoop    //设置hadoop用户组

master@Master:~$ sudo useradd -s /bin/bash -d /home/hnu -m hnu -g hadoop   //添加一个hnu用户,此用户属于hadoop用户组。

master@Master:~$ sudo passwd hnu   //设置用户hnu登录密码

master@Master:~$ su hnu  //切换到hnu用户中

 

上述3个虚机结点均需要进行以上步骤

 

 

4、 配置ssh免密码连入

 

Ubuntu14.04系统下:

对master/slave1/slave2同时配置

master@Master:~$ sudo apt-get install openssh-client=1:6.6p1-2ubuntu1

master@Master:~$ sudo apt-get install openssh-server

上述3个虚机结点均需要进行以上步骤

 

(1) 每个结点分别产生公私密钥。

hnu@Master:~$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

以上命令是产生公私密钥,产生目录在用户主目录下的.ssh目录中,如下:

hnu@Master:~$ cd .ssh

hnu@Master:~$ ls

Id_dsa.pub为公钥,id_dsa为私钥,紧接着将公钥文件复制成authorized_keys文件,这个步骤是必须的,过程如下:

hnu@Master:~/.ssh$ cat id_dsa.pub >> authorized_keys

hnu@Master:~/.ssh$ ls

用上述同样的方法在剩下的两个结点中如法炮制即可。

 

 上述3个虚机结点均需要进行以上步骤

 

 

(2)本机ssh免密码登录测试

hnu@Master:~$ ssh localhost

在单机结点上用ssh进行登录,这将为后续对子结点SSH远程免密码登录作好准备。

用上述同样的方法在剩下的两个结点中如法炮制即可。

 

上述3个虚机结点均需要进行以上步骤

 

 

(3)    让主结点(master)能通过SSH免密码登录两个子结点(slave)

 

1)对slave1节点操作:

为了实现这个功能,两个slave结点的公钥文件中必须要包含主结点的公钥信息,这样当master就可以顺利安全地访问这两个slave结点了。操作过程如下:

hnu@Slave1:~/.ssh$ scp hnu@master:~/.ssh/id_dsa.pub ./master_dsa.pub

hnu@Slave1:~/.ssh$  cat master_dsa.pub >> authorized_keys

如上过程显示了slave1结点通过scp命令远程登录master结点,并复制master的公钥文件到当前的目录下,这一过程需要密码验证。接着,将master结点的公钥文件追加至authorized_keys文件中,通过这步操作,如果不出问题,master结点就可以通过ssh远程免密码连接slave1结点了。

 

2)对slave2节点同样进行以上步骤

 

在master结点中对两个子节点进行免密登陆:

hnu@Master:~$ ssh slave1

slave1结点首次连接时需要输入yes后成功接入,紧接着注销退出至master结点。然后再执行一遍ssh slave1,如果没有要求你输入”yes”,就算成功了,对node2结点也可以用同样的方法进行上述操作。

 

 

表面上看,这两个节点的ssh免密码登录已经配置成功,但是我们还需要对主节点master也要进行上面的同样工作,据说是真实物理结点时需要做这项工作,因为jobtracker有可能会分布在其它结点上,jobtracker有不存在master结点上的可能性。

 

3)对master自身进行ssh免密码登录测试工作:

hnu@Master:~/.ssh$ scp hnu@master:~/.ssh/id_dsa.pub  ./master_dsa.pub

hnu@Master:~/.ssh$ cat master_dsa.pub  >> authorized_keys

hnu@Master:~/.ssh$ ssh master

 

至此,SSH免密码登录已经配置成功。

 

5、JDK与HADOOP环境变量配置

对master/slave1/slave2同时配置

解压JDK

master@Master:~$ sudo tar -zxvf jdk-8u91-linux-x64.tar.gz -C /opt

 

master@Master:~$ sudo gedit /etc/profile

#JAVA

export JAVA_HOME=/opt/jdk1.8.0_91

export PATH=$PATH:$JAVA_HOME/bin

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

#HADOOP

export HADOOP_PREFIX=/home/hnu/hadoop-2.6.0

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

export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_PREFIX}/lib/native

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

 

上述3个虚机结点均需要进行以上步骤

 

6、HADOOP安装与配置

对master配置

解压hadoop

master@Master:~$ sudo tar -zxvf hadoop-2.6.0.tar.gz -C /home/hnu

 

master@Master:/home/hnu/hadoop-2.6.0/etc/hadoop$

1)  core-site.xml

<configuration>

<property>

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

<value>file:/home/hnu/hadoop-2.6.0/tmp</value>

<description>A base for other temporary directories.</description>

</property>

<property>

<name>fs.defaultFS</name>

<value>hdfs://master:9000</value>

</property>

<property>

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

<value>4096</value>

</property>

</configuration>

 

2)   hadoop-env.sh 添加如下环境变量(一定要添加切勿少了) 

export JAVA_HOME=/opt/jdk1.8.0_91

export HADOOP_PID_DIR=/home/hnu/hadoop-2.6.0/pids

在yarn-env.sh下添加如下环境变量

export JAVA_HOME=/opt/jdk1.8.0_91

export YARN_PID_DIR=/home/hnu/hadoop-2.6.0/pids

 

3) hdfs-site.xml 

<configuration>

<property>

<name>dfs.namenode.name.dir</name>

<value>file:/home/hnu/hadoop-2.6.0/name</value>

</property>

<property>

<name>dfs.datanode.data.dir</name>

<value>file:/home/hnu/hadoop-2.6.0/data</value>

</property>

<property>

<name>dfs.replication</name>

<value>2</value>

</property>

<property>

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

<value>master:50090</value>

</property>

<property>

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

<value>true</value>

</property>

</configuration>

 

4)  mapred-site.xml 

<configuration>

<property>

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

<value>yarn</value>

<final>true</final>

</property>

<property>

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

<value>master:50030</value>

</property>

<property>

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

<value>master:10020</value>

</property>

<property>

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

<value>master:19888</value>

</property>

<property>

<name>mapred.job.tracker</name>

<value>http://master:9001</value>

</property>

</configuration>

 

5) yarn-site.xml 

<configuration>

<!-- Site specific YARN configuration properties -->

<property>

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

<value>master</value>

</property>

<property>

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

<value>mapreduce_shuffle</value>

</property>

<property>

<name>yarn.resourcemanager.address</name>

<value>master:8032</value>

</property>

<property>

<name>yarn.resourcemanager.scheduler.address</name>

<value>master:8030</value>

</property>

<property>

<name>yarn.resourcemanager.resource-tracker.address</name>

<value>master:8031</value>

</property>

<property>

<name>yarn.resourcemanager.admin.address</name>

<value>master:8033</value>

</property>

<property>

<name>yarn.resourcemanager.webapp.address</name>

<value>master:8088</value>

</property>

</configuration>

 

6)slaves

slave1

slave2

 

7、向各节点复制hadoop

向slave1节点复制hadoop:

hnu@Master:~$  scp -r ./hadoop-2.6.0/ slave1:~

向slave2节点复制hadoop:

hnu@Master:~$  scp -r ./hadoop-2.6.0/ slave2:~

 

8、赋予权限

对master/slave1/slave2执行相同操作

将目录hadoop文件夹及子目录的所有者和组更改为用户hnu和组hadoop

root@Master:/home/hnu# chown -R hnu:hadoop hadoop-2.6.0

 

9、格式化hadoop

hnu@Master:~$ source /etc/profile

hnu@Master:~$ hdfs namenode -format

 

 

 

10、启动/关闭hadoop

start-all.sh/stop-all.sh

start-dfs.sh/start-yarn.sh

stop-dfs.sh/stop-dfs.sh

 

 

查看hdfs/RM

192.168.48.128:50070/192.168.48.128:8088

master:50070/master:8088

 

 

注:

(1)hadoop集群启动jps查看后没有DATANODE 

删除slave1/slave2  中  /home/hnu/hadoop/data/current/VERSION文件后重启即可

写留言

微信扫一扫
关注该公众号

转载于:https://www.cnblogs.com/zhangguangxu98/p/8434212.html

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

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

相关文章

DEX加密效果分析

dex加密目的&#xff1a;保护安卓应用的Java源代码&#xff0c;避免被恶意分析&#xff0c;技术被窃取准备工具&#xff1a;1、apktool &#xff1a;反编译apk&#xff0c;提取smali代码2、dex2jar &#xff1a;将dex转化为jar文件3、jd-gui &#xff1a;查看jar文件&#xff0…

一些比特率值

比特率 比特率是指将数字声音由模拟格式转化成数字格式的采样率&#xff0c;采样率越高&#xff0c;还原后的音质就越好。 比特率值与现实音频对照&#xff1a; 16KBPS电话音质 24KBPS增加电话音质、短波广播、长波广播、欧洲制式中波广播40KBPS美国制式中波广播56KBPS话…

java asynccontext,超时后的JavaEE 6 AsyncContext行为

What is the exact behavior of AsyncContext after it times out? Does it still run and does it return response using getResponse()?解决方案Java Servlet 3.0 Maintenance Release on page 34 reads:A call to this method - ServletRequest.startAsync(ServletReques…

BZOJ1857:[SCOI2010]传送带——题解

http://www.lydsy.com/JudgeOnline/problem.php?id1857 Description 在一个2维平面上有两条传送带&#xff0c;每一条传送带可以看成是一条线段。两条传送带分别为线段AB和线段CD。lxhgww在AB上的移动速度为P&#xff0c;在CD上的移动速度为Q&#xff0c;在平面上的移动速度R。…

mnt/sdcard和storage/sdcard的区别

/mnt 目录&#xff0c;熟悉linux的人都清楚&#xff0c;linux默认挂载外部设备都会挂到这个目录下面去&#xff0c;如将sd卡挂载上去后&#xff0c;会生成一个/mnt/sdcard 目录。 storage/sdcard 目录&#xff0c;这是一个软链接&#xff08;相当于windows的文件夹的快捷方式&a…

kd树的原理

kd树就是一种对k维空间中的实例点进行存储以便对其进行快速检索的树形数据结构&#xff0c;可以运用在k近邻法中&#xff0c;实现快速k近邻搜索。构造kd树相当于不断地用垂直于坐标轴的超平面将k维空间切分。    假设数据集\(T\)的大小是\(m*n\),即\(T{x_1,x_2,...x_m}\),其中…

应聘华为的朋友小心了,应聘华为的悲惨遭遇!

以下内容全部真实&#xff0c;为本人亲身经历。可随时进行当面对质。 本人女朋友&#xff0c;原本是西安一家企业里面的行政助理&#xff0c;工作比较稳定&#xff0c;收入不高&#xff0c;但也基本够她用了。 一天&#xff0c;我的一个同学&#xff08;华为员工&#xff09;说…

力软 java主从表保存_JAVA常用知识总结(十二)——数据库(二)

MySQL主从热备份工作原理简单的说&#xff1a;就是主服务器上执行过的sql语句会保存在binLog里面&#xff0c;别的从服务器把他同步过来&#xff0c;然后重复执行一遍&#xff0c;那么它们就能一直同步啦。整体上来说&#xff0c;复制有3个步骤&#xff1a;作为主服务器的Maste…

HttpClient和DefaultHttpClient

HttpClient 是接口&#xff0c;DefaultHttpClient是实现这个接口的子类 public interface HttpClient {/*** Obtains the parameters for this client.* These parameters will become defaults for all requests being* executed with this client, and for the parameters of…

Go语言版黑白棋

1、游戏说明2、无边框窗口实现3、背景图、最小化、关闭窗口4、界面其它设计5、黑白子提示闪烁效果6、落子7、初始化棋子、改变角色8、倒计时9、吃子10、棋子个数统计、胜负判断11、机器落子 转载于:https://www.cnblogs.com/tennysonsky/p/8442827.html

vue使用render渲染jsx

vue&jsx文档 vue实例属性 // App.ts import hBtn from ./components/hBtn import hUl from ./components/hUlexport default {data(){return {theme: "mdui-theme-pink",accent: "mdui-theme-accent-pink",users:[aoo, boo, coo]}},methods:{},render(…

java中的多线程有什么意义_Java多线程与并发面试题(小结)

1&#xff0c;什么是线程&#xff1f;线程是操作系统能够进行运算调度的最小单位&#xff0c;它被包含在进程之中&#xff0c;是进程中的实际运作单位。程序员可以通过它进行多处理器编程&#xff0c;你可以使用多线程对运算密集型任务提速。比如&#xff0c;如果一个线程完成一…

IT必须掌握的常用命令

一&#xff0c;ping      它是用来检查网络是否通畅或者网络连接速度的命令。作为一个生活在网络上的管理员或者黑客来说&#xff0c;ping命令是第一个必须掌握的DOS命令&#xff0c;它所利用的原理是这样的&#xff1a;网络上的机器都有唯一确定的IP地址&#xff0c;我们…

Callable类

&#xff08;一&#xff09; Callable和Runnable比较相似&#xff0c;都可以用来实现线程任务。但callable使用了泛型设计&#xff0c;使用一个V类型值&#xff0c;能够 在执行结束后返回一个V类型的值。而Runable只会返回一个void&#xff0c;不能够获得执行的结果。 &#x…

Java——线程的创建,线程池

线程 多线程就是一个程序中有多个线程在同时执行。 多线程下CPU的工作原理 实际上&#xff0c;CPU(中央处理器)使用抢占式调度模式在多个线程间进行着高速的切换。对于CPU的一个核而言&#xff0c;某个时刻&#xff0c;只能执行一个线程&#xff0c;而CPU的在多个线程间切换速度…

初级第一旬05— 蓝字观试题

准提法网络佛学院 准提法教学平台 一、高七师提倡初学准提法者&#xff0c;应先观蓝字&#xff0c;在《显密圆通成佛心要集》中有依据吗&#xff1f; 二、正修的时候&#xff0c;如果不得不中断怎么办&#xff1f; 三、蓝字观有几种手印&#xff1f;可以单独使用吗&#xff1f;…

java并查集找朋友圈_图—并查集(解决朋友圈问题)

图也是一种 非线性结构&#xff0c;是由多个顶点组成的关系集合组成的一种数据结构。图可以分为两种&#xff0c;无向图和有向图。★图的定义:★典型问题&#xff1a;利用图能够解决很多问题&#xff0c;这里有一个较为典型的问题&#xff0c;假如已知有n个人和m对好友关系(存于…

技术这东西,不可不看,不可全看.

最近忙着玩开心,好久没来CSDN了,首页上有90后程序员的消息了,稍微感慨一下,曾几何时,自己这个80后还被70后的前辈所笑话,转眼就成了5年经验的老油条了.呵呵. 5年,个人认为经历还是有些代表性的,就跟刚入行或者即将入行的哥们交个底吧,这5年到底学到了什么. 如果你看完这篇文…

rand.nextint()

自从JDK最初版本发布起&#xff0c;我们就可以使用java.util.Random类产生随机数了。在JDK1.2中&#xff0c;Random类有了一个名为nextInt()的方法&#xff1a;public int nextInt(int n)给定一个参数n&#xff0c;nextInt(n)将返回一个大于等于0小于n的随机数&#xff0c;即&a…

Android开发常用的插件及工具

1、GitHub,这个不管是做安卓还是其他&#xff0c;只要是开发就必上的网站&#xff0c;也是天朝没有墙掉为数不多的网站 2、Stack OverFlow,这个和上面一样&#xff0c;国外非常著名的问答网站&#xff0c;在上面基本上很多问题都可以得到解决 3、Genymotion模拟器&#xff0c;搞…