设为首页 收藏本站
查看: 1519|回复: 0

[经验分享] Hadoop 2.X 集群安装

[复制链接]
累计签到:77 天
连续签到:1 天
发表于 2014-4-20 19:52:57 | 显示全部楼层 |阅读模式
最近学习hadoop,使用vmware建立一个虚拟的集群环境,实验环境如下:

机器名         IP地址             操作系统

master    192.168.1.115     Centos x64

slave1    192.168.1.111     Centos x64

slave2    192.168.1.112     Centos x64

1、安装虚拟机。

1)安装vmware,用centos x64做一份虚拟系统,网络使用桥接方式,硬盘动态预留40G。

2)用vmware自带clone功能,克隆出两份副本。

2、关闭防火墙。

1)关闭SELINUX:vi /etc/selinux/config,设置SELINUX=disabled,保存退出。

2)关闭防火墙:/sbin/service iptables stop;永久关闭:chkconfig --level 35 iptables off

3、配置网络。

手动配置IP地址。

4、修改主机名和映射。

1)修改主机名:  vi /etc/sysconfig/network

例如:

NETWORKING=yes
HOSTNAME=slave2

2)修改hosts映射:vi /etc/hosts,添加主机映射。

例如:

192.168.1.115 master
192.168.1.111 slave1
192.168.1.112 slave2

重启网络:service network restart

5、生成ssh免密码(用普通用户生成)

1)三台机生成密钥对:ssh-keygen -t rsa -f ~/.ssh/id_rsa

2)将slave1和slave2生成的公钥拷贝到master:

scp 192.168.1.111:/home/huser/.ssh/id_rsa.pub ./slave1_rsa.pub

scp 192.168.1.112:/home/huser/.ssh/id_rsa.pub ./slave2_rsa.pub

master上公钥也拷贝一份:cp id_rsa.pub master_rsa.pub

3)3个公钥文件中的内容存放至authorized_keys,采用文本追加的方式:

cat master_rsa.pub >> authorized_keys

cat slave1_rsa.pub >> authorized_keys

cat slave2_rsa.pub >> authorized_keys

4)生成的authorized_keys需要设置权限:

chmod 600 authorized_keys

5)authorized_keys拷贝到另外两台机器上,ssh免密码登录其他机器测试。

6、安装JAVA

1)Linux系统可能自带OpenJDK或者IBMJDK,需要卸载掉重新安装Oracle JDK。

查看JDK信息:rpm -qa|grep java

卸载已经安装的JAVA:yum -y remove java-1.6.0-openjdk-1.6.0.0-3.1.13.1.el6_5.x86_64,所有安装版本都卸载,直到提示找不到Java环境。

2)在/usr下创建一个java目录,将JAVA安装包上传,解压文件

tar -xzvf jdk-7u51-linux-x64.tar.gz

3)配置JAVA环境

先备份 cp /etc/profile /etc/profile.bak

vi编辑profile

注释一行

#export PATH USER LOGNAME MAIL HOSTNAME HISTSIZE HISTCONTROL

增加JAVA环境变量

export JAVA_HOME=/usr/java/jdk1.7.0_51
export CLASSPATH=.:JAVAHOME/jre/lib:JAVA_HOME/lib/tools.jar
export JRE_HOME=$JAVA_HOME/jre
export PATH=JAVAHOME/bin:PATH

生效环境变量:source /etc/profile

用java -version查看是否JAVA环境变量是否设置正确。

7、安装Hadoop 2.x(用普通用户安装)

1)下载hadoop-2.2.0.tar.gz,上传到/home/huser/hadoop。

2)修改etc/hadoop/hadoop-env.sh中的export JAVA_HOME=usr/java/jdk1.7.0_51,即前面安装的JAVA路径。

3)修改etc/hadoop/yarn-env.sh中的export JAVA_HOME=/usr/java/jdk1.7.0_51,即前面安装的JAVA路径。

4)修改etc/hadoop/slaves,添加:

slave1

slave2

5)修改etc/hadoop/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:/home/huser/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>

##需要新建tmp文件夹,/home/huser/hadoop/hadoop-2.2.0/tmp/

6)修改etc/hadoop/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:/home/huser/hadoop/hadoop-2.2.0/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/home/huser/hadoop/hadoop-2.2.0/data</value>
</property>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>

##需要新建name和data文件夹,/home/huser/hadoop/hadoop-2.2.0/name,/home/huser/hadoop/hadoop-2.2.0/data

7)修改etc/hadoop/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>

8)修改etc/hadoop/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>

9)以上个别配置文件默认不存在,复制相应的template文件获取。

10)格式化namenode:./bin/hdfs namenode –format

11)启动hdfs: ./sbin/start-dfs.sh,会有错误。

14/04/19 04:27:19 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable
Starting namenodes on [Java HotSpot(TM) 64-Bit Server VM warning: You have loaded library /home/huser/hadoop/hadoop-2.2.0/lib/native/libhadoop.so.1.0.0 which might have disabled stack guard. The VM will try to fix the stack guard now.
It's highly recommended that you fix the library with 'execstack -c <libfile>', or link it with '-z noexecstack'.
master]
64-Bit: ssh: Could not resolve hostname 64-Bit: Name or service not known
Server: ssh: Could not resolve hostname Server: Name or service not known
You: ssh: Could not resolve hostname You: Name or service not known
warning:: ssh: Could not resolve hostname warning:: Name or service not known

##Hadoop本身没有32位和64位区分,但JAVA本身有位数区分,引用了本地库就要注意位数,检查位数file ./libhadoop.so.1.0.0

./libhadoop.so.1.0.0: ELF 32-bit LSB shared object, Intel 80386, version 1 (SYSV), dynamically linked, not stripped

##可以看出类库是32位,所以会报错,解决办法:

一种重新编译Hadoop,后续。

二种暂时解决,修改etc/hadoop/hadoop-env.sh:

export HADOOP_COMMON_LIB_NATIVE_DIR=/home/huser/hadoop/hadoop-2.2.0/lib/native
export HADOOP_OPTS="-Djava.library.path=/home/huser/hadoop/hadoop-2.2.0/lib"

12)再次启动集群

启动hdfs: ./sbin/start-dfs.sh

启动yarn: ./sbin/start -yarn.sh

13)jps命令查看启动情况。

master上面:

22143 NameNode
22529 Jps
22316 SecondaryNameNode
22459 ResourceManager

slave上面:
21438 Jps
21341 NodeManager


运维网声明 1、欢迎大家加入本站运维交流群:群②:261659950 群⑤:202807635 群⑦870801961 群⑧679858003
2、本站所有主题由该帖子作者发表,该帖子作者与运维网享有帖子相关版权
3、所有作品的著作权均归原作者享有,请您和我们一样尊重他人的著作权等合法权益。如果您对作品感到满意,请购买正版
4、禁止制作、复制、发布和传播具有反动、淫秽、色情、暴力、凶杀等内容的信息,一经发现立即删除。若您因此触犯法律,一切后果自负,我们对此不承担任何责任
5、所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其内容的准确性、可靠性、正当性、安全性、合法性等负责,亦不承担任何法律责任
6、所有作品仅供您个人学习、研究或欣赏,不得用于商业或者其他用途,否则,一切后果均由您自己承担,我们对此不承担任何法律责任
7、如涉及侵犯版权等问题,请您及时通知我们,我们将立即采取措施予以解决
8、联系人Email:admin@iyunv.com 网址:www.yunweiku.com

所有资源均系网友上传或者通过网络收集,我们仅提供一个展示、介绍、观摩学习的平台,我们不对其承担任何法律责任,如涉及侵犯版权等问题,请您及时通知我们,我们将立即处理,联系人Email:kefu@iyunv.com,QQ:1061981298 本贴地址:https://www.yunweiku.com/thread-17903-1-1.html 上篇帖子: Hadoop-安装过程-单虚拟机版(Ubuntu13.04版本下安装) 下篇帖子: 大数据(Hadoop、分析与BI、NoSQL与NewSQL)
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

扫码加入运维网微信交流群X

扫码加入运维网微信交流群

扫描二维码加入运维网微信交流群,最新一手资源尽在官方微信交流群!快快加入我们吧...

扫描微信二维码查看详情

客服E-mail:kefu@iyunv.com 客服QQ:1061981298


QQ群⑦:运维网交流群⑦ QQ群⑧:运维网交流群⑧ k8s群:运维网kubernetes交流群


提醒:禁止发布任何违反国家法律、法规的言论与图片等内容;本站内容均来自个人观点与网络等信息,非本站认同之观点.


本站大部分资源是网友从网上搜集分享而来,其版权均归原作者及其网站所有,我们尊重他人的合法权益,如有内容侵犯您的合法权益,请及时与我们联系进行核实删除!



合作伙伴: 青云cloud

快速回复 返回顶部 返回列表