centos6.5 32位搭建hadoop2.2.0 集群
来源:互联网 发布:福建广电网络人工电话 编辑:程序博客网 时间:2024/04/24 04:45
此次搭建过程运行平台:centos 6.5 32位,jdk1.7.0.79 hadoop-2.2.0 32位,
hadoop-2.2.0下载地址:apache官方下载链接,可以下载任何版本。
hadoop在2.4以前基本不提供64位版本,不过在官网貌似也发现了2.2.0的64位版本,如果是64位系统,建议下载2.4
或更高版本,目前最新版本是2.7.1,是一个stable版本,如果是32位系统,建议下stable的1.2.1版本,在安装过程
中,发现2.2.0不是特别稳定,会有一些问题,不太好用,而且在官网也看到这个版本有很多的bug。
Hadoop 2.x和1.x已经大不相同了,应该说对于存储计算都更加通用了。Hadoop 2.x实现了用来管理集群资源的YARN框架,可以面向任何需要使用基于HDFS存储来计算的需要,当然MapReduce现在已经作为外围的插件式的计算框架,你可以根据需要开发或者选择合适的计算框架。目前,貌似对MapReduce支持还是比较好的,毕竟MapReduce框架已经还算成熟。其他一些基于YARN框架的标准也在开发中。
YARN框架的核心是资源的管理和分配调度,它比Hadoop 1.x中的资源分配的粒度更细了,也更加灵活了,它的前景应该不错。由于极大地灵活性,所以在使用过程中由于这些配置的灵活性,可能使用的难度也加大了一些。另外,我个人觉得,YARN毕竟还在发展之中,也有很多不成熟的地方,各种问题频频出现,资料也相对较少,官方文档有时更新也不是很及时,如果我选择做海量数据处理,可能YARN还不能满足生产环境的需要。如果完全使用MapReduce来做计算,还是选择相对更加成熟的Hadoop 1.x版本用于生产环境。在笔者安装完成以后,烦恼啊,本地库不能加载,到现在还没解决这个问题,网上说,64位系统安装32位hadoop的时候,会有这个错误,为什么我的32位系统也有这个错误,醉了
先在虚拟机上安装好3台centos,把ip地址配置好,推荐配置成静态ip。
1. 修改每台centos的/etc/hosts文件,增加地址映射
192.168.1.10 master
192.168.1.11 slave1
192.168.1.12 slave2
每台机器配置对应的hostname,修改/etc/sysconfig/network文件,例如master节点内容配置为:
NETWORKING=yes
HOSTNAME=master
关闭防火墙:
vi /etc/sysconfig/selinux
#修改为 SELinux=disable
sudo service iptables stop
sudo chkconfig iptables off
sudo chkconfig iptables --list
reboot,重启生效
2.配置ssh免密码登录
在master节点执行 ssh-keygen -t rsa
一直回车,生成密钥,将密钥添加到认证文件中,
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
然后将authorized_keys scp 到slave1节点
scp~/.ssh/authorized_keys root@slave1:~/.ssh/authorized_keys
然后再按照同样的方法在slave1生成密钥,
并追加到authorized_keys中,在slave1节点执行
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
然后将slave1 .ssh/下的authorized_keys scp到slave2节点,
scp ~./ssh/authorized_keys root@slave2:~/.ssh/authorized_keys
在slave2节点执行
ssh-keygen -t rsa
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
chmod 600 ~/.ssh/authorized_keys
然后用rm -r 命令删除master和slave1节点~/.ssh/下的authorized_keys文件,将slave2的authorized_keys
scp到master和slave1节点。
至此,ssh免密码登录完成。
在master节点执行命令 ssh slave1,记得首次登录好像需要输入slave1的密码,第二次就不需要了,所以你可以登录两次测试一下,登陆成功后,退出命令是exit
3. 安装oracle的 jdk(所有节点)
首先下载jdk-1.7-x.x.tar.gz,个人比较喜欢tar文件安装,当然你也可以用rpm方式安装。
进入tar文件所在目录,例如/usr/local下,用tar命令 tar -zxvf jdk-1.7-x.x.tar.gz解压
然后配置一下环境变量:
vi /etc/profile
在文件最下面添加
export JAVA_HOME=/usr/local/jdk-1.7-x.x
export PATH=$PATH:$JAVA_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
然后运行经典的命令 java -version,测试是否成功.
4. 进入正文,安装hadoop-2.2.0
先去官网下载:hadoop
下载完成以后,上传到master节点的usr/hadoop下,其它两个节点不用传,需要事先在usr下建个hadoop目录。
激动人心的时刻就要到了!!
在master节点,进入/usr/hadoop/下 运行
tar -zxvf hadoop-2.2.0.tar.gz
解压。。。。。
解压完成后,首先配置环境变量。在/etc/profile 或者~/.bashrc下配置均可,这里就以~/.bashrc为例,
vi ~/.bashrc
在文件的最下面添加:
export HADOOP_HOME=/usr/hadoop/hadoop-2.2.0
export HADOOP_MAPRED_HOME=/usr/hadoop/hadoop-2.2.0
export HADOOP_COMMON_HOME=/usr/hadoop/hadoop-2.2.0
export HADOOP_HDFS_HOME=/usr/hadoop/hadoop-2.2.0
export YARN_HOME=/usr/hadoop/hadoop-2.2.0
export HADOOP_CONF_DIR=/usr/hadoop/hadoop-2.2.0/etc/hadoop
export PATH=$PATH:$HADOOP_HOME/bin
export PATH=$PATH:$HADOOP_HOME/sbin
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"
export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native
:wq 保存退出。至此,环境变量配置完成,接下来就是配置hadoop了,在配置之前,需要现在hadoop安装目录即/usr/hadoop/hadoop-2.2.0下建2个文件夹 tmp 和dfs,然后再dfs下建2个文件夹,name和data,后面配置要用
5.首先配置slave节点
cd /usr/hadoop/hadoop-2.2.0/etc/hadoop
vim slaves,打开slaves文件,添加如下信息:
slave1
slave2
:wq保存退出,即可
6. 配置core-site.xml
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>131072</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>file:/usr/hadoop/hadoop-2.2.0/tmp</value>
<description>Abase for other temporary directories.</description>
</property>
<property>
<name>hadoop.proxyuser.hduser.hosts</name>
<value>*</value>
</property>
<property>
<name>hadoop.proxyuser.hduser.groups</name>
<value>*</value>
</property>
</configuration>
7. 配置hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>master:9001</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/hadoop/hadoop-2.2.0/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/hadoop/hadoop-2.2.0/dfs/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
8.配置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>
9.配置yarn-site.xml
<configuration>
<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>
<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>
</configuration>
10. 复制master节点的hadoop-2.2.0文件夹到其它两个节点
在master节点执行:
scp /usr/hadoop/hadoop-2.2.0 root@slave1:/usr/hadoop/
scp /usr/hadoop/hadoop-2.2.0 root@slave2:/usr/hadoop/
注意,需要先在slave1和slave2节点usr目录下分别建hadoop文件夹.
11.在master节点启动hadoop
启动集群前,首先要格式化namenode,
cd /usr/hadoop/hadoop-2.2.0
./bin/hdfs namenode formate
然后,下一步
cd /usr/hadoop/hadoop-2.2.0/sbin 目录下,分别执行
start-dfs.sh
start-yarn.sh
启动hdfs和yarn,然后用jps命令,查看进程信息。
在master节点用浏览器打开: master:50070,查看hdfs
master:8080查看resourcemanager信息
在slave1和slave2分别打开slave1:8042和slave2:8042查看本节点resourcemanager信息。
至此,配置完毕。
- centos6.5 32位搭建hadoop2.2.0 集群
- hadoop2.2.0集群搭建 centos6.4 32位
- centos6.4 32/64位机 hadoop2.2.0集群安装
- CentOS6.6上hadoop2.2.0集群搭建
- VM12+CentOS6.5+hadoop2.7.3 搭建hadoop完全分布式集群
- Hadoop2.2.0在CentOS6.5上的集群搭建简单教程
- Hadoop2.2.0集群搭建
- hadoop2.2.0集群搭建
- hadoop2.2.0集群搭建
- hadoop2.2.0集群搭建
- hadoop2.2.0集群搭建
- Hadoop2.2.0集群搭建
- hadoop2.2.0集群搭建
- Hadoop2.2.0集群搭建
- 32位centos6.5安装hadoop2.4单机版
- CentOS6.5编译部署64位Hadoop2.2.0
- centos6.5 hadoop2.6.3分布式集群安装
- Hadoop2.2.0集群搭建过程
- java中classpath的详解
- HDU 5366-The mook jong(组合数学)
- 如何使用qq截图
- hdu5358 First One
- Java io文件操作(按字符、字节、行、随机读取,追加,文件操作)
- centos6.5 32位搭建hadoop2.2.0 集群
- UVA 152 Tree's a Crowd
- php框架laravel学习 二 (数据库建立迁移与建模)
- java synchronized静态同步方法与非静态同步方法,同步语句块
- 通过SQLServer的数据库邮件来发送邮件
- HDU4565 So Easy!(数学+矩阵快速幂)
- Java查看List扩容后的容量
- Java回顾之I/O
- ListView上拉加载更多