大数据之快速搭建hadoop2.6集群指南

在RedHat6.2以上版本的Linux服务器之上快速搭建hadoop2.6版本的集群方法。以下操作步骤是笔者在安装hadoop集群的安装笔记,如有对hadoop感兴趣的博友可按照本文操作进行无障碍搭建。可以确认以下所有操作步骤的准确性和可行性,如在搭建过程中遇到任何问题欢迎随时交流。

 

OK话不多说啦,具体操作详见如下操作步骤~~

在部署hadoop2.6之前的前置任务:

1、禁止selinux

setenforce 0

修改vi /etc/selinux/config的参数如下:

SELINUX=disabled

2、关闭防火墙

iptables -F
service iptables save
service iptables stop
chkconfig --level 2345 iptables off

一:配置域名解析

分别在三台机器上的/etc/hosts文件最后添加如下信息:

128.230.5.113 hbase01
128.230.5.114 hbase02
128.230.5.115 hbase03

二、添加hadoop的管理账号

[root@hbase01 ~]# groupadd -g 1000 hadoop

[root@hbase01 ~]# useradd -u 1000 -g 1000 hadoop

三、设置互信机制

[root@hbase01 ~]# su - hadoop
[hadoop@hbase01 ~]$ ssh-keygen -t rsa
scp id_rsa.pub hadoop@ip2:~/.ssh/authorized_keys
scp id_rsa.pub hadoop@ip2:~/.ssh/authorized_keys

如果互信无法成功请修改如下文件的权限即可

chmod 700 .ssh

chmod 0600 authorized_keys

四、配置环境变量

#vim /home/hadoop/.bash_profile --设置环境变量

export JAVA_HOME=/usr/java/jdk1.8.0_40
export JAR_HOME=/usr/java/jdk1.8.0_40/jre
export CLASSPATH=$JAVA_HOME/lib/tools.jar:$JAVA_HOME/lib/dt.jar:$JAR_HOME/lib
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HOME=/usr/local/hadoop-2.6.0
export HBASE_HOME=/usr/local/hbase-0.98.9-hadoop2
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:/usr/local/hbase-0.98.9-hadoop2/bin
export HADOOP_HOME=/usr/local/hadoop-2.6.0
export HBASE_HOME=/usr/local/hbase-0.98.9-hadoop2
export PATH=$JAVA_HOME/bin:$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin:/usr/local/hbase-0.98.9-hadoop2/bin
export PATH

五、测试hadoop环境变量生效

hadoop version

六、配置hadoop集群

1、配置core-site.xml文件

fs.default.name
hdfs://hbase01:9000
hadoop.tmp.dir
/usr/local/hadoopdata/tmp
io.file.buffer.size
4096
hadoop.native.lib
true

2、配置vim hadoop-env.sh文件

export JAVA_HOME=/usr/java/jdk1.8.0_40

3、配置vim hdfs-site.xml

dfs.nameservices
hadoop-cluster1
dfs.namenode.secondary.http-address
hbase01:50090
dfs.namenode.name.dir
file:///usr/local/hadoopdata/dfs/name
dfs.datanode.data.dir
file:///usr/local/hadoopdata/dfs/data
dfs.replication\
2
dfs.webhdfs.enabled
true

4、配置vim mapred-site.xml

mapreduce.framework.name
yarn
mapreduce.jobtracker.http.address
hbase01:50030
mapreduce.jobhistory.address
hbase01:10020
mapreduce.jobhistory.webapp.address
hbase01:19888

5、格式化namenode的namespace和dataspace

hadoop namenode -format

6、创建相关目录

mkdir -p /usr/local/hadoopdata/dfs/data
mkdir -p /usr/local/hadoopdata/dfs/name
mkdir -p /usr/local/hadoopdata/dfs/tmp
chown -R hadoop:hadoop /usr/local/hadoopdata

7、启动hadoop集群

#su -hadoop
#start-all.sh

若在namenode显示如下信息:

[hadoop@hbase01 dfs]$ jps
16393 NameNode
16906 Jps
16622 ResourceManager

在datanode显示如下信息:

29697 DataNode
29911 Jps
29805 NodeManager

请直接跳到最后访问hadoop集群的web控制台即可管理和监视hadoop集群的运行

8、输入jps发现hadoop集群没有成功被启动只有jps进程

9、分析诊断日志

tail -f hadoop-hadoop-namenode-hbase01.log

发现端口被占用,通过ps发现另一hadoop进程已经被root账号启用kill掉相关hadoop进程,重新启动hadoop集群

#stop-all.sh
#start-all.sh

再次执行jps发现此次比上次多了一个java进程,离成功更接近了一步。我们再次通过分析日志发现对hadoop的分布式文件系统没有写权限

14848 Jps
14595 ResourceManager
/usr/local/hadoopdata/dfs/name

10、解决方法:停止hadoop集群

stop-all.sh

11、解决方法:创建相关目录并赋权

mkdir -p /usr/local/hadoopdata/dfs/data
mkdir -p /usr/local/hadoopdata/dfs/name
chown -R hadoop:hadoop /usr/local/hadoopdata

12、访问hadoop的web页面,验证hadoop集群是否成功搭建完成

在这里我还是要推荐下我自己建的大数据学习交流qq裙:522189307 , 裙 里都是学大数据开发的,如果你正在学习大数据 ,小编欢迎你加入,大家都是软件开发党,不定期分享干货(只有大数据开发相关的),包括我自己整理的一份最新的大数据进阶资料和高级开发教程,欢迎进阶中和进想深入大数据的小伙伴。上述资料加群可以领取

猜你喜欢

转载自blog.csdn.net/bigagag/article/details/90290654