hadoop一主一从部署(1)
一、安装前说明
主机ip:192.168.132.128
从机ip:192.168.132.129
1. 所有的安装包我放在了/root/这个目录下,你要根据自己情况去修改,这点必须注意
2. 采用的安装包如下
jdk-7u79-linux-x64.tar.gz,hadoop-2.8.0.tar.gz
3. 采用的linux系统是centos7.0
4. 文中命令如果没有强调,默认在两台机子上都执行相同的命令
二、安装步骤
1 配置免密登录
执行命令ssh-keygen
一直按回车键即可。
主机执行命令ssh-copy-id root@192.168.132.129
从机执行命令ssh-copy-id root@192.168.132.128
按照要求输入yes,和密码
2 验证免密登录
主机执行命令 ssh 192.168.132.129
正常情况是不需要输入密码就可以登录,验证成功之后执行exit命令退出远程登录。
同样的操作在从机执行一遍,从机执行命令 ssh 192.168.132.128
。
3 在/etc/hosts这个文件下加入如下两行:
192.168.132.128 master 192.168.132.129 slaver
4 解压jdk和hadoop,并将其添加到环境变量
tar zxvf jdk-7u79-linux-x64.tar.gz tar zxvf hadoop-2.8.0.tar.gz
在/etc/profile下写入如下代码(我的路径放在/root/下,你要改成自己的路径):
export java_home=/root/jdk1.7.0_79 export hadoop_home=/root/hadoop-2.8.0 export path=$path:$java_home/bin export path=$path:$hadoop_home/bin:$hadoop_home/sbin
执行命令 source /etc/profile
使环境变量生效
5 创建必要的目录用来存放数据和一些临时文件(这些目录会在配置文件中用到)
mkdir tmp dfs mkdir dfs/data dfs/name
6 对hadoop的配置文件进行修改
执行命令cd /root/hadoop-2.8.0/etc/hadoop/
将hadoop-env.sh,yarn-env.sh,mapred-env.sh文件中的java_home的值改成
/root/jdk1.7.0_79
觉得手动修改麻烦的也可以采用如下三个命令:
sed -i '/^export java_home=${java_home}/ s/java_home=${java_home}/java_home=\/root\/jdk1.7.0_79/g' hadoop-env.sh sed -i '/^#.*export java_home=.*/ s/^.*$/export java_home=\/root\/jdk1.7.0_79/g' yarn-env.sh sed -i '/^#.*export java_home=.*/ s/^.*$/export java_home=\/root\/jdk1.7.0_79/g' mapred-env.sh
7 对hadoop的core-site.xml这个配置文件进行修改,执行命令sed -i '/<.*configuration>/d' core-site.xml
上述命令是将原先的配置文件进行清理,然后执行如下命令写入新的配置文件(这个配置文件主机从机没区别,全部用主机的ip):
cat >> core-site.xml << eof <configuration> <property> <name>fs.defaultfs</name> <value>hdfs://master:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>file:/root/tmp</value> </property> <property> <name>io.file.buffer.size</name> <value>131702</value> </property> </configuration> eof
8 对hadoop的配置文件hdfs-site.xml,(这里主机和从机的配置文件略有区别)执行命令:sed -i '/<.*configuration>/d' hdfs-site.xml
上述命令是将原先的配置文件进行清理,然后在从机上!!(如果是主机,需要把下面配置文件中的slaver改成master,因为这个配置文件主机和从机略有区别,这个配置文件主机和从机用自己的ip,)执行如下命令写入新的配置文件:
cat >> hdfs-site.xml << eof <configuration> <property> <name>dfs.namenode.name.dir</name> <value>file:/root/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:/root/dfs/data</value> </property> <property> <name>dfs.replication</name> <value>2</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>slaver:9001</value> </property> <property> <name>dfs.webhdfs.enabled</name> <value>true</value> </property> </configuration> eof
9 对hadoop的配置文件mapred-site.xml进行修改
执行命令mv mapred-site.xml.template mapred-site.xml
执行命令sed -i '/<.*configuration>/d' mapred-site.xml
在从机上执行如下一大段命令(如果是主机,把slaver改成master,因为这个配置文件主机从机有区别,这个配置文件用自己的ip):
cat >> mapred-site.xml << eof <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>slaver:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>slaver:19888</value> </property> </configuration> eof
10 对hadoop配置文件yarn-site.xml进行修改
执行命令:sed -i '/<.*configuration>/d' yarn-site.xml
执行如下一大段命令(这个配置文件主机从机没区别,都用主机的):
cat >> yarn-site.xml << eof <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name> <value>org.apache.hadoop.mapred.shufflehandler</value> </property> <property> <name>yarn.resourcemanager.address</name> <value>master:8032</value> </property> <property> <name>yarn.resourcemanager.scheduler.address</name> <value>master:8030</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address</name> <value>master:8031</value> </property> <property> <name>yarn.resourcemanager.admin.address</name> <value>master:8033</value> </property> <property> <name>yarn.resourcemanager.webapp.address</name> <value>master:8088</value> </property> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>4096</value> </property> </configuration> eof
11 对hadoop配置文件slavers进行修改
将里面的localhost
删除
写入 slaver
至此,hadoop搭建初步完成,下一篇博文会简单介绍hadoop初始化以及简单的使用。本代码已经过多次测试,如果出现问题
- 检查绝对路径
- 检查是否疏漏一些命令
上一篇: 使用SAE部署Python运行环境的教程
下一篇: while 循环,格式化输出和运算编码
推荐阅读
-
从0到1,这家智能名片公司是怎么一路高歌猛进的?
-
mysql 架构篇系列 4 复制架构一主一从搭建(半同步复制)
-
Docker部署mysql一主一从的操作方法
-
【学习笔记】C语言习题:有n个人围成一圈,顺序排号。从第一个人开始报数(从1到3报数),凡报到3的人退出圈子,问最后留下的是原来第几号的那位。
-
我们在删除SQL Sever某个数据库表中数据的时候,希望ID重新从1开始,而不是紧跟着最后一个ID开始需要的命令
-
hadoop一主一从部署(1)
-
C#(1)实现一键从Word文档转换TXT文本的功能
-
用weexplus从0到1写一个app(2)-页面跳转和文章列表及文章详情的编写
-
从P1到P40!扒一扒华为P系列9年的风光史
-
mysql主从配置实现一主一从读写分离