基于Ubuntu 14的hadoop全分布集群搭建
来源:互联网 发布:程序员岗位职责说明书 编辑:程序博客网 时间:2024/06/06 09:21
1、安装前的准备
安装环境:3台一样的虚拟机Ubuntu 14+hadoop2.6.0+java1.8.0
虚拟机:VMware
虚拟机ip地址以及hostname主机名:
<span style="white-space:pre"></span>192.168.238.128 slaver1192.168.238.129 slaver2192.168.238.130 master</span>
1.1主机hosname的设置
快捷方式ALt+Ctrl+T打开命令行,输入hostname可以查看主机的hostname。
修改hostname可以通过命令sudo gedit /etc/hostname,然后在打开的文件里面输入主机名即可
1.2修改hosts
命令行键入:sudo gedit /etc/hosts ,然后在打开的文件后面添加如何代码。
192.168.238.128 slaver1192.168.238.129 slaver2192.168.238.130 master
保存文件后重启电脑。可以通过ping+hostname测试机器之间能否通信。
2、三台虚拟机上安装同样版本的java
到Oracle网站上面下载jdk1.8.0_20 安装包。文件后缀名是tar.gz .java 的安装路径是/usr/local/java,首先在
usr/local路径下面通过命令:sudo mkdir java 新建java文件夹。然后去到安装文件保存的路径通过命令:
cp jdk1.8.0_20.tar.gz /usr/local/java/ 把安装复制到java 文件夹,然后通过sudo tar -zxvf jdk1.8.0_20.tar.gz 解压安装包。
最后是配置环境变量:sudo gedit /etc/profile 打开文件在后面添加如下代码;
export JAVA_HOME=/usr/local/java/jdk1.8.0_20 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
键入source /etc/profile 命令更新环境变量。
可以通过键入java -version查看java是否安装成功,输入如下信息就成功了.
java version "1.8.0_20"Java(TM) SE Runtime Environment (build 1.8.0_20-b26)Java HotSpot(TM) Client VM (build 25.20-b23, mixed mode)
3、创建集群专用的用户hadoop(所以虚拟机一样)
3.1创建用户组
sudo addgroup hadoop 会要求输入用户密码。
3.2创建用户hadoop,并归到hadoop用户组
sudo adduser -ingoup hadoop hadoop
3.3给hadoop用户加权限
sudo gedit /etc/sudoers 打开文件后,找到root ALL=(ALL:ALL) ALL 语句,在语句下面添加如下语句
hadoop ALL=(ALL:ALL) ALL
可以键入id hadoop 查看是否创建成功,会输出以下信息:
uid=1002(hadoop) gid=1002(hadoop) groups=1002(hadoop)
4.ssh免密码安装和配置
4.1 ssh命令行安装
sudo apt-get install ssh openssh-server 可能要先update一下
4.2 生成公私密钥对
ssh-kengen -t rsa -P ''(单引号) enter后即可在~/.ssh下生成id_rsa和id_rsa.pub密钥对
4.3 将id_rsa.pub复制给authorized_keys授权文件
先进入~/.ssh
然后 cat id_rsa.pub >> authorized_keys
给予文件权限 chmod 644 authorized_keys
4.4 验证ssh是否配置成功
ssh localhost
若不需要输入密码则本地(本机)成功配置
4.5 把另外两台机器的公钥发到master主机
scp ~/.ssh id_rsa.pub hadoop@master:/home/hadoop/id_rsa_01.pub(slaver1上操作)
scp ~/.ssh id_rsa.pub hadoop@master:/home/hadoop/id_rsa_02.pub(slaver2上操作)
4.6 在master上合并公钥(在master上操作)
cat id_rsa_01.pub >> ~/.ssh/authorized_keys
cat id_rsa_01.pub >> ~/.ssh/authorized_keys
4.7 把master上授权文件发到slaver1和slaver2
scp ~./ssh/authorized_keys hadoop@slaver1:/home/hadoop/.ssh/
scp ~./ssh/authorized_keys hadoop@slaver2:/home/hadoop/.ssh/
4.8 赋予文件权限
chmod 644 authorized_keys (slaver1)
chmod 644 authorized_keys (slaver2)
4.9测试
这时ssh slaver1,ssh slaver2 ,ssh master都应该可以免密码登陆
5、正式安装hadoop 2.6.0
5.1 注意!!!
在master虚拟机上下载hadoop-2.6.0.tar.gz可以到官网上面去下载。hadoop是分32位和64位的,我的是32位
的虚拟机,所以示安装32位的hadoop。32位的机子如果装了64位的hadoop会出现运行错误。所以安装之前一定
要看清楚安装的hadoop是多少位的。具体查看方法如:
把hadoop-2.6.0.tar.gz放到/home/hadoop目录下,解压得到文件夹hadoop-2.6.0.
cd 到/hadoop-2.6.0/lib/native路径里面,通过file libhadoop.so.1.0.0 命令可以知道hadoop是32bit还是64bit
5.2配置hadoop
配置文件的路径:/home/hadoop/hadoop-2.6.0/etc/hadoop/
配置的文件:hadoop-env.sh,yarn-env.sh,core-site.xml,hdfs-site.xml,mapred-site.xml,yarn-site.xml,slaves
5.2.1 配置hadoop-env.sh 和yarn-env.sh
在这两个文件里面添加java的路径。在文件里面找到export JAVA_HOME语句。
若是没有就直接添加export JAVA_HOME=/usr/local/java/jdk1.8.0_20
5.2.2 配置core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property></configuration>
5.2.3 配置hdfs-site.xml
<configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/home/hadoop/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/home/hadoop/tmp/dfs/data</value> </property> <property> <name>dfs.datanode.ipc.address</name> <value>0.0.0.0:50020</value> </property> <property> <name>dfs.datanode.http.address</name> <value>0.0.0.0:50075</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property></configuration>
5.2.4 配置mapred-site.xml
如果文件不存在,可以通过命令生成:
cp mapred-site.xml.template mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property></configuration>
5.2.5 配置yarn-site.xml
<configuration> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property></configuration>
5.2.6 配置slaves
修改slaves为:
slaver1
slaver2
5.3配置hadoop环境变量
sudo gedit /etc/profile 打开配置文件,在后面添加以下语句:
export HADOOP_HOME=/home/hadoop/hadoop-2.6.0export PATH=${HADOOP_HOME}/bin:$PATHexport PATH=${HADOOP_HOME}/sbin:$PATH保存关闭后执行source /etc/profile使之生效
5.4 格式化集群
格式化命令:$/home/hadoop/hadoop-2.6.0/bin/hdfs namenode -forma
15/02/12 21:29:53 INFO namenode.FSImage: Allocated new BlockPoolId: BP-85825581-192.168.187.102-142374779378415/02/12 21:29:53 INFO common.Storage: Storage directory /home/hadoop/tmp/dfs/name has been successfully formatted.等看到这个时,表示格式化ok
5.5 开启集群
开启hdfs:$/home/hadoop/hadoop-2.6.0/sbin/start-dfs.sh
开启yarn:$/home/hadoop/hadoop-2.6.0/sbin/start-yarn.sh
master上输入jps应该可以看到以下4个进程
ResourceManagerSecondaryNameNodeNameNodejps
slaver1和slaver2上输入jps应该可以看到以下3个进程
DataNodeNodeManagerjps</span>
还可以通过http://master:50070/,http://master:8080/ 查看集群的状态
也可以通过命令行$/home/hadoop/hadoop-2.6.0/bin hdfs dfsadmin -report 查看
hdfs的状态报告
6 注意事项
hdfs的tmp和data文件夹最好事先创建,namenode重新格式化前要先清空tmp和data里面的东西
参考文档:http://www.cnblogs.com/yjmyzz/p/4280069.html
http://blog.csdn.net/swuteresa/article/details/9446483
0 0
- 基于Ubuntu 14的hadoop全分布集群搭建
- hadoop分布集群搭建
- 基于Ubuntu 12.04+Hadoop1.2.0 的Hadoop集群搭建
- 基于Docker搭建Hadoop集群(ubuntu操作系统)
- Hadoop全分布集群搭建(3)——Hadoop安装与配置
- Hadoop全分布集群问题及配置
- Ubuntu下hadoop的集群式分布配置
- ubuntu14.04的hadoop环境搭建(全分布模式)
- Hadoop+spark+hive全分布环境的搭建
- 基于树莓派的Hadoop集群搭建
- 基于docker的hadoop HA 集群搭建
- 基于HA机制的Hadoop集群搭建
- 基于Docker的Hadoop集群快速搭建
- Hadoop全分布集群搭建(1)——设置主机名与域名解析
- Hadoop全分布集群搭建(2)——SSH免密码登陆
- Hadoop 2.5.0伪分布集群搭建
- hadoop 2.6.4 伪分布集群搭建
- Hadoop的全分布模式
- 字符与编码
- zoj 2587 Unique Attack 【判断最小割是否唯一】
- Linux 中使用 clone 函数
- Android UI特效集锦
- awk用法
- 基于Ubuntu 14的hadoop全分布集群搭建
- Ajax提高篇(1)入门
- LeetCode 题解(197) : Isomorphic Strings
- 软工视频(九、十)
- java 资源大全
- 数据库事务 ios FMDB
- 开学季!MathType 6.9 序列号限时大促销进行中!
- oracle contains函数 全文检索
- 【笔试】28、二进制中1的个数