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

[经验分享] Hadoop2.5.2完全分布式集群安装

[复制链接]

尚未签到

发表于 2016-12-14 06:11:14 | 显示全部楼层 |阅读模式
《Hadoop2.5.2集群安装》

1、环境介绍
操作系统:CentOS  X64 6.5
物理机器:192.168.170.130(node1)、192.168.170.131(node2)、192.168.170.132(node3)
JDK版本:JDK7.X
Hadoop版本:Hadoop2.5.2

2、修改主机名称和host名称
通过命令“hostname”查看当前机器的机器名称,然后分别在node1、node2、node3机器的/etc/sysconfig/network文件上修改下主机名称(非必须)并保存,如下所示:
NETWORKING=yes
HOSTNAME=node1

NETWORKING=yes
HOSTNAME=node2

NETWORKING=yes
HOSTNAME=node3

3、修改hosts文件
分别在node1、node2、node3机器上修改下hosts文件并保存,如下所示:
etc/hosts
192.168.170.130  node1
192.168.170.131  node2
192.168.170.132  node3

#然后可以ping一下,确保各节点可以正常ping通


4、确保JDK成功安装并可用
当成功在node1、node2、node3机器上安装JDK后(笔者使用JDK7.x),还需要在“/etc/profile”文件中配置Java的环境变量,并通过命令“source “/etc/profile”命令使修改后的配置生效

,如下所示:
Shell代码  收藏代码
#JAVA  
export JAVA_HOME=/usr/java/jdk1.7.0_79   
export PATH=$JAVA_HOME/bin:$PATH   
#export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

5、Haddop的安装
使用命令“tar -zxvf”命令将gz压缩文件解压。笔者Hadoop的安装目录为:“/opt”,解压后的Hadoop目录为“/opt/hadoop-2.5.2”更换为“/opt/hadoop”,最好确保node1、node2、

node3机器上的Hadoop安装路径一致。

6、配置Hadoop环境变量
成功安装Hadoop后,接下来要做的事情就是配置Hadoop的环境变量,并通过命令 cd ~ 进入用户目录,设置用户环境变量vim .bashrc;  然后source ~/.bashrc使修改生效(也可设置系统环

境变量,所有用户都可以用“source “/etc/profile”)命令使修改后的配置生效,如下所示:

#HADOOP set 150816
export HADOOP_HOME=/opt/hadoop
export HADOOP_MAPRED_HOME=$HADOOP_HOME
export HADOOP_COMMON_HOME=$HADOOP_HOME
export HADOOP_HDFS_HOME=$HADOOP_HOME
export YARN_HOME=$HADOOP_HOME
export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
export HADOOP_INSTALL=$HADOOP_HOME


#这个配置好像有点问题
#export HADOOP_HOME=/opt/hadoop
#export HADOOP_COMMON_HOME=$HADOOP_HOME  
#export HADOOP_HDFS_HOME=$HADOOP_HOME  
#export HADOOP_MAPRED_HOME=$HADOOP_HOME  
#export HADOOP_YARN_HOME=$HADOOP_HOME  
#export HADOOP_CONF_DIR=$HADOOP_HOME/etc/hadoop  
#export CLASSPATH=.:$JAVA_HOME/lib:$HADOOP_HOME/lib:$CLASSPATH  
#export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
7、修改Hadoop的一系列配置文件


core-site.xml
<configuration>
  <property>
     <name>fs.defaultFS</name>
     <value>hdfs://node1:9000</value>      
  </property>
</configuration>

hdfs-site.xml
<property>  
        <name>dfs.replication</name>   
        <value>1</value>  
    </property>  
    <property>  
        <name>dfs.namenode.name.dir</name>         
        <value>file:///home/hadoop/dfs/name</value>  
    </property>  
    <property>  
        <name>dfs.datanode.data.dir</name>  
        <value>file:///home/hadoop/dfs/data</value>  
    </property>  
    <property>  
        <name>dfs.webhdfs.enabled</name>  
        <value>true</value>  
    </property>
   #保存文件的副本数目
   <property>
     <name>dfs.replication</name>
     <value>2</value>
   </property>


mapred-site.xml
<property>  
    <name>mapreduce.framework.name</name>  
    <value>yarn</value>
</property>
<property>  
    <name>mapreduce.jobhistory.address</name>
    <value>node1:10020</value>
</property>
<property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>node1:19888</value>
</property>   

yarn-site.xml
<property>   
    <name>yarn.nodemanager.aux-services</name>   
    <value>mapreduce_shuffle</value>   
</property>   
<property>   
    <name>yarn.resourcemanager.address</name>   
    <value>node1:8032</value>   
</property>   
<property>   
    <name>yarn.resourcemanager.scheduler.address</name>   
    <value>node1:8030</value>   
</property>   
<property>   
    <name>yarn.resourcemanager.resource-tracker.address</name>   
    <value>node1:8031</value>   
</property>   
<property>   
    <name>yarn.resourcemanager.admin.address</name>   
    <value>node1:8033</value>   
</property>   
<property>   
    <name>yarn.resourcemanager.webapp.address</name>   
    <value>node1:8088</value>   
</property>


/opt/hadoop/etc/hadoop/slaves修改,如下所示:
node2  
node3

分别在/opt/hadoop/etc/hadoop/hadoop-env.sh和yarn-env.sh中配置Java环境变量,如下所示:
export JAVA_HOME=/usr/local/jdk17

***三台节点并配置免密码登录***:
  [cd ~    ssh-keygen -t rsa  --执行完这句,按三次回车即可生成公钥与私钥 ]
  [scp ~/.ssh/id_rsa.pub hadoop@node2:/~/.ssh/authorized_keys]
   验证hadoop用户的ssh免登录认证

8、将配置好的Hadoop拷贝到从机上
scp -r ./hadoop hadoop@node2:/opt和 scp -r ./hadoop hadoop@node3:/opt


9、启动Hadoop
在正式 启动Hadoop之前,分别在node1、node2、node3机器上格式化HDFS,如下所示:
Shell代码  收藏代码
hdfs namenode -format  

当成功格式化后,接下来便可以在node1上通过命令“start-all.sh”启动Hadoop,同时也可以通过“stop-all.sh”停止Hadoop运行(会由node1负责带动node2,3节点的启动和停止)。

当成功启动Hadoop后,我们便可以在每一个节点下执行命令jps,查看Hadoop的进程,如下所示:
Shell代码  收藏代码
#node1上的Hadoop进程  
30791 SecondaryNameNode  
30943 ResourceManager  
30607 NameNode  
  
#node2上的Hadoop进程  
9902 DataNode  
10001 NodeManager  
  
#node3上的Hadoop进程  
9194 DataNode  
9293 NodeManager  

除此之外,开发人员还可以通过http://ip:50070、http://ip:8088、http://ip:19888,通过浏览器查阅Hadoop集群中每一个节点的运行状态。

pro:
1.Name node is in safe mode
  bin/hadoop fs -put ../input ./in
  将本地文件拷贝到hdfs上去,结果上错误:Name node is in safe mode
  可以通过以下命令来手动离开安全模式:
  bin/hadoop dfsadmin -safemode leave  
  用户可以通过dfsadmin -safemode value 来操作安全模式,参数value的说明如下:
  enter - 进入安全模式
  leave - 强制NameNode离开安全模式
  get - 返回安全模式是否开启的信息
  wait - 等待,一直到安全模式结束。

bin/hadoop fs -put ../input ./in 拷贝input目录内文件到hdfs的in目录下
2.bin/hadoop fs -ls ./in/*     查看某个hdfs目录下面文件信息



--------------hadoop集群安装发生错误start
bin/hadoop fs -ls
当没有列出fdfs下面的文件时,可以切换到hadoop的logs下用tail -f hadoop-hadoop-datanode-node2.log -n 300查看报的错误信息。
查看hdfs-site.xml中配置的namenode 和data.dir是否都在相应目录中已创建。

到hadoop目录logs下  tail -f hadoop-hadoop-datanode-node2.log -n 300
2015-08-17 21:16:40,001 ERROR org.apache.hadoop.hdfs.server.common.Util: Syntax error in URI >file:///home/hadoop/dfs/data. Please check hdfs configuration.
java.net.URISyntaxException: Illegal character in scheme name at index 0: >file:///home/hadoop/dfs/data

cat hdfs-site.xml -A 查看此配置文件每行是否有空格。

---------------hadoop集群安装发生错误end

-------------------------------华丽丽的扩展部分-----------------------------
在hdfs上创建文件夹
  $ bin/hdfs dfs -mkdir /user
  $ bin/hdfs dfs -mkdir /user/<username>
查看hdfs上创建的文件夹 bin/hadoop fs -ls /
yarn
$ sbin/start-yarn.sh
进入监控页查看 - http://localhost:8088/
关闭:
$ sbin/stop-dfs.sh
$ sbin/stop-yarn.sh

修改自:http://gao-xianglong.iyunv.com/blog/2189773

运维网声明 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-313789-1-1.html 上篇帖子: zookeeper-3.4.6环境配置 下篇帖子: 改装过的hadoop插件(适合eclipse3.5 )
您需要登录后才可以回帖 登录 | 立即注册

本版积分规则

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

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

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

扫描微信二维码查看详情

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


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


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


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



合作伙伴: 青云cloud

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