博客
关于我
强烈建议你试试无所不能的chatGPT,快点击我
Ubuntu上hadoop集群安装[转]
阅读量:7113 次
发布时间:2019-06-28

本文共 9553 字,大约阅读时间需要 31 分钟。

hadoop-2.6.0集群环境搭建

一、主机规划

            1、准备4台Ubuntu 14.04 64-bit 虚拟机,一台充当resourcemanager和namenode,另外三台充当nodemanager和datanode。由于需要实现主机间ssh无密码访问,主机IP采用静态配置。配置如下:

namenode   ip:192.168.1.110

datanode1  ip:192.168.1.111

datanode2  ip:192.168.1.112

datanode3  ip:192.168.1.113

分别修改每一台的主机名和hosts文件

$sudo vim /etc/hostname

$sudo vim /etc/hosts

2、新建用户组和用户

$sudo groupadd clsuter

$sudo useradd -m -s /bin/bash -g clsuter -G sudo  hadoop

$sudo passwd hadoop

注销当前用户以hadoop用户登陆,主要是方便之后使用gedit编辑器修改配置文件。

3、安装ssh并配置无密码访问,依次执行下面的命令:

$ sudo apt-get install ssh

$ sudo apt-get install rsync

$ ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa

$ cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys

4、配置namenode无密码访问datanode1

在datanode1上切换到/home/hadoop/.ssh执行

$ scp hadoop@namenode:/home/hadoop/.ssh/id_dsa.pub ./namenode_dsa.pub

$ cat namenode_dsa.pub >>authorized_keys

在namenode上执行:

$ ssh hadoop@datanode1(第一次需要输入密码,之后便可无密码访问)

同上分别配置datanode2 和datanode3

二、安装jdk和hadoop-2.6.0

1、安装jdk

到Oracle官网下载jdk-8u25-linux-x64.tar.gz将其拷贝到/usr目录,执行:$ sudo tar -zxf /usr/jdk-8u25-linux-x64.tar.gz

2、安装hadoop-2.6.0

到下载hadoop-2.6.0.tar.gz拷贝到/home/hadoop目录,执行:$ tar -zxf /home/hdoop/hadoop-2.6.0.tar.gz

3、配置环境变量

执行:$ sudo vim /etc/profile 在文件末尾添加如下内容:

export JAVA_HOME=/usr/jdk1.8.0_25

export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
export HADOOP_PREFIX=/home/hadoop/hadoop-2.6.0
export HADOOP_CONF_DIR=/home/hadoop/hadoop-2.6.0/etc/hadoop
export HADOOP_YARN_HOME=/home/hadoop/hadoop-2.6.0

三、配置hadoop

1、配置/home/hadoop/hadoop-2.6.0/etc/hadoop/core-site.xml

hadoop.tmp.dir
/home/hadoop/hadoop-2.6.0/tmp
Abase for other temporary directories.
fs.defaultFS
hdfs://s3:9000
io.file.buffer.size
131072

2、配置/home/hadoop/hadoop-2.6.0/etc/hadoop/hdfs-site.xml

dfs.namenode.name.dir
/home/hadoop/hadoop-2.6.0/dfs/name
dfs.datanode.data.dir
/home/hadoop/hadoop-2.6.0/dfs/data
dfs.replication
2
dfs.blocksize
268435456
dfs.namenode.handler.count
100

 

3、配置/home/hadoop/hadoop-2.6.0/etc/hadoop/yarn-site.xml

yarn.acl.enable
true
yarn.admin.acl
*
yarn.log-aggregation-enable
false
yarn.resourcemanager.address
s3:8032
yarn.resourcemanager.scheduler.address
s3:8030
yarn.resourcemanager.resource-tracker.address
s3:8031
yarn.resourcemanager.admin.address
s3:8033
yarn.resourcemanager.webapp.address
s3:8088
yarn.resourcemanager.hostname
s3
yarn.resourcemanager.scheduler.class
org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler
yarn.scheduler.minimum-allocation-mb
1024
yarn.scheduler.maximum-allocation-mb
8192
yarn.nodemanager.resource.memory-mb
8192
yarn.nodemanager.log.retain-seconds
10800
yarn.nodemanager.aux-services
mapreduce_shuffle
yarn.nodemanager.remote-app-log-dir
/logs
yarn.nodemanager.remote-app-log-dir-suffix
logs
yarn.log-aggregation.retain-seconds
-1
yarn.log-aggregation.retain-check-interval-seconds
-1
yarn.nodemanager.health-checker.script.path
-1

 

4、配置/home/hadoop/hadoop-2.6.0/etc/hadoop/mapred-site.xml

mapreduce.framework.name
yarn
mapreduce.map.memory.mb
1536
mapreduce.map.java.opts
-Xmx1024M
mapreduce.reduce.memory.mb
3072
mapreduce.reduce.java.opts
-Xmx2560M
mapreduce.task.io.sort.mb
512
mapreduce.task.io.sort.factor
100
mapreduce.reduce.shuffle.parallelcopies
50
mapreduce.jobhistory.address
s3:10020
mapreduce.jobhistory.webapp.address
s3:19888
mapreduce.jobhistory.intermediate-done-dir
/mr-history/tmp
mapreduce.jobhistory.done-dir
/mr-history/done

 

5、配置/home/hadoop/hadoop-2.6.0/etc/hadoop/slaves 把datanode的ip或主机名一行一个写入文件中

datanode1 或者192.168.1.111

datanode2 或者192.168.1.112

datanode3 或者192.168.1.113

6、启动hadoop

在namenode主机上启动如下进程:

格式化hdfs文件系统

$ $HADOOP_PREFIX/bin/hdfs namenode -format

启动namenode

$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start namenode

启动resourcemanager

$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start resourcemanager

启动MapReduce JobHistory Server

$ $HADOOP_PREFIX/sbin/mr-jobhistory-daemon.sh start historyserver --config $HADOOP_CONF_DIR

使用jps命令查看运行情况:

分别在每台datanode上启动:

启动datanode

$ $HADOOP_PREFIX/sbin/hadoop-daemon.sh --config $HADOOP_CONF_DIR --script hdfs start datanode

启动nodemanager

$ $HADOOP_YARN_HOME/sbin/yarn-daemon.sh --config $HADOOP_CONF_DIR start nodemanager

7、停止服务

要停止相应的服务只需把上面的命令中的start改为stop即可。

可通过浏览器访问如下地址查看hadoop的运行状态:

NameNode http://namenode:50070

ResourceManager http://namenode:8088

MapReduce JobHistory Server http://namenode:19888

四、运行测试

1、在hdfs文件系统上新建输入、输出目录

$ $HADOOP_PREFIX/bin/hdfs -mkdir /input

$ $HADOOP_PREFIX/bin/hdfs -mkdir /output

此次用hadoop自带的wordcount来做测试,在当前目录下新建测试文件test.txt

$ touch test.txt 并向文件中写入一定量的单词文本

$ $HADOOP_PREFIX/bin/hdfs -copyFromLocal test.txt /input

运行程序

$ $HADOOP_PREFIX/bin/hadoop jar share/hadoop/mapreduce/hadoop-mapreduce-examples-2.6.0.jar wordcount /input/ /output/result

查看结果

$ $HADOOP_PREFIX/bin/hdfs -cat /output/result/*

欢迎指正!

文章来源:http://blog.csdn.net/fteworld/article/details/41944597

转载于:https://www.cnblogs.com/ddblog/p/3736916.html

你可能感兴趣的文章
python
查看>>
Xcode插件优缺点对比(推荐20款插件)
查看>>
IOS-面试题
查看>>
hdu 2055 An easy problem (java)
查看>>
HTML5本地存储——Web SQL Database
查看>>
[异常解决] JTAG 与STM32的SWD连接接线方式
查看>>
webstorm快捷键 webstorm keymap内置快捷键英文翻译、中英对照说明
查看>>
热修改 MySQL 数据库 pt-online-schema-change 的使用详解
查看>>
Android调试优化篇
查看>>
Linux技巧汇总
查看>>
EF框架step by step(8)—Code First DataAnnotations(2)
查看>>
MySQL 若干操作
查看>>
Apache Rewrite规则详解
查看>>
JSON 之JAVA 解析
查看>>
MVC5网站开发之一 总体概述
查看>>
windows编程之菜单操作
查看>>
关键路径法
查看>>
Java并发编程:线程和进程的创建(转)
查看>>
【转】如何利用logrotate工具自动切分滚动中的日志文件
查看>>
视频摘要视频浓缩
查看>>