Ubuntu 16.10 搭建 hadoop 2.7.3 完全集群
来源:互联网 发布:测试心理的软件 编辑:程序博客网 时间:2024/06/18 11:17
Ubuntu 16.10 搭建 hadoop 2.7.3 完全集群
最近在学习hadoop,在搭建完全分布式环境中的过程以及遇到的问题做一下记录。网上也有很多关于如何搭建hadoop的博客,不过大部分都是复制,粘贴。
关于如何创建虚拟机,这里我不做介绍,网上有很多这方面的介绍。当然,如果你又条件,可以自己买服务器或者多台电脑玩。还有在安装之前要先安装jdk,以及设置jdk环境变量。
创建hadoop用户组
groupadd hadoop
- 添加hadoop用户
useradd -g hadoop -s /bin/bash -m hadoop备注:-g 属于刚刚创建的 hadoop 组 -s 是登录shell -m 为hadoop在/home 下自动创建用户文件夹 hadoop
- 安装shh
apt-get install sshapt-get install rsyncapt-get install openssh-server备注 : 对于ssh的详细安装,这里不做详解,请参看其他文章
配置 主机(hadoop01) 节点可通过 SSH 无密码访问 从节点(hadoop02 , hadoop03)
- 生成私钥,公钥
ssh-keygen -t rsassh-keygen -t rsa -P '' //表示空密码cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys //追加到authorized_keyschmod 600 authorized_keys //修改authorized_keys的权限,(这一步很重要不然的话,SSH时仍然需要密码)
- 将生成的 authorized_keys 文件复制到 hadoop02 和 hadoop03 的 .ssh目录下
scp ~/.ssh/authorized_keys hadoop@hadoop02:~/.sshscp ~/.ssh/authorized_keys hadoop@hadoop02:~/.ssh
- 安装hadoop
1、 从hadoop下载对应的tar.gz文件进行安装,这里选择的是2.7.3
2、 解压文件
tar -zxvf hadoop-2.7.3.tar.gz
- 配置 hadoop 的环境变量
vim /etc/profile# set hadoop pathexport HADOOP_HOME=/usr/hadoop/hadoop-2.7.1export PATH=$PATH:$HADOOP_HOME/binsource /etc/profile
配置hadoop-env.sh,yarn-env.sh(export JAVA_HOME=/usr/java/jdk1.8.0_131),看到hadoop 2.7.3 中 hadoop-env.sh,yarn-env.sh 中默认使用的是 $JAVA_HOME , 但此处必须配置,不然启动的时候namenode和datanode会报找不到java_home 的错误
core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> <property> <name>fs.defaultFS</name> <value>hdfs://hadoop01:9000</value> </property> <property> <name>io.file.buffer.size</name> <value>131072</value> </property></configuration>
- hdfs-site.xml
<configuration> <property> <name>dfs.namenode.handler.count</name> <value>100</value> </property></configuration>看到其他文章有用到dfs.namenode.name.dir等配置,这里我没有配置,用hadoop默认的就好,默认位置:默认file://${hadoop.tmp.dir}/dfs/name
- mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property></configuration>看到其他文章有用到mapreduce.jobhistory.address等配置,这里我用默认的
- yarn-site.xml
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>hadoop01</value> </property></configuration>这里很多文章都是配置了一大串的 host:port,值需要配置 yarn.resourcemanager.hostname 就好,其他都会以这个作为host
- 格式化节点 之前需要执行以下操作,不然执行wordcount程序会出现卡掉错误(以下ip是我局域网的ip,各自根据自己的ip进行修改)
vi /etc/hosts192.168.234.128 hadoop01192.168.234.129 hadoop02192.168.234.130 hadoop03这里需要注意,去掉/etc/hosts 中127.0.0.1 等多余的配置
- 修改hostname,各个机器上都需要修改,分别在各台机器上执行如下语句:
hostname hadoop01 hostname hadoop02 hostname hadoop03
- 好了,现在可以开始格式化节点了,在hadoop01上执行如下语句
bin/hdfs namenode -format
看到“successfully formatted”字样,表示,格式化成功。
- 启动hadoop,在hadoop安装目录(比如我是/usr/local/hadoop),执行如下命令
sbin/start-all.sh
在hadoop01,上用jps查看,namenode,ResourceManager是否启动
在hadoop02,03上用jps查看,datanode,NodeManager是否启动
浏览器查看 HDFS:http://192.168.234.128:50070
- 浏览器查看 mapreduce:http://192.168.234.128:8088
- 在hdfs的根目录下建立了一个test目录
hdfs dfs -mkdir /test
- 创建一个words.txt 文件
vi words.txtHello AlfredHello WorldHello TomHello JackHello HadoopBye hadoop
- 将words.txt上传到hdfs的根目录
hadoop fs -put words.txt /
- 运行一个WordCount程序
hadoop jar /usr/local/hadoop/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.7.3.jar wordcount /words.txt /test/out
- 运行成功, 查看运行结果(一步步执行下面语句看是否有运行成功文件)
hdfs dfs -ls / hdfs dfs -ls /test hdfs dfs -ls /test/out hdfs dfs -cat /test/out/part-r-00000 //这里part-r-0000改为你自己的文件名
0 0
- Ubuntu 16.10 搭建 hadoop 2.7.3 完全集群
- Ubuntu搭建hadoop完全式集群
- Hadoop 2.7.3 完全分布式集群系统搭建
- Hadoop 2.7.1 完全 分布式 集群 搭建
- hadoop完全分布式集群搭建
- hadoop完全分布式集群搭建
- Hadoop完全分布式集群搭建
- Hadoop完全分布式集群搭建
- Hadoop完全分布式集群搭建
- ubuntu 虚拟机 完全分布式 hadoop集群搭建 hive搭建 ha搭建
- Ubuntu Hadoop 完全分布式搭建
- Hadoop-2.7.1完全分布式集群搭建完整版
- hadoop集群搭建2.7.3
- hadoop 2.5.2 完全分布式集群环境搭建 (3)
- Ubuntu上hadoop集群搭建
- Ubuntu下搭建hadoop集群
- Hadoop系统完全分布式集群搭建方法
- hadoop-2.4.0完全分布式集群搭建
- POJ 2421 Constructing Roads 最小生成树
- 哈希表内容的详细整合
- python 中numpy.transpose()的用法
- List和数组之间的相互转换
- 虚拟机上实现linux自动上网
- Ubuntu 16.10 搭建 hadoop 2.7.3 完全集群
- FFMPEG 初探
- J2EE开发笔记(四)—— pom.xml文件详解
- 《算法导论》课后题--2--第二章(1)
- 串口发送数据——字符串发送与十六进制发送的区别
- Mina简介
- poj 2356 鹊巢原理
- php获取时间
- 机器学习算法(精简版)