hadoop环境的搭建(2.7.1版本)
来源:互联网 发布:vue.js 表单验证 编辑:程序博客网 时间:2024/05/07 16:35
1.首先呢,需要配置java环境,有两种java可以选择,建议选择oracle的版本。笔者使用的是ubuntu15.04:
$ sudo add-apt-repository ppa:webupd8team/java
$ sudo apt-get update
$ sudo apt-get install oracle-java7-installer
$ sudo update-java-alternatives -s java-7-oracle
2.配置master和slave,需要修改两个地方。
第一个: sudo vim /etc/hosts
192.168.10.154 master
192.168.10.8 slave01 #cool4
192.168.10.3 slave02 #cool0
192.168.10.6 slave03 #cool3
需要注意的是机器名字不能有下划线,后来出错怎么都找不到原因,偶然发现是下划线的问题,下划线的问题,下划线的问题(重说三)“,似乎和java的编码规则有关。
第二个:sudo vim /etc/hostname
将主机名称改成相应的名字。(master/slave01等等)
3.下载hadoop的最新版本,方法自己搜索一下,这里就不在多说。需要注意的是一开始slave上没有必要下载,现在master上配置好后,再打包scp给各个slave,这样可以避免重复配置。
4.相互ssh登陆无密码设置。
这里以在master上配置slave01为例:
$ ssh-keygen -t rsa -P ""
#Authorize the key to enable password less ssh
$ cat /home/<username>/.ssh/id_rsa.pub >> /home/<username>/.ssh/authorized_keys
$ chmod 600 authorized_keys
#Copy this key to slave01 to enable password less ssh
$ ssh-copy-id -i ~/.ssh/id_rsa.pub slave01
#Make sure you can do a password less ssh using following command.
$ ssh slave01
#如果以上这步可以无密码访问,则说明成功。之后要将master和剩下的slave设置好。而slave对master以及slave之间是不需要配置的。
5.配置环境变量。也是有两个地方:
一个是:vim ~/.bashrc
在文件底部键入:
export HADOOP_PREFIX=/usr/local/hadoop
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
#HADOOP VARIABLES START
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
export HADOOP_MAPRED_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_HOME=$HADOOP_INSTALL
export HADOOP_HDFS_HOME=$HADOOP_INSTALL
export YARN_HOME=$HADOOP_INSTALL
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_INSTALL/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_INSTALL/lib"
#HADOOP VARIABLES END
另一个是:vim <hadoop dir>/etc/hadoop/hadoop_env.sh
将里面的java_home删掉或注释,改为:
export JAVA_HOME=/usr/lib/jvm/java-7-oracle
6.配置集群/分布式环境
集群/分布式模式需要修改 etc/hadoop 中的5个配置文件,后四个文件可点击查看官方默认设置值,这里仅设置了正常启动所必须的设置项: slaves、core-site.xml、hdfs-site.xml、mapred-site .xml、yarn-site.xml 。
6.1首先是slave文件了,这个是负责告诉hadoop有哪些机器在机群里,列出她们的名字(在刚才的/etc/hostname中):
- cd /usr/local/hadoop/etc/hadoop
- vim slaves
master
slave01
slave02
6.2 修改core-site.xml,这个文件负责hadoop核心的设置,这里主要是设置虚拟存储(就是一块大硬盘)的位置:
<property> <name>fs.defaultFS</name> <value>hdfs://Master:9000</value></property><property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description></property>
更多的设置在这里6.3 修改mapred-site.xml,这个文件就是map和reduce(就是分工作,再整合)的关键啦,这个先做一个最简单的设置:
<property> <name>mapreduce.framework.name</name> <value>yarn</value></property>
更多的可以看这里6.4 修改hdfs-site.xml,hdfs全称是Hadoop Distributed File System,类似于NTFS,EXT4,我们可以把她理解成为一种磁盘格式,负责文件的存取,管理等,特别注意的是于datanode相关的设置都在这里面哦
<property> <name>dfs.namenode.secondary.http-address</name> <value>Master:50090</value></property><property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/name</value></property><property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop/tmp/dfs/data</value></property><property> <name>dfs.replication</name> <value>3</value></property>
这里dfs.repliction的value是机器的个数。更多设置看这里6.5 修改yarn-site.xml,yarn的作用类似于daemon,是守护进程,而且他还负责任务的分配和机群的管理。
<property> <name>yarn.resourcemanager.hostname</name> <value>Master</value></property><property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value></property>
更多设置看这里
7 接着就是将hadoop打包然后分发到各个slave上了
- cd /usr/local
- rm -r ./hadoop/tmp
- sudo tar -zcf ./hadoop.tar.gz ./hadoop
- scp ./hadoop.tar.gz slave01:/home/hadoop
然后再slave01的机器上:
- sudo tar -zxf ~/hadoop.tar.gz -C /usr/local
- sudo chown -R joseph:joseph /usr/local/hadoop
- cd /usr/local/hadoop/
- hdfs namenode -format
- start-dfs.sh
- start-yarn.sh
9 小试牛刀
一路碰到的问题:
hadoop job -list-active-trackers
确定有哪些机器是参加运算的,然后就是复杂的mapreduce设置了,这里先不涉及感兴趣的可以参考这里和这里mapreduce.job.ubertask.enable
mapreduce.job.ubertask.maxmaps
mapreduce.job.ubertask.maxreduces
mapreduce.job.ubertask.maxbytes
先到这里吧,希望能帮到大家!- hadoop环境的搭建(2.7.1版本)
- Hadoop 2.7版本 集群环境搭建实例
- hadoop-2.7.1环境搭建
- hadoop搭建环境(1)
- Hadoop笔记:集群的虚拟搭建(版本1.2.1)
- Hadoop环境的搭建
- Hadoop环境的搭建
- Hadoop的环境搭建
- hadoop学习之路(一)---集群环境搭建(2.7.3版本)
- hadoop不同版本环境搭建集合
- Hadoop家族环境搭建各种版本选择
- 1、hadoop环境搭建
- Hadoop-2.7.1集群环境搭建步骤(一)
- Hadoop-2.7.1集群环境搭建步骤(二)
- hadoop(十一) - hadoop各版本集群环境搭建
- Hadoop-2.7.1集群环境搭建
- Hadoop生态系统搭建(1)——Ubuntu16.04环境搭建 Hadoop 2.7.0 全分布式环境
- linux上搭建hadoop环境(hadoop 2.7.1)总结
- Swift编程规范:保持代码优美的10个方法
- Linux 变量结构体等命名规则
- iOS [[UIScreen mainScreen] scale]是什么?
- Android ril移植-6410开发板SIM300模块
- Ubuntu14.04安装配置星际译王词典
- hadoop环境的搭建(2.7.1版本)
- 数据结构和算法导论
- 分享一个金额运算的工具类
- Bootstrap JQuery wizard steps流程插件
- Debug
- 个人学习笔记---文件系统的实现
- iOS 9 适配
- Sentinel-Redis高可用方案(一):主从复制
- MFC对话框程序启动时隐藏