Hadoop集群配置搭建文档/教程
来源:互联网 发布:2015人口普查数据 编辑:程序博客网 时间:2024/06/07 20:33
Hadoop集群搭建之夜
废话少说、书归正传,集群搭建步骤:
- 拥有两台或以上具有独立IP的机器
- 每台机器设置好地址映射(hosts与hostname文件)
- 每台机器依次配置好jdk、scala、hadoop环境
- 增加独立的hadoop用户(可选)
- 配置每台机器的ssh免密码登录(主要指master向slave)
- 每台机器配置好hadoop下的五个xml配置文件
- 初始化然后尝试运行
- 排错然后再运行
错误的努力
我经历了一个错误的白费力气的夜晚:我尝试以我装了Ubuntu16.04的系统作为master节点带动一个Ubuntu的Aliyun服务器作为slave1,但是发现一切配置妥当之后,居然ssh自己的ip行不通,但是以localhost之名ssh自己却没问题;一通乱改之后发现:原来连接路由器的pc不具备独立ip,无法被外网ssh登录22号端口;所以pc连接都是以局域网内网ip在配置集群;于是我再出血61.55元再买一台主机作为slave1节点,原来的slave1因为性能尚可被命为master节点;
每台机器设置好地址映射
现在先在准备作为master的主机上作
vi /etc/hostname
然后抹去原来名字,设为”master”
vi /etc/hosts
然后添加
111.123.123.122 master121.133.123.125 slave1
然后在准备作为slave1的主机上
vi /etc/hostname
然后抹去原来名字,设为”slave1”
vi /etc/hosts
然后添加
111.123.123.122 master121.133.123.125 slave1
最好在pc上也配置一下代号,然后方便随时切换登录,之后会超频繁;
依次配置好jdk、scala、hadoop环境
下载jdk,scala,限于云主机速度我是用pc传过去的
供主机下载的地址:
JDK:http://www.oracle.com/technetwork/java/javase/downloads/jdk8-downloads-2133151.html
scala:http://www.scala-lang.org/download/
root@pc$ scp jdk-8u131-linux-x64.tar.gz master:/download/ root@pc$ scp scala-2.12.2.tgz master:/downloadroot@pc$ scp jdk-8u131-linux-x64.tar.gz slave1:/download/ root@pc$ scp scala-2.12.2.tgz slave1:/downloadroot@pc$ ssh masterroot@master$ sudo mkdir /usr/lib/jdkroot@master$ sudo mkdir /usr/lib/scalaroot@master$ sudo tar -zxvf jdk-8u131-linux-x64.tar.gz -C /usr/lib/jdkroot@master$ sudo tar -zxvf scala-2.12.2.tgz -C /usr/lib/scalaroot@master$ sudo vim /etc/profile
然后加入:
export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_131 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATHexport SCALA_HOME=/usr/lib/scala/scala-2.12.2export PATH=${SCALA_HOME}/bin:$PATH
再去往修改
root@master$ vim ~/.bashrc
增加在最后一行
export JAVA_HOME=/usr/lib/jdk/jdk1.8.0_131
再使其生效
root@master$ source ~/.bashrcroot@master$ source /etc/profile
检查配置
root@master$ $JAVA_HOME/bin/java -version
配置master向slave组的ssh免密码登录
请注意:root后面的名字表明了我们此时正在哪一台主机上面;
root@master$ apt-get install openssh-serviceroot@master$ ssh localhostroot@master$ logoutroot@master$ cd ~/.sshroot@master$ ssh-keygen -t rsaroot@master$ cat ./id_rsa.pub >> ./authorized_keysroot@master$ scp ~/.ssh/id_rsa.pub slave1:~root@master$ ssh slave1root@slave1$ cd ~/.sshroot@slave1$ cat ~/id_rsa.pub >> ~/.ssh/authorized_keysroot@slave1$ rm ~/id_rsa.pubroot@slave1$ logoutroot@master$ ssh slave1root@slave1$ logout
最后两步即是检验是不是能够无密码登录了;
配置hadoop文件夹下的5个xml配置文件
由于要求集群每台主机的hadoop下配置相同,所以我们先在master上安装hadoop,完成配置,再复制到其他slave主机,最后再写入环境变量;
root@pc$ scp hadoop.tar.gz master:/usr/localroot@pc$ ssh masterroot@master$ cd /usr/hadooproot@master$ sudo tar -zxf ./hadoop-2.7.3.tar.gzroot@master$ cd hadoop-2.7.3/etc/hadooproot@master$ vim slavesroot@master$ vim core-site.xmlroot@master$ vim hdfs-site.xmlroot@master$ vim mapred-site.xmlroot@master$ vim yarn-site.xml
这五次分别配置为
slaves
slave1
core-site.xml
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop-2.7.3/tmp</value> <description>Abase for other temporary directories.</description> </property></configuration>
hdfs-site.xml
<configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>master:50090</value> </property> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file:/usr/local/hadoop-2.7.3/tmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/usr/local/hadoop-2.7.3/tmp/dfs/data</value> </property></configuration>
mapred-site.xml
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property></configuration>
yarn-site.xml
<configuration><!-- Site specific YARN configuration properties --> <property> <name>yarn.resourcemanager.hostname</name> <value>master</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property></configuration>
配置完成,打包整个hadoop文件复制到其他所有slave节点,并配置hadoop环境变量;
root@master$ tar -zcf hadoop.tar.gz ./hadoop-2.7.3/root@master$ scp hadoop.tar.gz slave1:/usr/localroot@master$ ssh slave1root@slave1$ cd /usr/localroot@slave1$ sudo tar -zxf ./hadoop-2.7.3.tar.gz
首先执行 vim ~/.bashrc,加入一行:
export PATH=$PATH:/usr/local/hadoop-2.7.3/bin:/usr/local/hadoop-2.7.3/sbin
再执行source ~/.bashrc;
接近尾声
接下来可以启动试试,首先要初始化
root@master$ hdfs namenode -format root@master$ start-dfs.shroot@master$ start-yarn.shroot@master$ mr-jobhistory-daemon.sh start historyserver
尝试开启分布式任务
root@master$ hdfs dfs -mkdir /userroot@master$ hdfs dfs -mkdir -p /user/rootroot@master$ hdfs dfs -mkdir inputroot@master$ hdfs dfs -put /usr/local/hadoop-2.7.3/etc/hadoop/*.xml inputroot@master$ hdfs dfs -ls inputroot@master$ hadoop jar /usr/local/hadoop-2.7.3/share/hadoop/mapreduce/hadoop-mapreduce-examples-*.jar grep input output 'dfs[a-z.]+'root@master$ hdfs dfs -cat output/*root@master$ stop-dfs.shroot@master$ stop-yarn.shroot@master$ mr-jobhistory-daemon.sh stop historyserver
- Hadoop集群配置搭建文档/教程
- hadoop集群搭建文档
- Hadoop集群搭建文档
- Hadoop 集群搭建教程
- hadoop集群搭建教程
- Hadoop集群搭建,配置
- hadoop 搭建集群配置
- hadoop集群安装配置文档
- Hadoop集群安装配置教程
- Hadoop集群安装配置教程
- Hadoop集群安装配置教程
- Hadoop安装教程-集群配置
- Ubuntu Linux hadoop开发环境搭建详细教程 二、配置Hadoop集群环境
- Hadoop集群完全分布式搭建教程-CentOS
- Hadoop集群完全分布式搭建教程-CentOS
- Hadoop分布式集群搭建完全教程
- Hadoop集群完全分布式搭建教程-CentOS
- Hadoop(2.7.3)集群配置-官方文档
- 巧用函数返回值
- 全文检索技术学习(二)——配置Lucene的开发环境
- Weex 入坑指南:快速开始 Weex 之旅
- 线上比赛记录本
- js中this的指向问题
- Hadoop集群配置搭建文档/教程
- 使用 javafx 开发windows应用
- bootstrap-table 怎么配置ajaxOptions
- 前台开发总结06_20170520
- 电商业务之代码逻辑(订单售后)
- CodeForces788C【BFS】
- TortoiseSVN 设置中文语言包
- 数据结构之单链表
- 170520 cmd 下带参数执行python 文件