- 准备硬件环境
此次用到三台计算机,三台计算机的系统都是Linux,并且以安装好JAVA。IP地址和角色为:
namenode:192.168.0.1
datanode:192.168.0.2
datanode:192.168.0.3
三台计算机之间能够正确解析彼此。因此需要修改/etc/hosts文件,主节点上需要将所有节点的IP地址以及相对应的主机名添加到文件中。作datanode的节点则只需将自己以及主节点的IP地址以及相对应的主机名添加到文件中即可。
- 安装Hadoop
由于Hadoop要求所有机器上hadoop的部署目录结构要相同,并且都有一个相同的用户名的帐户。所以要在三台计算机上先创建好hadoop用户并且切换到hadoop用户。
选择将hadoop解压在hadoop用户的家目录中。为了方便以后hadoop版本更新,可以创建一个软链接:ln -s hadoop-版本 hadoop
- 建立ssh
hadoop的主节点是通过ssh来控制其他节点的进程的,则需要两台计算机之间不需要输入密码,所以要公钥私钥的方式来认证。
首先要确保每台计算机上都有ssh服务并且正常启动。然后在主节点生成一对密钥,再将公钥发给其他的节点。为了方便管理文件,可在hadoop用户家目录中生成新的文件来保存公钥私钥。紧接着将所有的公钥文件的权限修改:chmod 644 authorized_keys,确保其他人不可有写权限。最后需要对三台计算机上的sshd服务进行配置,修改文件/etc/ssh/sshd_config。修改如下:
PasswordAuthentication no
AuthorizedKeysFile /home/hadoop/.ssh/authorized_keys
配置完成后可ssh连接看是否是不是不用输入密码就可连接(若两台主机第一次连接则需要输入yes)
- hadoop环境变量
在/home/hadoop/hadoop/conf配置文件目录中找到hadoop-env.sh,设置JAVA_HOME变量
- hadoop配置文件
这conf中找到slaves文件,此文件是指定datanode的,一行指定一个主机名。master文件是用来指定namenode的,则将主节点的主机名填入即可。
在安装目录中找到core-site.xml、hdfs-site.xml以及mapred-site.xml并进行修改。
core-site.xml:
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop/hadoop/tmp</value>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://(master IP):9000</value>
</property>
mapred-site.xml:
<property><name>mapreduce.jobtracker.address</name>
<value>(master IP):9001</value>
<description>NameNode</description>
</property>
hdfs-site.xml不需要修改
- 部署hadoop
将配置好的文件传给其他节点,保证目录结构一致
- 启动hadoop
启动之前要先格式化namenode,进入/home/hadoop/hadoop下执行:bin/hadoop namenode -format
bin/下有许多启动脚本,根据需要来使用:
start-all.sh 启动所有守护
start-mapred.sh 启动map/reduce守护。Jobtracker和Tasktracker
start-dfs.sh 启动hadoop DFS守护。Namenode和Datanode
有启动脚本也自然都相对应的停止脚本
- hadoop在线添加节点
在slaves文件添加新节点的IP或者主机名,然后新节点上启动服务并执行start-balance.sh
- hadoop在线删除节点
在master上修改mapred-site.xml:
<property>
<name>dfs.hosts.exclude</name>
<value>/home/hadoop/hadoop/conf/datanode-excludes</value>
</property>
然后创建datanode-excludes文件,并添加要删除的主机,一行一个。接着执行:bin/hadoop dfsadmin -refreshNodes进行节点刷新,此操作后会进行后台迁移数据,等删除节点的状态为Decommissioned即可安全关闭。
- datanode白名单
http://www.tuicool.com/articles/zINvYbf
Hadoop分布式部署
时间: 2024-10-02 09:06:22
Hadoop分布式部署的相关文章
CentOS7 下 Hadoop 分布式部署
Hadoop 服务划分 使用三台节点,集群部署规划如下 服务\主机 hadoop1 hadoop2 hadoop3 HDFS NameNode DataNode DataNode SecondaryNameNode DataNode YARN NodeManager ResourceManager NodeManager NodeManager IP地址规划 hadoop1 192.168.123.11 hadoop2 192.168.123.12 hadoop3 192.168.123.13
【Hadoop 分布式部署 四:配置Hadoop 2.x 中主节点(NN和RM)到从节点的SSH无密码登录】
******************* 一定要使这三台机器的用户名相同,安装目录相同 ************* SSH 无密钥登录的简单介绍(之前再搭建本地伪分布式的时候,就生成了,现在这三台机器的公钥私钥都是一样的,所以下面这个不用配置) 单机操作: 生成密钥:命令 ssh-keygen -t rsa 然后四个回车 将密钥复制给本机 :命令 ssh-copy-id hadoop-senior.zuoyan.com 正式操作开始 在主
配置SSH无密码登陆(为Hadoop分布式部署准备)
SSH 无密 码原理简介 :首先在 hadoop1 上生成一个密 钥对,包括一个公钥和一个私钥,并将公钥复制到所有的 slave(hadoop2-hadoop4) 上.然后当 master 通 过 SSH 连接 slave 时, slave 就会生成一个随机数并用 master 的公 钥对随机数进行加密,并发送给 master .最后 master 收到加密数之后再用私 钥解密,并将解密数回传给 slave , slave 确 认解密数无误之后就允许 master 不 输入密码进行连接了 2 ,
【Hadoop 分布式部署 五:分布式部署之分发、基本测试及监控】
1.对 hadoop 进行格式化 到 /opt/app/hadoop-2.5.0 目录下 执行命令: bin/hdfs namenode -format 执行的效果图如下 ( 下图成功 格式化 不要没事格式化 ) 2.启动dfs 执行命令(在 /opt/app/hadoop-2.5.0/目录下): sbin/start-dfs.sh 执行之后的效果就如下图 (可以看到 3个DataNode已经启动起来了,NameNode 和 secon
【Hadoop 分布式部署 九:分布式协作框架Zookeeper架构 分布式安装部署 】
1.首先将运行在本地上的 zookeeper 给停止掉 2.到/opt/softwares 目录下 将 zookeeper解压到 /opt/app 目录下 命令: tar -zxvf zookeeper-3.4.5.tar.gz -C /opt/app/ 3.修改配置文件 将文件 zoo_sample.cfg 重命名为 zoo.cfg 创建文件目录 mkdir -p data/zkData 完整的路径:/opt/app/zookeeper-3.4.5/da
windows下hadoop的集群分布式部署
下面我们进行说明一下hadoop集群的搭建配置. 本文假设读者具有hadoop单机配置的基础,相同的部分不在重述. 以三台测试机为例搭建一个小集群,三台机器的ip分别为 192.168.200.1;192.168.200.2;192.168.200.3 cygwin,jdk的安装同windows下hadoop的单机伪分布式部署(1),这里略过. 1.配置 hosts 在三台机子的hosts文件中加入如下记录: 192.168.200.1 hadoop1 #master namenode 192
windows下hadoop的单机伪分布式部署(3)
下面介绍myeclipse与hadoop的集成. 我用的myeclipse版本是8.5. 1.安装hadoop开发插件 在hadoop1.2.1版本的安装包contrib/目录下,已经不再提供hadoop-eclipse-pligin-1.2.1.jar; 而是提供了源代码文件,需要我们自行重新编译成jar包文件:这里方便,大家可以从这里下载: hadoop-eclipse-plugin-1.2.1.jar.pdf 由于博客上传文件的类型限制,故添加了pdf后缀,下载之后重命名,去掉".pdf&
windows下hadoop的单机伪分布式部署(1)
hadoop的运行环境应该是在linux环境.如果想在windows环境下安装和运行hadoop,一般有两种方式:一种是VM的方式linux操作系统,这样可以实现全linux环境的hadoop运行:另一种方式安装cygwin模拟linux环境,该方法相对比较简单方便. 本文采取cywin的方式.下面将介绍下cygwin的安装与配置: (1)cygwin的安装 下载cygwin安装文件:http://cygwin.com; 我用的是64位版:操作系统为win7: 下载的setup文件实际上只是一个
windows下hadoop的单机伪分布式部署(2)
下面开始hadoop的安装与配置: (1)安装jdk 我安装的是JDK1.7.0_40,windows x64版的 下载完之后,直接点击安装, 我的安装路径为默认路径:C:\Program Files\Java\jdk1.7.0_40: 安装完毕后,设置环境变量: JAVA_HOME指向JDk安装目录 PATH指向JDK的bin目录 设置完成之后,在cmd中 输入java命令,如果出现一下画面,即为安装成功: (2)安装hadoop 下载hadoop,http://hadoop.apache.o