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

1200阅读 0评论2016-05-06 initrdimg
分类:HADOOP

本文详细介绍了在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  
scp id_rsa.pub
如果互信无法成功请修改如下文件的权限即可
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集群是否成功搭建完成
------------------------------------------------------------------------------------------------------

#
上一篇:加强linux 系统登录
下一篇:LVS Nginx HAProxy 优缺点