您现在的位置: 主页 > 嵌入式操作系统 > Linux > Hadoop2.7.1 集群部署及自动化脚本
本文所属标签:
为本文创立个标签吧:

Hadoop2.7.1 集群部署及自动化脚本

来源:网络整理 网络用户发布,如有版权联系网管删除 2018-07-28 

Hadoop2.7.1 集群部署及自动化脚本

实验环境

操作系统:Ubuntu 14.04 64位

jdk 安装

实验安装的是jdk1.7.0_71版本,具体安装步骤及环境变量设置参考这里。http://www.linuxidc.com/Linux/2016-07/132852.htm

SSH 无密登录

下面是我写的一个自动化SSH 无密登录脚本,运行脚本前需要安装expect包,ubuntu 系统下直接执行:sudo apt-get install expect就可以了。该脚本运行在namenode上,运行时只需要将IP_1改成对应的datanode地址,PWD_1是对应datanode密码。

# NO_PWD_SSH#!/bin/sh IP_1=10.107.12.20,10.107.12.50,10.107.12.60 PWD_1=111111key_generate() { expect -c "set timeout -1; spawn ssh-keygen -t dsa; expect { {Enter file in which to save the key*} {send -- r;exp_continue} {Enter passphrase*} {send -- r;exp_continue} {Enter same passphrase again:} {send -- r;exp_continue} {Overwrite (y/n)*} {send -- nr;exp_continue} eof {exit 0;} };" } auto_ssh_copy_id () { expect -c "set timeout -1; spawn ssh-copy-id -i $HOME/.ssh/id_dsa.pub root@$1; expect { {Are you sure you want to continue connecting *} {send -- yesr;exp_continue;} {*password:} {send -- $2r;exp_continue;} eof {exit 0;} };" } rm -rf ~/.ssh key_generate ips_1=$(echo$IP_1 | tr ','' ') for ip in$ips_1do auto_ssh_copy_id $ip$PWD_1doneeval &(ssh-agent) ssh-add

安装Hadoop2.7.1

1. 下载Hadoop2.7.1

下载地址点这里。

2. 解压安装

tar zxvf hadoop-2.7.1.tar.gz解压,解压后放在了/root/spark_sdk/目录下,并在hadoop-2.7.1目录下建立tmp、hdfs/namenode、hdfs/datanode目录,命令如下:

3. 设置环境变量

在~/.bashrc文件中加入如下两条命令:

使环境变量生效:source ~/.bashrc

4. 设置主机名 && hosts文件

主机名

将/etc/hostname中主机名依次修改为namenode,datanode1,datanode2,datanode3。

hosts文件

将/etc/hosts文件中加入如下命令:

10.107.12.10 namenode 10.107.12.20 datanode1 10.107.12.50 datanode2 10.107.12.60 datanode3

注意主机名必须和hosts文件中名称保持一致!!

5. 修改Hadoop 配置文件

hadoop-env.sh 文件

yarn-env.sh 文件

core-site.xml 文件

fs.defaultFShdfs://namenode:9000io.file.buffer.size131702hadoop.tmp.dirfile:/root/spark_sdk/hadoop-2.7.1/tmpAbase for other temporary directories.hadoop.proxyuser.root.hosts*hadoop.proxyuser.root.groups*

这里有一个地方需要注意,最后设置hadoop.proxyuser时,后面跟的是用户名,我是用root用户登录的,所以填的是root。

hdfs-site.xml 文件

dfs.namenode.name.dirfile:/root/spark_sdk/hadoop-2.7.1/hdfs/namenodedfs.datanode.data.dirfile:/root/spark_sdk/hadoop-2.7.1/hdfs/datanodedfs.replication3dfs.namenode.secondary.http-addressnamenode:9001dfs.webhdfs.enabledtrue

mapred-site.xml 文件

yarn-site.xml 文件

yarn.nodemanager.aux-servicesmapreduce_shuffleyarn.nodemanager.auxservices.mapreduce.shuffle.classorg.apache.hadoop.mapred.ShuffleHandleryarn.resourcemanager.addressnamenode:8032yarn.resourcemanager.scheduler.addressnamenode:8030yarn.resourcemanager.resource-tracker.addressnamenode:8031yarn.resourcemanager.admin.addressnamenode:8033yarn.resourcemanager.webapp.addressnamenode:8088

slaves 文件

datanode1 datanode2 datanode3

6. 启动Hadoop

先格式化namenode,然后依次启动hdfs和yarn。

7. 集群启动验证

namenode上执行jps命令,可以查询到有如下进程:

15746 SecondaryNameNode 15508 NameNode 15969 ResourceManager 16377 Jps

datanode上执行jps命令,可以查询到有如下进程:

14731 Jps 14421 NodeManager 14182 DataNode

8. 查询集群信息 && 关闭集群

可以在浏览器中输入:10.107.12.10:50070查询HDFS相关信息,这里10.107.12.10是namenode的IP地址。浏览器输入:10.107.12.10:8088查看yarn的启动情况。

关闭集群可以执行sbin/stop-all.sh。

9. 运行应用程序

启动集群后,切换到hadoop 主目录,执行 ./bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.1.jar pi 20 10,运行成功后会输出Pi的值,结果如下:

【完】



              查看评论 回复



嵌入式交流网主页 > 嵌入式操作系统 > Linux > Hadoop2.7.1 集群部署及自动化脚本
 文件 启动 集群

"Hadoop2.7.1 集群部署及自动化脚本"的相关文章

网站地图

围观()