(参考资料)Hadoop安装配置超详细步骤

(参考资料)Hadoop安装配置超详细步骤
(参考资料)Hadoop安装配置超详细步骤

Hadoop的安装

1、实现linux的ssh无密码验证配置.

2、修改linux的机器名,并配置/etc/hosts

3、在linux下安装jdk,并配好环境变量

4、在windows下载hadoop 1.0.1,并修改hadoop-env.sh,core-site.xml,

hdfs-site.xml, mapred-site.xml,masters,slaves文件的配置

5、创建一个给hadoop备份的文件。

6、把hadoop的bin加入到环境变量

7、修改部分运行文件的权限

8、格式化hadoop,启动hadoop

注意:这个顺序并不是一个写死的顺序,就得按照这个来。如果你知道原理,可以打乱顺序来操作,比如1、2、3,先哪个后哪个,都没问题,但是有些步骤还是得依靠一些操作完成了才能进行,新手建议按照顺序来。

一、实现linux的ssh无密码验证配置

(1)配置理由和原理

Hadoop需要使用SSH协议,namenode将使用SSH协议启动namenode和datanode进程,(datanode向namenode传递心跳信息可能也是使用SSH协议,这是我认为的,还没有做深入了解)。大概意思是,namenode 和datanode之间发命令是靠ssh来发的,发命令肯定是在运行的时候发,发的时候肯定不希望发一次就弹出个框说:有一台机器连接我,让他连吗。所以就要求后台namenode和datanode 无障碍的进行通信。

以namenode到datanode为例子:namenode作为客户端,要实现无密码公钥认证,连接到服务端datanode上时,需要在namenode上生成一个密钥对,包括一个公钥和一个私钥,而后将公钥复制到datanode上。当namenode通过ssh连接datanode时,datanode就会生成一个随机数并用namenode的公钥对随机数进行加密,并发送给namenode。namenode收到加密数之后再用私钥进行解密,并将解密数回传给datanode,datanode确认解密数无误之后就允许namenode 进行连接了。这就是一个公钥认证过程,其间不需要用户手工输入密码。重要过程是将客户端namenode公钥复制到datanode上。

(2)具体操作

生成密钥的方法,是操作在namenode上的,在linux上输入ssh-keygen -t rsa 一直回车,可以生成密钥。我们办公室的namenode上已经有了生成好的密钥,所以不用生成。只需将namenode上的密钥copy下来,复制到需要装hadoop的电脑上即可。

1、在namenode上找到/root/.ssh 文件,会看到两个文件id_rsa.pub,id_rsa。

然后执行cp id_rsa.pub authorized_keys

然后ssh localhost验证是否成功,第一次要你输入yes,以后就不需要了。(这是自我验证,把id_rsa.pub 文件拷贝到authorized_keys,然后自我检验,自己连自己看看能否成功)

2、拷贝密钥

方法一:你可以使用WinSCP软件,将authorized_keys文件复制到datanode的/root/.ssh文件里。

方法二:你可以在linux上输入

[root@namenode1 ~]# cd /root/.ssh

[root@namenode1 .ssh]# ls

authorized_keys id_rsa id_rsa.pub known_hosts

[root@namenode1 .ssh]# sz authorized_keys(将文件下载到你电脑)

然后在你要装datanode上输入

[root@datanode1_3 ~]# cd /root/.ssh

[root@datanode1_3 .ssh]# rz(选择文件上传到datanode的对应文件上)将authorized_keys传到datanode的/root/.ssh 上。

方法三:输入命令行:

[root@namenode1 .ssh] #scp authorized_keys 192.168.1.109(datanode的IP):/root/.ssh

这是拷贝命令,将namenode上的authorized_keys 拷贝到datanode

的/root/,ssh 上。

(3)验证配置成功的方法

在namenode上输入:ssh datanode的IP地址(或者在hosts文件配置好后,也可以使用datanode的机器名)

第一次连接时,会出现一个问题,输入yes,就可以连到datanode的机子上了,无需密码。

root@namenode1 ~]# ssh datanode1_2

The authenticity of host 'datanode1_2 (192.168.1.117)' can't be established.RSAkeyfingerprintis2b:3b:84:66:fb:bd:b1:a7:77:ae:49:7 7:52:a8:53:7d.Are you sure you want to continue connecting (yes/no)? yes

Warning: Permanently added 'datanode2' (RSA) to the list of known hosts.

Last login: Wed Apr 25 15:57:15 2012

[root@datanode1_2 ~]#

我们可以看到我们已经转到了datanode上了。

注意:

(1)当你ssh连到datanode之后,也就是你已经转到了该datanode下,不在原来的机器上了。你可以输入命令行:#exit 回到原来的机器。

(2)namenode ssh到datanode是不需要密码的,但是datanode ssh到namenode上是需要密码的。

二、修改linux机器名

(1)查看主机名

在命令行输入:hostname

[root@namenode1 /]# cd

[root@namenode1 ~]# hostname

namenode1

这是你的主机名。

(2)修改主机名(这一步主要是修改主机,让主机记住分机)

1、执行cd /etc/sysconfig,进入/etc/sysconfig目录下

2、执行vi network,修改network文件,

NETWORKING=yes

HOSTNAME=hadoopName(修改成你需要的)

把HOSTNAME改成你想要的机器名,办公室的电脑是改成namenode 和datanode,保存。

3、执行cd /etc,进入/etc目录下

4、执行vi hosts

[root@namenode1 etc]# vi hosts

192.168.1.115 namenode1 namenode1

192.168.1.116 datanode1_1 datanode1_1

192.168.1.117 datenode1_2 datanode1_2

192.168.1.111 datenode1_3 datanode1_3

192.168.1.109 datenode1_4 datanode1_4

127.0.0.1 localhost.localdomain localhost

要加入的datanode,把IP地址和机器名加在后面。这一步是让主机记住datanode的名字。所以在修改datanode的hosts时,只需写入namenode和你需要加入hadoop机器的datanode的IP地址及机器名就好。

[root@datanode1_4 etc]# vi hosts

127.0.0.1 localhost.localdomain localhost

192.168.1.115 namenode1 namenode1

192.168.1.109 datanode1_4 datanode1_4

5、输入hostname检查主机名。

重启电脑之后执行hostname命令。

三、安装JDK,并配置环境变量

(1)安装JDK

先在linux下面建一个目录用来安装jdk,我建的目录是/usr/program,就是以后jdk安装到这个目录下面。

在namenode上已经下载有最新的JDK安装包,不需要重新下载,直

接使用。

[root@namenode1 ~]# cd /usr/program/

[root@namenode1 program]# ls

hadoop-1.0.1 hadoop-1.0.1.tar.gz jdk-6u31-linux-x64.bin hadoop-1.0.1.tar jdk1.6.0_31

把jdk-6u31-linux-x64.bin 这个文件传到你要安装的datanode的新建目录/usr/program上去。

然后开始安装

1、执行chmod +x jdk-6u31-linux-x64.bin,(这是因为这个文件传过来不是可执行的文件,要把他变成可执行文件)。

2、执行 ./jdk-6u31-linux-x64.bin,(1、2步骤都是在/usr/program 目录下执行的,2步骤,一路回车,遇到yes/no? 全部yes,最后会done,安装成功).

3、执行 ls,会发现/usr/program 这个目录下有个文件,一个是

jdk-6u31-linux-x64.bin就是我们上传上来的,另一个就是jdk1.6.0_31,就是jdk的安装根目录.

(2)配置环境变量

1、执行 cd /etc, 进入/etc 目录下。

2、执行 vi profile, 修改profile文件

在里面加入以下四行(红色部分):

HOSTNAME=`/bin/hostname`

HISTSIZE=1000

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then

INPUTRC=/etc/inputrc

fi

export JA V A_HOME=/usr/program/jdk1.6.0_31

export PATH=$JA V A_HOME/bin:$JA V A_HOME/jre/bin:$PATH

export CLASSPATH=.:$JA V A_HOME/lib:$JA V A_HOME/jre/lib

# export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC export HADOOP_HOME=/usr/program/hadoop-1.0.1

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

export CLASSPATH=$CLASSPATH:$HADOOP_HOME/hadoop-core-1.0.1.jar

for i in /etc/profile.d/*.sh ; do

if [ -r "$i" ]; then

if [ "$PS1" ]; then

. $i

else

. $i >/dev/null 2>&1

fi

fi

done

unset i

unset pathmunge

3、执行chmod +x profile ,把profile变成可执行文件

4、执行source profile,把profile里的内容执行生效

5、执行,java、javac、java -version 查看是否安装成功.

(四)、下载hadoop 1.0.1,并修改hadoop-env.sh,core-site.xml,hdfs-site.xml, mapred-site.xml,masters,slaves文件的配置。在我们的namenode1上已经有hadoop 1.0.1解压包,可以直接下来用。

[root@namenode1 ~]# cd /usr/program/

[root@namenode1 program]# ls

hadoop-1.0.1 hadoop-1.0.1.tar.gz jdk-6u31-linux-x64.bin hadoop-1.0.1.tar jdk1.6.0_31

在你要安装的电脑上解压hadoop-1.0.1.tar.gz。

(1)修改hadoop-env.sh文件

[root@datanode1_3 ~]# cd /usr/program/hadoop-1.0.1

[root@datanode1_3 hadoop-1.0.1]# cd conf

[root@datanode1_3 conf]# vi hadoop-env.sh

修改红色部分

# The java implementation to use. Required.

export JA V A_HOME=/usr/program/jdk1.6.0_31 (我们新装的JDK的版本)

将JDK修改成你的版本。

(2)修改core-site.xml

[root@namenode1 conf]# vi core-site.xml

hadoop.tmp.dir

/usr/local/hadoop/hadooptmp

https://www.360docs.net/doc/a716731866.html,

hdfs://192.168.1.115:9000 (改成namenode的IP)

加入红色部分。

(3)修改hdfs-site.xml

[root@namenode1 conf]# vi hdfs-site.xml

dfs.replication

3

加入红色部分

(4)修改mapred-site.xml

[root@namenode1 conf]# vi mapred-site.xml

mapred.job.tracker

192.168.1.115:9001 (改成namenode的IP)

加入红色部分

(5)修改masters和slaves

[root@namenode1 conf]# vi masters

192.168.1.115 (namenode的IP)

[root@namenode1 conf]# vi slaves

192.168.1.116 (datanode的IP)

192.168.1.117

192.168.1.111

这一步主要是在hadoop上表示,主机也就是masters是哪一台,分机也就是slaves是哪几台,后面加入的datanode的IP都需要加入到namenode的slaves上。datanode上的masters要写入namenode的IP ,slaves就不用管了。

OK了!

五、创建一个给hadoop备份的文件建一个目录

上述文件修改好之后,记得建个目录,我建的目录是/usr/local/hadoop 在启动hadoop之后会在这个目录下面产生一个tmp临时文件。[root@datanode1_4 ~]# cd /usr/local/hadoop/

[root@datanode1_4 hadoop]# ls

hadooptmp

这个文件是安装完启动之后自动产生的,建了目录之后直接下一步就可以了。在连好之前,保证这个文件不存在。

六、把hadoop的bin加入到环境变

1、执行cd /etc, 进入/etc 目录下。

2、执行 vi profile,修改profile文件

在里面加入以下四行

if [ -z "$INPUTRC" -a ! -f "$HOME/.inputrc" ]; then

INPUTRC=/etc/inputrc

fi

export JA V A_HOME=/usr/program/jdk1.6.0_31

export PATH=$JA V A_HOME/bin:$JA V A_HOME/jre/bin:$PATH

export CLASSPATH=.:$JA V A_HOME/lib:$JA V A_HOME/jre/lib

# export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE INPUTRC export HADOOP_HOME=/usr/program/hadoop-1.0.1

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

export CLASSPATH=$CLASSPATH:$HADOOP_HOME/hadoop-core-1.0.1.jar

for i in /etc/profile.d/*.sh ; do

if [ -r "$i" ]; then

if [ "$PS1" ]; then

. $i

else

. $i >/dev/null 2>&1

fi

fi

done

unset i

unset pathmunge

加入红色部分

3、执行chmod +x profile,把profile变成可执行文件

4、执行source profile,把profile里的内容执行生效

(我们不管是装hadoop和JDK都修改了环境变量,都是在

/etc/profile上vi修改的,所以我们做完第一步和第二部之后,可以把profile整个拷贝到你需要增加的datanode节点上。在进行部分文件权限的修改,就可以了。因为在profile文件里的内容是一样的。)

七、修改部分运行文件的权限。(这个步骤主要是对新加入的datanode操作的,不需要在namenode进行修改)

/usr/program/hadoop-1.0.1/bin

将这个文件下的所有的.sh 文件变成可执行文件。

[root@datanode1_4 ~]# cd /usr/program/hadoop-1.0.1/bin

[root@datanode1_4 bin]# chmod +x *.sh

将这个文件下的hadoop这个文件变成可执行文件。

#chmod +x hadoop

八、格式化hadoop,启动hadoop

保证主机和分机的防火墙都是关着的。

(1)格式化

在namenode上执行# hadoop namenode –format

(2)启动hadoop

输入命令start-all.sh (终止命令是stop-all.sh) (2)输入jps检验hadoop的启动情况。

会出现

[root@namenode1 ~]# jps

3916 NameNode

4087 SecondaryNameNode

4310 Jps

4185 JobTracker

表示namenode运行正常。

(3)在网页上检查是否加入了新的datanode http://192.168.1.115:50070/

会出现

可以看到节点的运行情况。(4)检查map reduce的运行情况http://192.168.1.115:50030/

可以看到节点运行map reduce的情况。

如果都显示出节点的情况,表示你已经安装成功了。

新加datanode的安装步骤

1、ssh无密码配置和上面详细步骤一样,在新datanode上的/root 上建一个/.ssh的目录,把namenode的authorized_keys复制到新datanode的/.ssh目录上。在namenode上ssh验证一下是否需要密码。

2修改机器名,和上面详细步骤一样。记得重启一下。

3建/usr/program这个目录,把jdk的安装文件放进去,安装一下。这和上面详细步骤一样,但不需要修改环境变量。

4将namenode上/usr/program/hadoop-1.0.1这个文件拷贝到新datanode的相同目录下。再将namenode上面/etc/profile这个文件拷贝到新datanode相同目录上。查看profile的可执行情况,不可执行就用命令把profile变成可执行文件,再用source命令让profile生效。

5在/usr/local/下面建一个hadoop目录,保证里面是空的。Hadoop 安装好了之后会在这里产生一个临时文件。

6和上面详细步骤的第七步一样,修改几个文件的权限。

7关闭防火墙重启一下,在namenode上输入start-all.sh运行一下,jps看一下进程中是否有namenode,在新datanode上输入jps看一下datanode是否启动。最后和上面详细步骤一样,查看一下网页,看一下节点运作情况。如果live nodes数目与所有datanode 数目一致,表示安装好了,你可以休息了。

hadoop集群完整配置过程详细笔记

本文为笔者安装配置过程中详细记录的笔记 1.下载hadoop hadoop-2.7.1.tar.gz hadoop-2.7.1-src.tar.gz 64位linux需要重新编译本地库 2.准备环境 Centos6.4 64位,3台 hadoop0 192.168.1.151namenode hadoop1 192.168.1.152 datanode1 Hadoop2 192.168.1.153 datanode2 1)安装虚拟机: vmware WorkStation 10,创建三台虚拟机,创建时,直接建立用户ha,密码111111.同时为root密码。网卡使用桥接方式。 安装盘 、 2). 配置IP.创建完成后,设置IP,可以直接进入桌面,在如下菜单下配置IP,配置好后,PING 确认好用。 3)更改三台机器主机名 切换到root用户,更改主机名。 [ha@hadoop0 ~]$ su - root Password: [root@hadoop0 ~]# hostname hadoop0 [root@hadoop0 ~]# vi /etc/sysconfig/network NETWORKING=yes HOSTNAME=hadoop0 以上两步后重启服务器。三台机器都需要修改。 4)创建hadoop用户 由于在创建虚拟机时,已自动创建,可以省略。否则用命令创建。

5)修改hosts文件 [root@hadoop0 ~]# vi /etc/hosts 127.0.0.1 localhostlocalhost.localdomain localhost4 localhost4.localdomain4 ::1localhostlocalhost.localdomain localhost6 localhost6.localdomain6 192.168.1.151 hadoop0 192.168.1.152 hadoop1 192.168.1.153 hadoop2 此步骤需要三台机器都修改。 3.建立三台机器间,无密码SSH登录。 1)三台机器生成密钥,使用hadoop用户操作 [root@hadoop0 ~]# su– ha [ha@hadoop0 ~]$ ssh -keygen -t rsa 所有选项直接回车,完成。 以上步骤三台机器上都做。 2)在namenode机器上,导入公钥到本机认证文件 [ha@hadoop0 ~]$ cat ~/.ssh/id_rsa.pub>>~/.ssh/authorized_keys 3)将hadoop1和hadoop2打开/home/ha/.ssh/ id_rsa.pub文件中的内容都拷贝到hadoop0的/home/ha /.ssh/authorized_keys文件中。如下: 4)将namenode上的/home/ha /.ssh/authorized_keys文件拷贝到hadoop1和hadoop2的/home/ha/.ssh文件夹下。同时在三台机器上将authorized_keys授予600权限。 [ha@hadoop1 .ssh]$ chmod 600 authorized_keys 5)验证任意两台机器是否可以无密码登录,如下状态说明成功,第一次访问时需要输入密码。此后即不再需要。 [ha@hadoop0 ~]$ ssh hadoop1 Last login: Tue Aug 11 00:58:10 2015 from hadoop2 4.安装JDK1.7 1)下载JDK(32或64位),解压 [ha@hadoop0 tools]$ tar -zxvf jdk-7u67-linux-x64.tar.gz 2)设置环境变量(修改/etx/profile文件), export JAVA_HOME=/usr/jdk1.7.0_67 export CLASSPATH=:$CLASSPATH:$JAVA_HOME/lib:$JAVA_HOME/jre/lib export PATH=$PATH:$JAVA_HOME/bin:$JAVA_HOME/jre/bin 3)使环境变量生效,然后验证JDK是否安装成功。

Hadoop集群MYSQL的安装指南

前言 本篇主要介绍在大数据应用中比较常用的一款软件Mysql,我相信这款软件不紧紧在大数据分析的时候会用到,现在作为开源系统中的比较优秀的一款关系型开源数据库已经被很多互联网公司所使用,而且现在正慢慢的壮大中。 在大数据分析的系统中作为离线分析计算中比较普遍的两种处理思路就是:1、写程序利用 mapper-Reducer的算法平台进行分析;2、利用Hive组件进行书写Hive SQL进行分析。 第二种方法用到的Hive组件存储元数据最常用的关系型数据库最常用的就是开源的MySQL了,这也是本篇最主要讲解的。 技术准备 VMware虚拟机、CentOS 6.8 64 bit、SecureCRT、VSFTP、Notepad++ 软件下载 我们需要从Mysql官网上选择相应版本的安装介质,官网地址如下: MySQL下载地址:https://www.360docs.net/doc/a716731866.html,/downloads/

默认进入的页面是企业版,这个是要收费的,这里一般建议选择社区开源版本,土豪公司除外。

然后选择相应的版本,这里我们选择通用的Server版本,点击Download下载按钮,将安装包下载到本地。 下载完成,上传至我们要安装的系统目录。 这里,需要提示下,一般在Linux系统中大型公用的软件安装在/opt目录中,比如上图我已经安装了Sql Server On linux,默认就安装在这个目录中,这里我手动创建了mysql目录。 将我们下载的MySQL安装介质,上传至该目录下。

安装流程 1、首先解压当前压缩包,进入目录 cd /opt/mysql/ tar -xf mysql-5.7.16-1.el7.x86_64.rpm-bundle.tar 这样,我们就完成了这个安装包的解压。 2、创建MySql超级管理用户 这里我们需要单独创建一个mySQL的用户,作为MySQL的超级管理员用户,这里也方便我们以后的管理。 groupaddmysql 添加用户组 useradd -g mysqlmysql 添加用户 id mysql 查看用户信息。

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu_CentOS

Hadoop集群安装配置教程_Hadoop2.6.0_Ubuntu/CentOS 本教程讲述如何配置Hadoop 集群,默认读者已经掌握了Hadoop 的单机伪分布式配置,否则请先查看Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置。 本教程由厦门大学数据库实验室出品,转载请注明。本教程适合于原生Hadoop 2,包括Hadoop 2.6.0, Hadoop 2.7.1 等版本,主要参考了官方安装教程,步骤详细,辅以适当说明,保证按照步骤来,都能顺利安装并运行Hadoop。另外有Hadoop安装配置简略版方便有基础的读者快速完成安装。 为了方便新手入门,我们准备了两篇不同系统的Hadoop 伪分布式配置教程。但其他Hadoop 教程我们将不再区分,可同时适用于Ubuntu 和CentOS/RedHat 系统。例如本教程以Ubuntu 系统为主要演示环境,但对Ubuntu/CentOS 的不同配置之处、CentOS 6.x 与CentOS 7 的操作区别等都会尽量给出注明。 环境 本教程使用Ubuntu 14.04 64位作为系统环境,基于原生Hadoop 2,在Hadoop 2.6.0 (stable)版本下验证通过,可适合任何Hadoop 2.x.y 版本,例如Hadoop 2.7.1,Hadoop 2.4.1 等。 本教程简单的使用两个节点作为集群环境: 一个作为Master 节点,局域网IP 为192.168.1.121;另一个作为Slave 节点,局域网IP 为192.168.1.122。 准备工作 Hadoop 集群的安装配置大致为如下流程: 1.选定一台机器作为Master 2.在Master 节点上配置hadoop 用户、安装SSH server、安装Java 环境 3.在Master 节点上安装Hadoop,并完成配置 4.在其他Slave 节点上配置hadoop 用户、安装SSH server、安装Java 环境 5.将Master 节点上的/usr/local/hadoop 目录复制到其他Slave 节点上 6.在Master 节点上开启Hadoop 配置hadoop 用户、安装SSH server、安装Java 环境、安装Hadoop 等过程已经在Hadoop安装教程_单机/伪分布式配置或CentOS安装Hadoop_单机/伪分布式配置中有详细介绍,请前往查看,不再重复叙述。 继续下一步配置前,请先完成上述流程的前 4 个步骤。 网络配置 假设集群所用的节点都位于同一个局域网。 如果使用的是虚拟机安装的系统,那么需要更改网络连接方式为桥接(Bridge)模式,才能实现多个节点互连,例如在VirturalBox 中的设置如下图。此外,如果节点的系统是在虚拟机中直接复制的,要确保各个节点的Mac 地址不同(可以点右边的按钮随机生成MAC 地址,否则IP 会冲突):

hadoop基本命令_建表-删除-导数据

HADOOP表操作 1、hadoop简单说明 hadoop 数据库中的数据是以文件方式存存储。一个数据表即是一个数据文件。hadoop目前仅在LINUX 的环境下面运行。使用hadoop数据库的语法即hive语法。(可百度hive语法学习) 通过s_crt连接到主机。 使用SCRT连接到主机,输入hive命令,进行hadoop数据库操作。 2、使用hive 进行HADOOP数据库操作

3、hadoop数据库几个基本命令 show datebases; 查看数据库内容; 注意:hadoop用的hive语法用“;”结束,代表一个命令输入完成。 usezb_dim; show tables;

4、在hadoop数据库上面建表; a1: 了解hadoop的数据类型 int 整型; bigint 整型,与int 的区别是长度在于int; int,bigint 相当于oralce的number型,但是不带小数点。 doubble 相当于oracle的numbe型,可带小数点; string 相当于oralce的varchar2(),但是不用带长度; a2: 建表,由于hadoop的数据是以文件有形式存放,所以需要指定分隔符。 create table zb_dim.dim_bi_test_yu3(id bigint,test1 string,test2 string)

row format delimited fields terminated by '\t' stored as textfile; --这里指定'\t'为分隔符 a2.1 查看建表结构: describe A2.2 往表里面插入数据。 由于hadoop的数据是以文件存在,所以插入数据要先生成一个数据文件,然后使用SFTP将数据文件导入表中。

Hadoop-0.20.2详细安装及疑难问题

安装 2011年4月4日 10:13 Hadoop-0.20.2安装使用 1、Cygwin 安装 ssh 2、按照以下的文档配置ssh 在Windows上安装Ha doop教程.pdf 3、几个配置文件的配置 3.1、conf/core-site.xml https://www.360docs.net/doc/a716731866.html, hdfs://localhost:9000 true hadoop.tmp.dir /workspace/temp/hadoop/tmp/hadoop- ${https://www.360docs.net/doc/a716731866.html,} true 3.2、conf/hdfs-site.xml dfs.replication 1 true https://www.360docs.net/doc/a716731866.html,.dir /workspace/temp/hadoop/data/hadoop/name true

dfs.data.dir /workspace/temp/hadoop/data/hadoop/data true 3.3、conf/mapred-site.xml mapred.job.tracker localhost:9001 true 3.4、conf/hadoop-env.sh export JAVA_HOME=D:/workspace/tools/jdk1.6 4、解决启动的时候 ClassNotFound: org.apache.hadoop.util.PlatformName 将 %hadoop_home%\bin\hadoop-config.sh中的第190行 修改为如下: JAVA_PLATFORM=`CLASSPATH=${CLASSPATH} ${JAVA} -Xmx32m -classpath ${HADOOP_COMMON_HOME}/hadoop-common-0.21.0.jar org.apache.hadoop.util.PlatformName | sed -e "s/ /_/g"` 5、命令

hadoop3安装和配置

hadoop3.0.0安装和配置1.安装环境 硬件:虚拟机 操作系统:Centos 7 64位 IP:192.168.0.101 主机名:dbp JDK:jdk-8u144-linux-x64.tar.gz Hadoop:hadoop-3.0.0-beta1.tar.gz 2.关闭防火墙并配置主机名 [root@dbp]#systemctl stop firewalld #临时关闭防火墙 [root@dbp]#systemctl disable firewalld #关闭防火墙开机自启动 [root@dbp]#hostnamectl set-hostname dbp 同时修改/etc/hosts和/etc/sysconfig/network配置信息 3.配置SSH无密码登陆 [root@dbp]# ssh-keygen -t rsa #直接回车 [root@dbp]# ll ~/.ssh [root@dbp .ssh]# cp id_rsa.pub authorized_keys [root@dbp .ssh]# ssh localhost #验证不需要输入密码即可登录

4.安装JDK 1、准备jdk到指定目录 2、解压 [root@dbp software]# tar–xzvf jdk-8u144-linux-x64.tar.gz [root@dbp software]# mv jdk1.8.0_144/usr/local/jdk #重命名4、设置环境变量 [root@dbp software]# vim ~/.bash_profile 5、使环境变量生效并验证 5.安装Hadoop3.0.0 1、准备hadoop到指定目录 2、解压

Hadoop全分布式安装配置

Hadoop全分布式安装配置 一实验目的: 1、了解Hadoop的体系结构、组成; 2、熟练掌握Hadoop的配置、安装方法; 3、通过安装Hadoop了解Hadoop的原理; 二实验内容: 集群包含三个安装了Linux操作系统的节点。将其中的一个节点作为NameNode,另外两个节点作为DataNode,安装之前先利用ping命令,确认三个节点之间的网络互通,即可以互相ping通。假设三个节点IP地址如下,实际的集群节点IP地址可以不同。 NameNode:192.168.198.2 主机名:master DataNode1:192.168.198.3 主机名:slaver1 DataNode2:192.168.198.4 主机名:slaver2 三实验环境: 在申请的虚拟服务器上安装了VMWare Workstation虚拟3个Ubuntu14.04系统。 四安装配置过程: 1、安装Vmware WorkStation软件 下载安装Vmware WorkStation12.0软件。 2、在虚拟机上安装linux操作系统 在Vmware WorkStation12.0中创建一个Ubuntu14.04系统。拷贝镜像文件复制出三个系统。分别为master、slaver1、slaver2。 3、配置hosts、hostname文件

在三台机器上配置相同的hosts文件 (1)修改hosts sudo gedit /etc/hosts 192.168.198.200 master 192.168.198.199 slave1 192.168.198.198 slave2 (2)修改hostname sudo gedit /etc/hostname 4、配置ip地址 配置ip:sudo gedit /etc/network/interfaces slave2 auto eth0 iface eth0 inet static address 192.168.198.198 gateway 192.168.198.107 netmask 255.255.255.0 slave1 auto eth0 iface eth0 inet static address 192.168.198.199 gateway 192.168.198.107 netmask 255.255.255.0 master auto eth0 iface eth0 inet static address 192.168.198.200 gateway 192.168.198.107 netmask 255.255.255.0

centos下hadoop2.6.0配置

Hadoop-2.6.0配置 前面的部分跟配置Hadoop-1.2.1的一样就可以,什么都不用变,完全参考文档1即可。下面的部分就按照下面的做就可以了。 hadoop-2.6.0的版本用张老师的。 下面的配置Hadoop hadoop-2.6.0的部分 1.修改hadoop- 2.6.0/etc/hadoop/hadoop-env.sh,添加JDK支持: export JAVA_HOME=/usr/java/jdk1.6.0_45 如果不知道你的JDK目录,使用命令echo $JAVA_HOME查看。 2.修改hadoop-2.6.0/etc/hadoop/core-site.xml 注意:必须加在节点内 hadoop.tmp.dir /home/hadoop/hadoop-2.6.0/tmp Abase for other temporary directories. https://www.360docs.net/doc/a716731866.html, hdfs://master:9000 3.修改hadoop-2.6.0/etc/hadoop/hdfs-site.xml https://www.360docs.net/doc/a716731866.html,.dir /home/hadoop/hadoop-2.6.0/dfs/name Path on the local filesystem where the NameNode stores the namespace and transactions logs persistently. dfs.data.dir /home/hadoop/hadoop-2.6.0/dfs/data Comma separated list of paths on the local filesystem of a DataNode where it should store its blocks. dfs.replication 1 4.修改hadoop-2.6.0/etc/hadoop/mapred-site.xml

Hadoop 集群基本操作命令-王建雄-2016-08-22

Hadoop 集群基本操作命令 列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help (注:一般手动安装hadoop大数据平台,只需要创建一个用户即可,所有的操作命令就可以在这个用户下执行;现在是使用ambari安装的dadoop大数据平台,安装过程中会自动创建hadoop生态系统组件的用户,那么就可以到相应的用户下操作了,当然也可以在root用户下执行。下面的图就是执行的结果,只是hadoop shell 支持的所有命令,详细命令解说在下面,因为太多,我没有粘贴。) 显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name (注:可能有些命令,不知道什么意思,那么可以通过上面的命令查看该命令的详细使用信息。例子: 这里我用的是hdfs用户。) 注:上面的两个命令就可以帮助查找所有的haodoop命令和该命令的详细使用资料。

创建一个名为 /daxiong 的目录 $ bin/hadoop dfs -mkdir /daxiong 查看名为 /daxiong/myfile.txt 的文件内容$ bin/hadoop dfs -cat /hadoop dfs -cat /user/haha/part-m-00000 上图看到的是我上传上去的一张表,我只截了一部分图。 注:hadoop fs <..> 命令等同于hadoop dfs <..> 命令(hdfs fs/dfs)显示Datanode列表 $ bin/hadoop dfsadmin -report

$ bin/hadoop dfsadmin -help 命令能列出所有当前支持的命令。比如: -report:报告HDFS的基本统计信息。 注:有些信息也可以在NameNode Web服务首页看到 运行HDFS文件系统检查工具(fsck tools) 用法:hadoop fsck [GENERIC_OPTIONS] [-move | -delete | -openforwrite] [-files [-blocks [-locations | -racks]]] 命令选项描述 检查的起始目录。 -move 移动受损文件到/lost+found -delete 删除受损文件。 -openforwrite 打印出写打开的文件。 -files 打印出正被检查的文件。 -blocks 打印出块信息报告。 -locations 打印出每个块的位置信息。 -racks 打印出data-node的网络拓扑结构。 打印版本信息 用法:hadoop version 运行集群平衡工具。管理员可以简单的按Ctrl-C来停止平衡过程(balancer)

(完整word版)hadoop安装教程

1、VMware安装 我们使用Vmware 14的版本,傻瓜式安装即可。(只要) 双击 如过 2.安装xshell 双击 3.安装镜像: 解压centos6.5-empty解压 双击打开CentOS6.5.vmx 如果打不开,在cmd窗口中输入:netsh winsock reset 然后重启电脑。 进入登录界面,点击other 用户名:root 密码:root 然后右键open in terminal 输入ifconfig 回车 查看ip地址

打开xshell

点击链接 如果有提示,则接受 输入用户名:root 输入密码:root 4.xshell连接虚拟机 打开虚拟机,通过ifconfig查看ip

5.安装jkd 1.解压Linux版本的JDK压缩包 mkdir:创建目录的命令 rm -rf 目录/文件删除目录命令 cd 目录进入指定目录 rz 可以上传本地文件到当前的linux目录中(也可以直接将安装包拖到xshell窗口) ls 可以查看当前目录中的所有文件 tar 解压压缩包(Tab键可以自动补齐文件名)

pwd 可以查看当前路径 文档编辑命令: vim 文件编辑命令 i:进入编辑状态 Esc(左上角):退出编辑状态 :wq 保存并退出 :q! 不保存退出 mkdir /home/software #按习惯用户自己安装的软件存放到/home/software目录下 cd /home/software #进入刚刚创建的目录 rz 上传jdk tar包 #利用xshell的rz命令上传文件(如果rz命令不能用,先执行yum install lrzsz -y ,需要联网) tar -xvf jdk-7u51-linux-x64.tar.gz #解压压缩包 2.配置环境变量 1)vim /etc/profile 2)在尾行添加 #set java environment JAVA_HOME=/home/software/jdk1.8.0_65 JAVA_BIN=/home/software/jdk1.8.0_65/bin PATH=$JAVA_HOME/bin:$PATH CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JAVA_HOME JAVA_BIN PATH CLASSPATH Esc 退出编辑状态 :wq #保存退出 注意JAVA_HOME要和自己系统中的jdk目录保持一致,如果是使用的rpm包安

hadoop2.6基于yarn安装配置详解

Hadoop2.6配置详解 在hadoop2.0中通常由两个NameNode组成,一个处于active状态,另一个处于standby状态。Active NameNode对外提供服务,而Standby NameNode则不对外提供服务,仅同步active namenode的状态,以便能够在它失败时快速进行切换。 这里还配置了一个zookeeper集群,用于ZKFC(DFSZKFailoverController)故障转移,当Active NameNode挂掉了,会自动切换Standby NameNode为standby状态hadoop-2.2.0中依然存在一个问题,就是ResourceManager只有一个,存在单点故障,hadoop-2.6解决了这个问题,有两个ResourceManager,一个是Active,一个是Standby,状态由zookeeper进行协调 hadoop2.0官方提供了两种HDFS HA的解决方案,一种是NFS,另一种是QJM(由cloudra提出,原理类似zookeeper)。这里我使用QJM完成。主备NameNode之间通过一组JournalNode同步元数据信息,一条数据只要成功写入多数JournalNode即认为写入成功。通常配置奇数个JournalNode 1安装前准备 1.1示例机器 192.168.0.10 hadoop1 192.168.0.20 hadoop2 192.168.0.30 hadoop3 192.168.0.40 hadoop4 每台机器都有一个hadoop用户,密码是hadoop 所有机器上安装jdk1.7。 在hadoop2,hadoop3,hadoop4上安装Zookeeper3.4集群。 1.2配置ip与hostname 用root用户修改每台机器的hosts

Hadoop命令大全

Hadoop命令大全 Hadoop配置: Hadoop配置文件core-site.xml应增加如下配置,否则可能重启后发生Hadoop 命名节点文件丢失问题: hadoop.tmp.dir /home/limingguang/hadoopdata 环境变量设置: 为了便于使用各种命令,可以在.bashrc文件中添加如下内容: export JAVA_HOME=/home/limingguang/jdk1.7.0_07 export HADOOP_HOME=/home/limingguang/hadoop-1.0.3 export HIVE_HOME=/home/limingguang/hive-0.9.0 export MAHOUT_HOME=/home/limingguang/mahout-distribution-0.7 export PATH=$JAVA_HOME/bin:$HADOOP_HOME/bin:$HIVE_HOME/bin:$MAHOUT_HOME/bin: $PATH export HADOOP_HOME_WARN_SUPPRESS=1 具体目录请更改为安装目录,HADOOP_HOME_WARN_SUPPRESS变量为抑制HADOOP_HOME变量重复时的告警。 常用命令:

1、列出所有Hadoop Shell支持的命令 $ bin/hadoop fs -help 2、显示关于某个命令的详细信息 $ bin/hadoop fs -help command-name 3、用户可使用以下命令在指定路径下查看历史日志汇总 $ bin/hadoop job -history output-dir 这条命令会显示作业的细节信息,失败和终止的任务细节。 4、关于作业的更多细节,比如成功的任务,以及对每个任务的所做的尝试次数等可以用下面的命令查看 $ bin/hadoop job -history all output-dir 5、格式化一个新的分布式文件系统: $ bin/hadoop namenode -format 6、在分配的NameNode上,运行下面的命令启动HDFS: $ bin/start-dfs.sh bin/start-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上启动DataNode守护进程。 7、在分配的JobTracker上,运行下面的命令启动Map/Reduce: $ bin/start-mapred.sh bin/start-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves 文件的内容,在所有列出的slave上启动TaskTracker守护进程。 8、在分配的NameNode上,执行下面的命令停止HDFS: $ bin/stop-dfs.sh bin/stop-dfs.sh脚本会参照NameNode上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止DataNode守护进程。 9、在分配的JobTracker上,运行下面的命令停止Map/Reduce: $ bin/stop-mapred.sh bin/stop-mapred.sh脚本会参照JobTracker上${HADOOP_CONF_DIR}/slaves文件的内容,在所有列出的slave上停止TaskTracker守护进程。 10、启动所有 $ bin/start-all.sh 11、关闭所有 $ bin/stop-all.sh DFSShell 10、创建一个名为 /foodir 的目录 $ bin/hadoop dfs -mkdir /foodir 11、创建一个名为 /foodir 的目录 $ bin/hadoop dfs -mkdir /foodir 12、查看名为 /foodir/myfile.txt 的文件内容 $ bin/hadoop dfs -cat /foodir/myfile.txt

hadoop安装简要过程和相关配置文件

Hadoop安装简要过程及配置文件 1、机器准备 ①、Linux版操作系统centos 6.x ②、修改主机名,方便配置过程中记忆。修改文件为: /etc/sysconfig/network 修改其中的HOSTNAME即可 ③、配置局域网内,主机名与对应ip,并且其中集群中所有的机器的文件相同,修改文件为 /etc/hosts 格式为: 10.1.20.241 namenode 10.1.20.242 datanode1 10.1.20.243 datanode2 2、环境准备 ①、配置ssh免密码登陆,将集群中master节点生成ssh密码文件。具体方法: 1)、ssh-keygen -t rsa 一直回车即可,将会生成一份 ~/.ssh/ 文件夹,其中id_rsa为私钥文件 id_rsa.pub公钥文件。 2)、将公钥文件追加到authorized_keys中然后再上传到其他slave节点上 追加文件: cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys 上传文件: scp ~/.ssh/authorized_keys root@dananode:~/.ssh/ 3)、测试是否可以免密码登陆:ssh 主机名或局域网ip ②、配置JDK ③、创建hadoop用户 groupadd hadoop useradd hadoop -g hadoop 4)、同步时间 ntpdate https://www.360docs.net/doc/a716731866.html, 5)、关闭防火墙 service iptables stop 3、安装cdh5 进入目录/data/tools/ (个人习惯的软件存储目录,你可以自己随便选择); wget "https://www.360docs.net/doc/a716731866.html,/cdh5/one-click-install/redhat/ 6/x86_64/cloudera-cdh-5-0.x86_64.rpm" yum --nogpgcheck localinstall cloudera-cdh-5-0.x86_64.rpm 添加cloudera仓库验证: rpm --importhttps://www.360docs.net/doc/a716731866.html,/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera

(完整版)hadoop常见笔试题答案

Hadoop测试题 一.填空题,1分(41空),2分(42空)共125分 1.(每空1分) datanode 负责HDFS数据存储。 2.(每空1分)HDFS中的block默认保存 3 份。 3.(每空1分)ResourceManager 程序通常与NameNode 在一个节点启动。 4.(每空1分)hadoop运行的模式有:单机模式、伪分布模式、完全分布式。 5.(每空1分)Hadoop集群搭建中常用的4个配置文件为:core-site.xml 、hdfs-site.xml 、mapred-site.xml 、yarn-site.xml 。 6.(每空2分)HDFS将要存储的大文件进行分割,分割后存放在既定的存储块 中,并通过预先设定的优化处理,模式对存储的数据进行预处理,从而解决了大文件储存与计算的需求。 7.(每空2分)一个HDFS集群包括两大部分,即namenode 与datanode 。一般来说,一 个集群中会有一个namenode 和多个datanode 共同工作。 8.(每空2分) namenode 是集群的主服务器,主要是用于对HDFS中所有的文件及内容 数据进行维护,并不断读取记录集群中datanode 主机情况与工作状态,并通过读取与写入镜像日志文件的方式进行存储。 9.(每空2分) datanode 在HDFS集群中担任任务具体执行角色,是集群的工作节点。文 件被分成若干个相同大小的数据块,分别存储在若干个datanode 上,datanode 会定期向集群内namenode 发送自己的运行状态与存储内容,并根据namnode 发送的指令进行工作。 10.(每空2分) namenode 负责接受客户端发送过来的信息,然后将文件存储位置信息发 送给client ,由client 直接与datanode 进行联系,从而进行部分文件的运算与操作。 11.(每空1分) block 是HDFS的基本存储单元,默认大小是128M 。 12.(每空1分)HDFS还可以对已经存储的Block进行多副本备份,将每个Block至少复制到 3 个相互独立的硬件上,这样可以快速恢复损坏的数据。 13.(每空2分)当客户端的读取操作发生错误的时候,客户端会向namenode 报告错误,并 请求namenode 排除错误的datanode 后,重新根据距离排序,从而获得一个新的的读取路径。如果所有的datanode 都报告读取失败,那么整个任务就读取失败。14.(每空2分)对于写出操作过程中出现的问题,FSDataOutputStream 并不会立即关闭。 客户端向Namenode报告错误信息,并直接向提供备份的datanode 中写入数据。备份datanode 被升级为首选datanode ,并在其余2个datanode 中备份复制数据。 NameNode对错误的DataNode进行标记以便后续对其进行处理。 15.(每空1分)格式化HDFS系统的命令为:hdfs namenode –format 。 16.(每空1分)启动hdfs的shell脚本为:start-dfs.sh 。 17.(每空1分)启动yarn的shell脚本为:start-yarn.sh 。 18.(每空1分)停止hdfs的shell脚本为:stop-dfs.sh 。 19.(每空1分)hadoop创建多级目录(如:/a/b/c)的命令为:hadoop fs –mkdir –p /a/b/c 。 20.(每空1分)hadoop显示根目录命令为:hadoop fs –lsr 。 21.(每空1分)hadoop包含的四大模块分别是:Hadoop common 、HDFS 、

Hadoop最全面试题整理(附目录)

Hadoop面试题目及答案(附目录) 选择题 1.下面哪个程序负责HDFS 数据存储。 a)NameNode b)Jobtracker c)Datanode d)secondaryNameNode e)tasktracker 答案C datanode 2. HDfS 中的block 默认保存几份? a)3 份b)2 份c)1 份d)不确定 答案A 默认3 份 3.下列哪个程序通常与NameNode 在一个节点启动? a)SecondaryNameNode b)DataNode c)TaskTracker d)Jobtracker 答案D 分析:hadoop 的集群是基于master/slave 模式,namenode 和jobtracker 属于master,datanode 和tasktracker 属于slave,master 只有一个,而slave 有多个SecondaryNameNode 内存需求和NameNode 在一个数量级上,所以通常secondaryNameNode(运行在单独的物理机器上)和NameNode 运行在不同的机器上。 JobTracker 和TaskTracker JobTracker 对应于NameNode,TaskTracker 对应于DataNode,DataNode 和NameNode 是针对数据存放来而言的,JobTracker 和TaskTracker 是对于MapReduce 执行而言的。mapreduce 中几个主要概念,mapreduce 整体上可以分为这么几条执行线索:jobclient,JobTracker 与TaskTracker。 1、JobClient 会在用户端通过JobClient 类将应用已经配置参数打包成jar 文件存储到hdfs,并把路径提交到Jobtracker,然后由JobTracker 创建每一个Task(即MapTask 和ReduceTask)并将它们分发到各个TaskTracker 服务中去执行。 2、JobTracker 是一个master 服务,软件启动之后JobTracker 接收Job,负责调度Job 的每一个子任务task 运行于TaskTracker 上,并监控它们,如果发现有失败的task 就重新运行它。一般情况应该把JobTracker 部署在单独的机器上。 3、TaskTracker 是运行在多个节点上的slaver 服务。TaskTracker 主动与JobTracker 通信,接收作业,并负责直接执行每一个任务。TaskTracker 都需要运行在HDFS 的DataNode 上。 4. Hadoop 作者 a)Martin Fowler b)Kent Beck c)Doug cutting 答案C Doug cutting 5. HDFS 默认Block Size a)32MB b)64MB c)128MB 答案:B 6. 下列哪项通常是集群的最主要瓶颈 a)CPU b)网络c)磁盘IO d)内存 答案:C 磁盘 首先集群的目的是为了节省成本,用廉价的pc 机,取代小型机及大型机。小型机和大型机

Hadoop的安装与配置及示例wordcount的运行

Hadoop的安装与配置及示例程序 wordcount的运行 目录 前言 (1) 1 机器配置说明 (2) 2 查看机器间是否能相互通信(使用ping命令) (2) 3 ssh设置及关闭防火墙 (2) 1)fedora装好后默认启动sshd服务,如果不确定的话可以查一下[garon@hzau01 ~]$ service sshd status (3) 2)关闭防火墙(NameNode和DataNode都必须关闭) (3) 4 安装jdk1.6(集群中机子都一样) (3) 5 安装hadoop(集群中机子都一样) (4) 6 配置hadoop (4) 1)配置JA V A环境 (4) 2)配置conf/core-site.xml、conf/hdfs-site.xml、conf/mapred-site.xml文件 (5) 3)将NameNode上完整的hadoop拷贝到DataNode上,可先将其进行压缩后直接scp 过去或是用盘拷贝过去 (7) 4)配置NameNode上的conf/masters和conf/slaves (7) 7 运行hadoop (7) 1)格式化文件系统 (7) 2)启动hadoop (7) 3)用jps命令查看进程,NameNode上的结果如下: (8) 4)查看集群状态 (8) 8 运行Wordcount.java程序 (8) 1)先在本地磁盘上建立两个文件f1和f2 (8) 2)在hdfs上建立一个input目录 (9) 3)将f1和f2拷贝到hdfs的input目录下 (9) 4)查看hdfs上有没有f1,f2 (9) 5)执行wordcount(确保hdfs上没有output目录) (9) 6)运行完成,查看结果 (9) 前言 最近在学习Hadoop,文章只是记录我的学习过程,难免有不足甚至是错误之处,请大家谅解并指正!Hadoop版本是最新发布的Hadoop-0.21.0版本,其中一些Hadoop命令已发生变化,为方便以后学习,这里均采用最新命令。具体安装及配置过程如下:

相关文档
最新文档