本文共 4768 字,大约阅读时间需要 15 分钟。
记录在64位CentOS 6.5环境下搭建Hadoop 2.5.2集群的步骤,同时遇到问题的解决办法,这些记录都仅供参考!
主机名 | IP地址 | 角色 | Hadoop用户 |
---|---|---|---|
hadoop-master | 192.168.30.50 | Hadoop主节点 | hadoop |
hadoop-slave01 | 192.168.30.51 | Hadoop从节点 | hadoop |
hadoop-slave02 | 192.168.30.52 | Hadoop从节点 | hadoop |
service iptables stop chkconfig iptables off
setenforce 0sed -i 's/enforcing/disabled/' /etc/sysconfig/selinux
vim /etc/hosts
########## Hadoop host ##########192.168.30.50 hadoop-master192.168.30.51 hadoop-slave01192.168.30.52 hadoop-slave02
注:以上操作需要在root用户,通过ping 主机名可以返回对应的IP即可
在3台主机上使用hadoop用户配置无密码访问,所有主机的操作相同,以hadoop-master为例
生成私钥和公钥
ssh-keygen -t rsa
拷贝公钥到主机(需要输入密码)
ssh-copy-id hadoop@hadoop-masterssh-copy-id hadoop@hadoop-slave01ssh-copy-id hadoop@hadoop-slave02
注:以上操作需要在hadoop用户,通过hadoop用户ssh到其他主机不需要密码即可。
cd /usr/local/srcwget -c http://download.oracle.com/otn-pub/java/jdk/8u151-b12/e758a0de34e24606bca991d704f6dcbf/jdk-8u151-linux-x64.tar.gz
mkdir -p /usr/local/javatar -zxf jdk-8u151-linux-x64.tar.gzmv jdk1.8.0_151 /usr/local/java/jdk1.8
vim /etc/profile.d/jdk.sh
export JAVA_HOME=/usr/local/java/jdk1.8export JRE_HOME=$JAVA_HOME/jreexport CLASSPATH=.:$CLASSPATH:$JAVA_HOME/lib:$JRE_HOME/libexport PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
启用环境变量
source /etc/profile.d/jdk.sh
注:以上操作在root用户,通过java –version
命令返回Java的版本信息即可
hadoop的安装配置使用hadoop用户操作;
下载hadoop 2.5.2
https://archive.apache.org/dist/hadoop/common/hadoop-2.5.2/hadoop-2.5.2.tar.gz
创建hadoop安装目录
mkdir -p /home/hadoop/app/{tmp,hdfs/{data,name}}
解压hadoop文件并移动到hadoop安装目录下
tar zxf hadoop-2.5.2.tar.gz -C /home/hadoop/app
Hadoop配置文件都是XML文件,使用hadoop用户操作即可;
vim /home/hadoop/app/hadoop-2.5.2/etc/hadoop/core-site.xml
hadoop.tmp.dir file:/home/hadoop/app/tmp fs.defaultFS hdfs://hadoop-master:9000
vim /home/hadoop/app/hadoop-2.5.2/etc/hadoop/hdfs-site.xml
dfs.replication 2 dfs.namenode.name.dir /home/hadoop/app/hdfs/name dfs.datanode.data.dir /home/hadoop/app/hdfs/data
mapred-site.xml需要从一个模板拷贝在修改
cp /home/hadoop/app/hadoop-2.5.2/etc/hadoop/mapred-site.xml.template /home/hadoop/app/hadoop-2.5.2/etc/hadoop/mapred-site.xml
vim /home/hadoop/app/hadoop-2.5.2/etc/hadoop/mapred-site.xml
mapreduce.framework.name yarn
vim /home/hadoop/app/hadoop-2.5.2/etc/hadoop/yarn-site.xml
yarn.nodemanager.aux-services mapreduce_shuffle yarn.resourcemanager.hostname hadoop-master
vim /home/hadoop/app/hadoop-2.5.2/etc/hadoop/slaves
hadoop-slave01hadoop-slave02
scp -r app hadoop-slave01:/home/hadoop/scp -r app hadoop-slave02:/home/hadoop/
在所有机器hadoop用户家目录下编辑 .bash_profile 文件,在最后追加:
vim /home/hadoop/.bash_profile
### Hadoop PATHexport HADOOP_HOME=/home/hadoop/app/hadoop-2.5.2export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
让环境变量生效:
source /home/hadoop/.bash_profile
注:这是配置hadoop的用户环境变量,如果系统变量设置在 /etc/profile.d/ 目录下新增
在hadoop主节点上初始化HDFS文件系统,然后启动hadoop集群
hdfs namenode –format
start-all.sh
stop-all.sh
注:也可以一步一步执行启动,首先启动namenode-->datanode-->YARN -->NodeManagers
hadoop jar /home/hadoop/app/hadoop-2.5.2/share/hadoop/mapreduce/hadoop-mapreduce-examples-2.5.2.jar pi 5 10
返回的结果是:Estimated value of Pi is 3.28000000000000000000
YARN管理界面:
HDFS管理界面:WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable<br/>Starting namenodes on [hadoop-master]
解决思路:
在终端上输入:export HADOOP_ROOT_LOGGER=DEBUG,console
,在执行hadoop命令,从终端日志信息发现 /lib64/libc.so.6 文件需要的版本是GLIBC_2.14,当前系统的版本是 2.12,解决办法就是升级软件; 下载glibc-2.14.tar.gz 安装配置如下: mkdir /usr/local/src/glibccd /usr/local/src/glibcwget -c http://ftp.gnu.org/gnu/glibc/glibc-2.14.tar.gztar zxvf glibc-2.14.tar.gz./glibc-2.14/configure --prefix=/usr --disable-profile --enable-add-ons --with-headers=/usr/include --with-binutils=/usr/binmake && make install
转载地址:http://lcmwo.baihongyu.com/