当前位置:文档之家› hadoop集群配置范例及问题总结

hadoop集群配置范例及问题总结

hadoop集群配置范例及问题总结
hadoop集群配置范例及问题总结

HADOOP-0.20.203.003.0分布式集群配置

硬件环境

1.虚拟机VMWare Workstation

2.两台机器均安装ubuntu11,采用桥接模式,需要两个物理ip地址,下面用192.168.1.100

和192.168.1.101代替,NAT模式无法实现ubuntu内ping通主机

3.java jdk1.6.0_31

https://www.doczj.com/doc/bb3040976.html,node:192.168.1.100 namenode

datanode:192.168.1.101 datanode

注意:三台机器dns 和默认网关必须一致。登陆密码一致最好。而且务必三台机器互相ping通主机,即主机名和ip解析正确。若ping不通,修改/etc/hosts文件,使用sudo vi /etc/hosts 命令,设置如下(namenode):

192.168.1.100namenode

192.168.1.101datanode

Datanode(datanode)的设置为:

192.168.1.100 namenode

192.168.1.101 datanode

本集群将namenode和jobtracker 设置成一台机器即namenode。

在Hadoop中,主机名不要包含下划线“_”,但可以有横线“-”。否则启动hadoop时报错:ERROR https://www.doczj.com/doc/bb3040976.html,Node: java.io.IOException: Incomplete HDFS URI, no host: hdfs://namenode:9000 Incomplete HDFS URI

使用hostname命令查看主机名,修改主机名:

主机名存放在/etc/hostname文件中,编辑hostname文件,在文件中输入新的主机名并保存该文件即可。注销重新登录。

本集群在Root用户下安装

配置ssh

安装ssh:sudo apt-get install openssh-server openssh-client,若以安装,继续以下步骤

开启命令:service ssh restart。必须配置SSH使用无密码公钥来进行免密码登陆各个节点。

本集群设置如下:

在namenode节点上根目录下执行:

[root@namenode root]$ssh-keygen –t rsa

一路回车,遇到y/n 选择y。即在默认目录下/root/.ssh/生成

id_rsa 和id_rsa.pub 2个文件,第一个为私钥,第二个为公钥。

[root@namenode root]$cd .ssh

进入.ssh目录下,将id_rsa.pub 复制给authorized_keys文件,并给予权限。

[root@namenode root]$cp id_rsa.pub authorized_keys

[root@namenode root]$chmod 644 authorized_keys

测试ssh localhost 和ssh namenode,若成功,则可免密码登陆,退出命令exit。注意务必要exit,否则多层嵌套,会晕。

在datanode上根目录下建立.ssh文件夹并给予权限

[root@datanode root]$mkdir .ssh

[root@datanode root]$chmod 755 .ssh

[root@datanode root]$cd .ssh

然后将namenode中的公钥远程复制给datanode,需要密码(yes,密码)

[root@namenode .ssh]$scp authorized_keys root@namenode:/root/.ssh

并且进入datanode给予权限:

[root@datanode .ssh]$chmod 644 authorized_keys

下面可以通过SSH命令试试是否可以无密码登陆。最好先重新启动下命令:

[root@namenode root]$service sshd restart

[root@namenode root]$ssh datanode

如果可以无密码登陆,即成功!

各datanode免密码登陆namenode

将各个datanode上的id_rsa.pub追加到namenode的authorized_keys

在所有datanode上依次执行如下命令:

scp id_rsa.pub namenode:/root/.ssh/datanodeip地址.id_rsa.pub

ssh namenode

如果可以无密码登陆,即成功!exit退出。

Ssh主机名时,错误:Agent admitted failure to sign using the key. 解決办法:

应用ssh-add 指令將私钥加进来

ssh-add .ssh/id_rsa

出现ssh localhost死活都无法免密码登陆,检查各级目录文件的权限,注意root目录权限

chmod 755 . (或者更严格)

chmod 755 .ssh

chmod 644 .ssh/authorized_keys

JDK安装

本集群安装jdk1.6.0_31版本,以下的配置所有节点均相同。安装在usr/java下

1.通过授权、安装命令安装jdk

[root@namenode /usr/java ]$chmod +x jdk-6u31-linux-rpm.bin

[root@namenode /usr/java]$./jdk-6u31-linux-rpm.bin

2. 配置jdk文件,在/etc/profile 中配置环境变量如下:

export JAVA_HOME=”/usr/java/jdk1.6.0_31”

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

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

3测试。

Java –version

出现jdk版本信息,即安装成功。若不成功检查配置是否正确Hadoop安装

本集群安装hadoop-0.20.203.0版本,安装hadoop

[root@namenode root]$ tar –zvxf hadoop-0.20.203.0.tar.gz

1.配置/root/hadoop-0.20.203.0/conf/hadoop-env.sh

配置JAVA_HOME 和HADOOP_HOME 两个路径。

export JAVA_HOME=”/usr/java/jdk1.6.0_31”

export HADOOP_HOME=”/root/hadoop-0.20.203.0”

2.配置如下五个文件:conf文件夹下

①core-site.xml

https://www.doczj.com/doc/bb3040976.html,

hdfs://namenode:9000//我们使用端口号9000

hadoop.tmp.dir

/root/tmp

② hdfs-site.xml

https://www.doczj.com/doc/bb3040976.html,.dir

/root/hdfs/name

true

dfs.data.dir

/root/hdfs/data

true

fs.checkpoint.dir

/root/hdfs/namesecondary

true

dfs.replication//若datanode数目小于3,不能配置为3,否则报错1

③mapred-site.xml

mapred.job.tracker//jobtracker ip地址,我们使用端口号9001

namenode:9001

mapred.local.dir

/root/mapred/local

true

mapred.system.dir

/tmp/hadoop/mapred/system

true

mapred.tasktracker.map.tasks.maximum

#每个datanode上并行的map最大值

2

true

mapred.tasktracker.reduce.tasks.maximum

#每个datanode上并行的reduce最大值

2

true

mapred.child.java.opts

-Xmx200m

④配置masters

192.168.1.100//namenodeip

⑤配置slavers

192.168.1.101//datanodeip

3. 复制hadoop文件夹到其他节点

[root@namenode root]$scp –r hadoop-0.20.203.0 datanode:/root

4. 基本命令

①格式化namenode中的hdfs文件系统

[root@namenode root]$cd hadoop-0.20.203.0

[root@namenode hadoop-0.20.203.0]$bin/hadoop namenode –format ②启动

[root@namenode hadoop-0.20.203.0]$bin/start-all.sh

可在logs中查看日志信息。

若启动过程中需要密码登陆,则ssh安装配置有问题。

若启动datanode报错:Unrecognized option: -jvm

修改bin/hadoop 文件,将-jvm server,改为-server

可以登录namenode:50070 查看namenode状态

可以登录namenode:50030 查看jobtracker状态。

③关闭

[root@namenode hadoop-0.20.203.0]$bin/stop-all.sh

④查看节点

[root@namenode hadoop-0.20.203.0]$bin/hadoop dfsadmin –report

Hadoop配置参数建议

Hadoop配置参数建议 流量三期程序和Hive脚本需要运行在Hadoop集群上,本文档用于对Hadoop的参数提出建议。如果Hadoop集群是我们自己管理的,可以参考文档里建议的参数进行配置;如果Hadoop集群不由我们管理,我们只是集群资源的用户,可以通过给流量三期Job或者Hive 脚本指定Hadoop参数来调整程序的运行方式。 需要注意的是,通过编辑配置文件来设置Hadoop参数的方式,只适用于独立安装的Hadoop2.X、CDH4.X和CDH5.X,不适用于通过Athena大数据管理平台安装的CDH,因为Athena要求必须使用Web界面修改Hadoop的配置,不允许直接编辑Hadoop的配置文件。 Hadoop的参数有数百个,其中绝大多数都应该使用默认值,本文档只对可能需要修改的参数进行说明。对于文档没有列出的参数,如果没有特殊需要,不建议修改,避免出现难以定位的问题。 Hadoop参数可以分成三类,分别是Linux环境变量、集群配置变量和作业配置变量,下面对各类变量分别说明。 一、Linux环境变量 Linux环境变量用来配置各个Hadoop守护进程的行为,包括Yarn的ResourceManager 进程、Yarn的NodeManager进程、HDFS的NameNode进程、HDFS的Secondary NameNode 进程、HDFS的DataNode进程和Hadoop Job History Server进程等。 Hadoop在启动各个守护进程时会通过环境变量的值来确定进程的行为,所以环境变量一般在启动Hadoop前设置才有意义。 设置方式是在Hadoop启动或者重启前,编辑Hadoop配置文件目录下的hadoop-env.sh、mapred-env.sh和yarn-env.sh文件。这三个文件是shell脚本,并且mapred-env.sh和yarn-env.sh 的优先级高于hadoop-env.sh,也就是说如果在mapred-env.sh和hadoop-env.sh中设置了同一个环境变量,Hadoop会使用mapred-env.sh中的变量值。 下面是Hadoop比较重要的环境变量:

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集群完整配置过程详细笔记

本文为笔者安装配置过程中详细记录的笔记 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是否安装成功。

hadoop2.7.2 伪分布式安装

hadoop:建立一个单节点集群伪分布式操作 安装路径为:/opt/hadoop-2.7.2.tar.gz 解压hadoop: tar -zxvf hadoop-2.7.2.tar.gz 配置文件 1. etc/hadoop/hadoop-env.sh export JAVA_HOME=/opt/jdk1.8 2. etc/hadoop/core-site.xml fs.defaultFS hdfs://localhost:9000 hadoop.tmp.dir file:/opt/hadoop-2.7.2/tmp 3. etc/hadoop/hdfs-site.xml https://www.doczj.com/doc/bb3040976.html,.dir file:/opt/hadoop-2.7.2/dfs/name dfs.datanode.data.dir file:/opt/hadoop-2.7.2/dfs/data dfs.replication 1 dfs.webhdfs.enabled true

hadoop2.2集群配置

Hadoop集群在linux下配置 第一部分Hadoop 2.2 下载 Hadoop我们从Apache官方网站直接下载最新版本Hadoop2.2。 下载地址:https://www.doczj.com/doc/bb3040976.html,/hadoop/common/hadoop-2.2.0/ 如下图所示,下载红色标记部分即可。 第二部分集群环境搭建 1、这里我们搭建一个由两台机器组成的集群: 10.11.1.67 tan/123456 yang 10.11.1.57 tan/123456 ubuntu 1.1 上面各列分别为IP、user/passwd、hostname 1.2 Hostname可以在/etc/hostname中修改 1.3 这里我们为每台机器新建了一个账户tan.这里需要给每个账户分配sudo的权限。 (切换到root账户,修改/etc/sudoers文件,增加:tan ALL=(ALL) ALL ) 2、修改/etc/hosts 文件,增加两台机器的ip和hostname的映射关系 10.11.1.67 yang 10.11.1.57 ubuntu 3、打通yang到ubuntu的SSH无密码登陆 3.1 安装ssh 一般系统是默认安装了ssh命令的。如果没有,或者版本比较老,则可以重新安 装: sudo apt-get install ssh 3.2设置local无密码登陆

安装完成后会在~目录(当前用户主目录,即这里的/home/tan)下产生一个隐藏文 件夹.ssh(ls -a 可以查看隐藏文件)。如果没有这个文件,自己新建即可 (mkdir .ssh)。 具体步骤如下: 1、进入.ssh文件夹 2、 ssh-keygen -t rsa 之后一路回车(产生秘钥) 3、把id_rsa.pub 追加到授权的key 里面去(cat id_rsa.pub >> authorized_keys) 4、重启SSH 服务命令使其生效:service ssh restart 此时已经可以进行ssh localhost的无密码登陆 【注意】:以上操作在每台机器上面都要进行。 3.3设置远程无密码登陆 这里只有yang是master,如果有多个namenode,或者rm的话则需要打通所有master 都其他剩余节点的免密码登陆。(将yang的authorized_keys追加到ubuntu的authorized_keys) 进入yang的.ssh目录 scp authorized_keys tan@ubuntu:~/.ssh/ authorized_keys_from_yang 进入ubuntu的.ssh目录 cat authorized_keys_from_yang >> authorized_keys 至此,可以在yang上面ssh tan@ubuntu进行无密码登陆了。 4、安装jdk 注意:这里选择下载jdk并自行安装,而不是通过源直接安装(apt-get install) 4.1、下载jdk(https://www.doczj.com/doc/bb3040976.html,/technetwork/java/javase/downloads/index.html) 4.1.1 对于32位的系统可以下载以下两个Linux x86版本(uname -a 查看系统版 本) 4.1.2 64位系统下载Linux x64版本(即x64.rpm和x64.tar.gz) 4.2、安装jdk(这里以.tar.gz版本,32位系统为例) 安装方法参https://www.doczj.com/doc/bb3040976.html,/javase/7/docs/webnotes/install/linux/linux-jdk.html 4.2.1 选择要安装java的位置,如/usr/目录下,新建文件夹java(mkdir java) 4.2.2 将文件jdk-7u40-linux-i586.tar.gz移动到/usr/java 4.2.3 解压:tar -zxvf jdk-7u40-linux-i586.tar.gz 4.2.4 删除jdk-7u40-linux-i586.tar.gz(为了节省空间)

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.doczj.com/doc/bb3040976.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 查看用户信息。

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、解压

(完整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包安

hadoop集群部署之双虚拟机版

1、采用一台机器开两个虚拟机的方式构成两台电脑的环境,用root登录。 分别查看其IP地址:输入# ifconfig,可得主机IP:192.168.1.99;分机为:192.168.1.100。 2、在两台机器上的/etc/hosts均添加相应的主机名和IP地址: 这里主机名命名为shenghao,分机名命名为slave: 保存后重启网络: 3、两台机器上均创立hadoop用户(注意是用root登陆) # useradd hadoop # passwd hadoop 输入111111做为密码 登录hadoop用户: 注意,登录用户名为hadoop,而不是自己命名的shenghao。 4、ssh的配置 进入centos的“系统→管理→服务器设置→服务,查看sshd服务是否运行。 在所有的机器上生成密码对: # ssh-keygen -t rsa 这时hadoop目录下生成一个.ssh的文件夹, 可以通过# ls .ssh/来查看里面产生的私钥和公钥:id_rsa和id_rsa.pub。 更改.ssh的读写权限: # chmod 755 .ssh 在namenode上(即主机上)

进入.ssh,将id_rsa.pub直接复制为authorized_keys(namenode的公钥): # cp id_rsa.pub authorized_keys 更改authorized_keys的读写权限: # chmod 644 authorized_keys 【这个不必须,但保险起见,推荐使用】 然后上传到datanode上(即分机上): # scp authorized_keys hadoop@slave:/home/hadoop/.ssh # cd .. 退出.ssh文件夹 这样shenghao就可以免密码登录slave了: 然后输入exit就可以退出去。 然后在datanode上(即分机上): 将datanode上之前产生的公钥id_rsa.pub复制到namenode上的.ssh目录中,并重命名为slave.id_rsa.pub,这是为了区分从各个datanode上传过来的公钥,这里就一个datanode,简单标记下就可。 # scp -r id_rsa.pub hadoop@shenghao:/home/hadoop/.ssh/slave.id_rsa.pub 复制完毕,此时,由于namenode中已经存在authorized_keys文件,所以这里是追加,不是复制。在namenode上执行以下命令,将每个datanode的公钥信息追加: # cat slave.id_rsa.pub >> authorized_keys 这样,namenode和datanode之间便可以相互ssh上并不需要密码: 然后输入exit就可以退出去。 5、hadoop的集群部署 配置hadoop前一定要配置JDK,请参考相关资料,这里就不赘述了。 将下载好的hadoop-0.19.0.tar.gz文件上传到namenode的/home/hadoop/hadoopinstall 解压文件: # tar zxvf hadoop-0.19.0.tar.gz 在/erc/profile的最后添加hadoop的路径: # set hadoop path export HADOOP_HOME=/home/hadoop/hadoopinstall/hadoop-0.20.2 export PATH=$HADOOP_HOME/bin:$PATH 之后配置hadoop/conf中的4个文件:

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.doczj.com/doc/bb3040976.html, 5)、关闭防火墙 service iptables stop 3、安装cdh5 进入目录/data/tools/ (个人习惯的软件存储目录,你可以自己随便选择); wget "https://www.doczj.com/doc/bb3040976.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.doczj.com/doc/bb3040976.html,/cdh5/redhat/6/x86_64/cdh/RPM-GPG-KEY-cloudera

腾讯大规模Hadoop集群实践

腾讯大规模Hadoop集群实践 发表于2014-02-19 21:26| 21878次阅读| 来源《程序员》| 45条评论| 作者翟艳堂 《程序员》杂志2014年2月刊hadoop集群腾讯分布式计算数据存储云计算大数据TDW 摘要:TDW是腾讯最大的离线数据处理平台。本文主要从需求、挑战、方案和未来计划等方面,介绍了TDW 在建设单个大规模集群中采取的JobTracker分散化和NameNode高可用两个优化方案。 TDW(Tencent distributed Data Warehouse,腾讯分布式数据仓库)基于开源软件Hadoop和Hive进行构建,打破了传统数据仓库不能线性扩展、可控性差的局限,并且根据腾讯数据量大、计算复杂等特定情况进行了大量优化和改造。 TDW服务覆盖了腾讯绝大部分业务产品,单集群规模达到4400台,CPU总核数达到10万左右,存储容量达到100PB;每日作业数100多万,每日计算量4PB,作业并发数2000左右;实际存储数据量80PB,文件数和块数达到6亿多;存储利用率83%左右,CPU利用率85%左右。经过四年多的持续投入和建设,TDW已经成为腾讯最大的离线数据处理平台。 TDW的功能模块主要包括:Hive、MapReduce、HDFS、TDBank、Lhotse等,如图1所示。TDW Core 主要包括存储引擎HDFS、计算引擎MapReduce、查询引擎Hive,分别提供底层的存储、计算、查询服务,并且根据公司业务产品的应用情况进行了很多深度订制。TDBank负责数据采集,旨在统一数据接入入口,提供多样的数据接入方式。Lhotse任务调度系统是整个数据仓库的总管,提供一站式任务调度与管理。

Hadoop集群搭建(二)HDFS_2017

Hadoop集群搭建(二)HDFS HDFS只是Hadoop最基本的一个服务,很多其他服务,都是基于HDFS 展开的。所以部署一个HDFS集群,是很核心的一个动作,也是大数据平台的开始。 安装Hadoop集群,首先需要有Zookeeper才可以完成安装。如果没有Zookeeper,请先部署一套Zookeeper。另外,JDK以及物理主机的一些设置等。都请参考下文: Hadoop集群搭建(一) Zookeeper 下面开始HDFS的安装 HDFS主机分配 1.19 2.168.67.101 c6701 --Namenode+datanode 2.192.168.67.102 c6702 --datanode 3.192.168.67.103 c6703 --datanode 1. 安装HDFS,解压hadoop- 2.6.0-EDH-0u2.tar.gz 我同时下载2.6和2.7版本的软件,先安装2.6,然后在执行2.6到2.7的升级步骤 https://www.doczj.com/doc/bb3040976.html,eradd hdfs 2.echo "hdfs:hdfs"| chpasswd 3.su - hdfs

4.cd /tmp/software 5.tar -zxvf hadoop-2. 6.0-EDH-0u2.tar.gz -C /home/hdfs/ 6.mkdir -p /data/hadoop/temp 7.mkdir -p /data/hadoop/journal 8.mkdir -p /data/hadoop/hdfs/name 9.mkdir -p /data/hadoop/hdfs/data 10.chown -R hdfs:hdfs /data/hadoop 11.chown -R hdfs:hdfs /data/hadoop/temp 12.chown -R hdfs:hdfs /data/hadoop/journal 13.chown -R hdfs:hdfs /data/hadoop/hdfs/name 14.chown -R hdfs:hdfs /data/hadoop/hdfs/data 15.$ pwd 16./home/hdfs/hadoop-2.6.0-EDH-0u2/etc/hadoop 2. 修改core-site.xml对应的参数 1.$ cat core-site.xml 2.<configuration> 3.<!--指定hdfs的nameservice为ns --> 4.<property> 5.<name>fs.defaultFS</name> 6.<value>hdfs://ns</value> 7.</property> 8.<!--指定hadoop数据临时存放目录-->

Hadoop集群部署方案

Hadoop集群部署方案

目录 1.网络拓扑 (1) 2.软件安装 (1) 2.1.修改主机名 (1) 2.2.修改host文件 (1) 2.3.创建Hadoop 用户 (2) 2.4.禁用防火墙 (2) 2.5.设置ssh登录免密码 (2) 2.6.安装hadoop (4) 3.集群配置 (5) 3.1.修改脚本 (5) 3.1.1................................................ hadoop-env.sh 5 3.1.2................................................... y arn-env.sh 5 3.2.配置文件 (5) 3.2.1................................................ core-site.xml 5 3.2.2................................................ hdfs-site.xml 7 3.2.3.............................................. mapred-site.xml 10 3.2. 4................................................ yarn-site.xml 11 3.2.5.配置datanode 14 3.3.创建目录 (14)

4.启动zk集群 (14) 5.启动hadoop (14) 5.1.启动所有节点journalnode (14) 5.2.格式化h1 namenode (15) 5.3.在h1上格式化ZK (15) 5.4.启动h1的namenode,zkfc (16) 5.5.启动h2上namenode (16) 5.6.同步h1上的格式化数据到h2 (16) 5.7.启动 HDFS (17) 5.8.启动 YARN (18) 5.9.启动h2 ResourceManager (18) 5.10........................................ h4上启动 JobHistoryServer 19 5.11.......................................... 查看ResourceManager状态19 6.浏览器访问 (19) https://www.doczj.com/doc/bb3040976.html,node管理界面 (19) 6.1.1............................... http://192.168.121.167:50070 19 6.1.2............................... http://192.168.121.168:50070 20 6.2.ResourceManager管理界面 (20) 6.2.1............................... http://192.168.121.167:8088/ 21 6.2.2............................... http://192.168.121.168:8088/ 21 6.3.JournalNode HTTP 服务 (21) 6.3.1............................... http://192.168.121.167:8480/ 21 6.4.Datanode HTTP服务 (22)

如何基于Docker快速搭建多节点Hadoop集群

如何基于Docker快速搭建多节点Hadoop集群 Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。 Docker最核心的特性之一,就是能够将任何应用包括Hadoop打包到Docker镜像中。这篇教程介绍了利用Docker在单机上快速搭建多节点 Hadoop集群的详细步骤。作者在发现目前的Hadoop on Docker项目所存在的问题之后,开发了接近最小化的Hadoop镜像,并且支持快速搭建任意节点数的Hadoop集群。 一. 项目简介 GitHub: kiwanlau/hadoop-cluster-docker 直接用机器搭建Hadoop集群是一个相当痛苦的过程,尤其对初学者来说。他们还没开始跑wordcount,可能就被这个问题折腾的体无完肤了。而且也不是每个人都有好几台机器对吧。你可以尝试用多个虚拟机搭建,前提是你有个性能杠杠的机器。 我的目标是将Hadoop集群运行在Docker容器中,使Hadoop开发者能够快速便捷地在本机搭建多节点的Hadoop集群。其实这个想法已经有了不少实现,但是都不是很理想,他们或者镜像太大,或者使用太慢,或者使用了第三方工具使得使用起来过于复杂。下表为一些已知的Hadoop on Docker项目以及其存在的问题。 我的项目参考了alvinhenrick/hadoop-mutinode项目,不过我做了大量的优化和重构。alvinhenrick/hadoop-mutinode项目的GitHub主页以及作者所写的博客地址如下: GitHub:Hadoop (YARN) Multinode Cluster with Docker

Hadoop详细安装配置过程

1.下载并安装安装ssh sudo apt-get install openssh-server openssh-client 3.搭建vsftpd #sudo apt-get update #sudo apt-get install vsftpd 配置参考的开始、关闭和重启 $sudo /etc/vsftpd start #开始 $sudo /etc/vsftpd stop #关闭 $sudo /etc/vsftpd restart #重启 4.安装 sudo chown -R hadoop:hadoop /opt cp /soft/ /opt sudo vi /etc/profile alias untar='tar -zxvf' sudo source /etc/profile source /etc/profile untar jdk* 环境变量配置 # vi /etc/profile ●在profile文件最后加上 # set java environment export JAVA_HOME=/opt/ export CLASSPATH=.:$JAVA_HOME/lib/:$JAVA_HOME/lib/ export PATH=$JAVA_HOME/bin:$PATH 配置完成后,保存退出。 ●不重启,更新命令 #source /etc/profile ●测试是否安装成功 # Java –version 其他问题: 出现unable to resolve host 解决方法 参考 开机时停在Starting sendmail 不动了的解决方案 参考安装软件时出现E: Unable to locate package vsftpd 参考vi/vim 使用方法讲解 参考分类: Hadoop

Hadoop集群安装详细步骤

Hadoop集群安装详细步骤|Hadoop安装配置 文章分类:综合技术 Hadoop集群安装 首先我们统一一下定义,在这里所提到的Hadoop是指Hadoop Common,主要提供DFS(分布式文件存储)与Map/Reduce的核心功能。 Hadoop在windows下还未经过很好的测试,所以笔者推荐大家在linux(cent os 5.X)下安装使用。 准备安装Hadoop集群之前我们得先检验系统是否安装了如下的必备软件:ssh、rsync和Jdk1.6(因为Hadoop需要使用到Jdk中的编译工具,所以一般不直接使用Jre)。可以使用yum install rsync来安装rsync。一般来说ssh是默认安装到系统中的。Jdk1.6的安装方法这里就不多介绍了。 确保以上准备工作完了之后我们就开始安装Hadoop软件,假设我们用三台机器做Hadoop集群,分别是:192.168.1.111、192.168.1.112和192.168.1.113(下文简称111,112和113),且都使用root用户。 下面是在linux平台下安装Hadoop的过程: 在所有服务器的同一路径下都进行这几步,就完成了集群Hadoop软件的安装,是不是很简单?没错安装是很简单的,下面就是比较困难的工作了。 集群配置

根据Hadoop文档的描述“The Hadoop daemons are N ameNode/DataNode and JobTracker/TaskTracker.”可以看出Hadoop核心守护程序就是由 NameNode/DataNode 和JobTracker/TaskTracker这几个角色构成。 Hadoop的DFS需要确立NameNode与DataNode角色,一般NameNode会部署到一台单独的服务器上而不与DataNode共同同一机器。另外Map/Reduce服务也需要确立JobTracker和TaskTracker的角色,一般JobTracker与NameNode共用一台机器作为master,而TaskTracker与DataNode同属于slave。至于NameNode/DataNode和JobTracker/TaskTracker的概念这里就不多讲了,需要了解的可以参看相关文档。 在这里我们使用111作为NameNode与JobTracker,其它两台机器作为DataNode和TaskTracker,具体的配置如下: 环境的配置 在$HADOOP_HOME/conf/hadoop-env.sh中定义了Hadoop启动时需要的环境变量设置,其中我们至少需要配置JAVA_HOME(Jdk的路径)变量;另外我们一般还需要更改HADOOP_LOG_DIR(Hadoop的日志路径)这个变量,默认的设置是“export HADOOP_LOG_DIR=${HADOOP_HOME}/logs”,一般需要将其配置到一个磁盘空间比较大的目录下。 Hadoop核心程序配置 Hadoop 包括一组默认配置文件($HADOOP_HOME/src目录下的 core/core-default.xml, hdfs/hdfs-default.xml 和 mapred/mapred-default.xml),大家可以先好好看看并理解默认配置文件中的那些属性。虽然默认配置文件能让Hadoop核心程序顺利启动,但对于开发人员来说一般需要自己的来设置一些常规配置以满足开发和业务的需求,所以我们需要对默认配置文件的值进行覆盖,具体方法如下。 $HADOOP_HOME/conf/core-site.xml是Hadoop的核心配置文件,对应并覆盖core-default.xml中的配置项。我们一般在这个文件中增加如下配置: Core-site.xml代码 1. 2. 3. 4. https://www.doczj.com/doc/bb3040976.html, 5. hdfs://192.168.1.111:9000 6. 7.

相关主题
文本预览
相关文档 最新文档