hadoop2.72集群搭建(亲自实验,技术内容部分转自他人博客)
来源:互联网 发布:整型数据占几个字节 编辑:程序博客网 时间:2024/04/30 20:54
Hadoop2.7.2集群安装
1、 准备环境
Centos 6.6
Jdk-6u45-linux-x64.bin
Hadoop-2.7.2
(1)、三个可以上网的centos系统;master :额外的内存资源;slave :需要额外的磁盘空间。
(一、)网络部分: cd etc/syeconfig/network-scripts
Vim ifcfg-eth0
将BOORPROTO 改为静态:static;
添加ip地址:IPADDR;NETMASK;GATEWAY;DNS;
保存退出 :wq
重启网络服务:/etc/init.d/networkrestart;
(二、)搭建java环境:jdk-6u45
安装java:先在虚拟机下设置共享文件夹,进入centos系统:在mnt/hgfs/ 下找到共享文件夹,将软件复制到 usr/local/src/下
直接运行java ./ jdk……
配置java环境变量:
输入vi/etc/profile
ExportJAVA_HOME=/usr/local/src/jdk1.6.0_45
ExportCLASSPATH=:$CLASSPATH:$JAVA_HOME/lib
ExportPATH=$PATH:$JAVA_HOME/bin
保存退出;
输入source/etc/profile //执行新变量
Echo$PATH 查看path环境变量;
远程拷贝到slave1 slave2中
Cd /usr/local/src
Scp –rp jdk1.6…. 192.168.85.12: /usr/local/src/
(三、)配置host文件
修改host文件
Vim/etc/hosts
添加:ip地址 主机名
远程拷贝到slave1 slave2中
(四、)SSH无密码登录
进入.ssh目录:Cd/root/.ssh
生产公钥和私钥(四个回车):ssh-keygen
执行完这个命令后,会生成两个文件id_rsa(私钥)、id_rsa.pub(公钥)
使用命令 ssh-copy-id 192.168.85.12 ssh-copy-id192.168.85.20
这时会在192.168.8.12主机的.ssh/下产生一个名为authorized_keys的文件,这时通过 ssh 192.168.85.12时可以直接免登陆进入主机
(五、)创建hadoop用户
[root@promote~]# groupadd Hadoop //创建用户组
[root@promote ~]# useradd -g hadoop Hadoop //创建用户名
[root@promote~]# passwd Hadoop //修改用户密码
将用户hadoop加到sudo列表
查看/etc/sudoers的权限
ls -l /etc/sudoers
修改文件权限
chmod 777 /etc/sudoers
将hadoop添加root权限
Vim /etc/sudoers
还原权限
Chmod 440 /etc/sudoers
sudoers文件拷贝到其他主机中
(六、)安装Hadoop2.7.2
http://mirrors.tuna.tsinghua.edu.cn/apache/hadoop/common/hadoop-2.7.2/hadoop-2.7.2.tar.gz
下载hadoop安装包;
Wget http://........tar.gz
tar zxvf Hadoop-2.7.2.tar.gz
2、 配置文件(hadoop)
a) 配置hadoop环境变量
Vim /etc/profile
在末尾添加:
export JAVA_HOME=/usr/local/src/jdk1.6.0_45
export HADOOP_HOME=/usr/local/src/hadoop-2.7.2
export CLASSPATH=".:$JAVA_HOME/lib:$CLASSPATH"
export PATH="$JAVA_HOME/:$HADOOP_HOME/bin:$PATH"
b) 配置hadoop相关文件
提前建立几个目录
cd /usr/local/src/hadoop-2.7.2/etc/hadoop/
mkdir tmp
mkdir dfs/name
mkdir dfs/data
1、 core-site.xml
cd /usr/local/src/Hadoop-2.7.2/etc/Hadoop
vim core-site.xml
输入:
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://192.168.85.10:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/src/hadoop-2.7.2/etc/hadoop/tmp </value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
</configuration>
//注释:(1)fs.defaultFS 这是一个描述集群中NameNode结点的URI(包括协议、主机名称、端口号),集群里面的每一台机器都需要知道NameNode的地址。DataNode结点会先在NameNode上注册,这样它们的数据才可以被使用。独立的客户端程序通过这个URI跟DataNode交互,以取得文件的块列表。
(2)hadoop.tmp.dir 是hadoop文件系统依赖的基础配置,很多路径都依赖它。如果hdfs-site.xml中不配置namenode和datanode的存放位置,默认就放在这个路径中Hadoop的默认临时路径,这个最好配置,然后在新增节点或者其他情况下莫名其妙的DataNode启动不了,就删除此文件中的tmp目录即可。不过如果删除了NameNode机器的此目录,那么就需要重新执行NameNode格式化的命令了。
2、hdfs-site.xml
Vim hdfs-site.xml
<property>
<name>dfs.namenode.http-address</name>
<value>192.168.85.10:50070</value>
</property>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>192.168.85.12:50090</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/src/hadoop-2.7.2/name</value>
</property>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<property>
<name>dfs.namenode.data.dir</name>
<value>file:/usr/local/src/hadoop-2.7.2/data</value>
</property>
2、 配置mapred-site.xml
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapreduce.jobhistory.adress</name>
<value>192.168.85.10:10020</value>
</property>
<property>
<name>mapereduce.jobhistory.webapp.address</name>
<value>192.168.85.10:19888</value>
</property>
3、 配置yarn-site.xml
<!-- 设置resourcemanager 在哪个节点-->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<!--reducer取数据的方式是mapreduce_shuffle -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
4、 配置hadoop-env.sh
在# The javaimplementation to use后添加或修改.
export JAVA_HOME=/usr/local/src/jdk1.8.0_141
5、 将hadoop文件夹复制到slave1,slave2 的
Scp -rp Hadoop-2.7.2 92.168.8.12/:/usr/local/src
(七、)启动
第一次启动得格式化
./bin/hdfs namenode-format
启动dfs
./sbin/start-dfs.sh
启动yarn
./sbin/start-yarn.sh
//执行上述命令时遇到警报
配置完Hadoop启动的时候出现如下警告信息:
[html] view plain copy
1. WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
问题在哪里?有人说这是hadoop的预编译包是32bit的,运行在64bit上就会有问题。但是这个答案大多数时候都是错的。
如何验证64bit还是32bit?
进入hadoop安装目录
[plain] view plain copy
1. /usr/local/hadoop-2.5.2/lib/native
用ldd命令查看依赖库
[plain] view plain copy
1. ldd libhadoop.so.1.0.0
会输出如下信息:
[plain] view plain copy
1. ./libhadoop.so.1.0.0: /lib64/libc.so.6: version `GLIBC_2.14' not found (required by ./libhadoop.so.1.0.0)
2. linux-vdso.so.1 => (0x00007fff369ff000)
3. libdl.so.2 => /lib64/libdl.so.2 (0x00007f3caa7ea000)
4. libc.so.6 => /lib64/libc.so.6 (0x00007f3caa455000)
5. /lib64/ld-linux-x86-64.so.2 (0x00007f3caac1b000)
可以看到依赖的都是/lib64/的动态库,所以不是64位/32位问题。但是看到报错,GLIBC_2.14找不到,现在检查系统的glibc库, ldd --version即可检查。
输入命令:
[plain] view plain copy
1. ldd --version
会输出如下信息:
[plain] view plain copy
1. ldd (GNU libc) 2.12
2. Copyright (C) 2010 Free Software Foundation, Inc.
3. This is free software; see the source for copying conditions. There is NO
4. warranty; not even for MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
5. Written by Roland McGrath and Ulrich Drepper.
原来系统预装的glibc库是2.12版本,而hadoop期望是2.14版本,所以打印警告信息。
现在有两个办法,重新编译glibc.2.14版本,安装后专门给hadoop使用,这个有点危险。
第二个办法直接在log4j日志中去除告警信息。在//usr/local/hadoop-2.5.2/etc/hadoop/log4j.properties文件中添加
[plain] view plain copy
1. log4j.logger.org.apache.hadoop.util.NativeCodeLoader=ERROR
- hadoop2.72集群搭建(亲自实验,技术内容部分转自他人博客)
- 第二章:hadoop2+HA+Zookeeper QJM集群搭建实验
- Centos7上搭建hadoop2.7.3分布式集群环境实验记录
- 博客备份攻略(亲自实验绝对可行)
- hadoop2.2.0集群搭建(三) zookeeper集群搭建
- Spark 1.4集群搭建(Hadoop2.6)
- Hadoop2.7.2之集群搭建(单机)
- Hadoop2.7.2之集群搭建(三台)
- Hadoop2.2集群搭建(1)
- Hadoop2.4.1集群搭建(YARN)
- Hadoop2.7.2之集群搭建(三台)
- Hadoop2.7.2之集群搭建(单机)
- Hadoop2.7.3-HA 集群搭建(传智播客)
- Hadoop2.7.1 集群环境搭建(虚拟机)
- Hadoop2.7.2集群搭建详解(三台)
- hadoop2.8集群搭建(单namenode)
- Hadoop2.7.2之集群搭建(三台)
- Hadoop2.7.2集群搭建详解(三台)
- 最近公共祖先(LCA)及其倍增算法实现
- HDU 1258 Sum It Up(DFS)
- (转)并查集详解 杭电1232畅通工程为例
- x-ray图像增强算法
- 实习日志-5
- hadoop2.72集群搭建(亲自实验,技术内容部分转自他人博客)
- C语言中.h文件和.c文件详细解析
- linux下sqlite3的使用
- Java RMI 远程方法调用 基础
- 使用 Node.js 的 nodemailer 模块发送邮件(支持 QQ、163 等、支持附件)
- UMG Spin Box 和 Text Box 限定输入为 Int
- 欢迎使用CSDN-markdown编辑器
- 批量kill进程
- 性能测试知多少---测试环境搭建