千家信息网

hadoop 2.7.7 安装(测试环境部署) hadoop2.x部署

发表于:2026-11-01 作者:千家信息网编辑
千家信息网最后更新 2026年11月01日,hadoop 2.7.7 安装(测试环境部署) hadoop2.x部署系统环境(censtos 6.5 ):172.16.57.97 namenodeyw172.16.57.98 datanodeyw
千家信息网最后更新 2026年11月01日hadoop 2.7.7 安装(测试环境部署) hadoop2.x部署

hadoop 2.7.7 安装(测试环境部署) hadoop2.x部署

系统环境(censtos 6.5 ):

172.16.57.97 namenodeyw172.16.57.98 datanodeyw1172.16.57.238 datanodeyw2

软件下载:

  • hadoop

wget http://mirrors.shu.edu.cn/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz
  • Zookeeper3.4.10

wget http://mirror.bit.edu.cn/apache/zookeeper/zookeeper-3.4.10/zookeeper-3.4.10.tar.gz
  • hbase2.0.2

wget http://mirror.bit.edu.cn/apache/hbase/2.0.2/hbase-2.0.2-bin.tar.gz
  • jdk1.8.0_92:

  • 所有集群服务器ssh端口必须一致

一、环境配置

1、三台服务器修改hostname ,修改系统参数(limit.conf)

#hostname namenodeyw#vim /etc/sysconfig/networkNETWORKING=yesHOSTNAME=namenodeyw#vim /etc/security/limits.conf* soft nofile 102400* hard nofile 102400* soft nproc 65536* hard nproc 65536
  • 检查 /etc/security/limits.d/90-nproc.conf 是否存在,如果存在则需要增加一下配置

* soft nproc 6553

2、创建hadoop用户并设置hadoop用户密码(将家目录设置到分区大的里面)

#useradd -d /opt/hadoop -g hadoop -m hadoop (#将hadoop家目录指定到/opt/下,指定hadoop用户群组及登录用户目录)#passwd hadoop (#设置密码)

3、三台hadoop用户下分别做免密钥登录

分别执行ssh-keygen -t rsa进入.ssh 目录下 : cd /opt/hadoop/.sshssh-copy-id -i id_rsa.pub "-p 45685 hadoop@172.16.57.97" (两两互通ssh免密钥)ssh -p ssh端口 hostname (两两相互登录认证)

4、分别在三台服务器上安装jdk,版本jdk1.8.0_92

  • 在/usr/java/中解压安装包

  • 配置环境变量 /etc/profile 及hadoop用户下的 .bash_profile

#jdkexport JAVA_HOME=/usr/java/jdk1.8.0_92export CLASSPATH=.:$JAVA_HOME/lib/tools.jarexport PATH=$JAVA_HOME/bin:$PATH
  • 执行source /etc/profile 生效

5、设置/etc/selinux/config 为disable 重启系统

#vim /etc/selinux/configSELINUX=disabled

6、配置防火墙访问权限。

7、分别在三台服务器上添加主机名与IP地址映射 (通过root用户同步)


#vim /etc/hosts172.16.57.97 namenodeyw172.16.57.98 datanodeyw1172.16.57.238 datanodeyw2


二、安装hadoop 2.7.7

1、使用hadoop用户登录后,将hadoop压缩包解压在当前目录下,然后配置环境变量

cd /opt/hadooptar zxf hadoop-2.7.7.tar.gz
  • 配置环境变量 /etc/profile 以及hadoop用户下的 .bash_profile 文件

#hadoop 2.7.7export HADOOP_HOME=/opt/hadoop/hadoop-2.7.7export PATH=$HADOOP_HOME/bin:$HADOOP_HOME/sbin:$PATH
  • 执行命令source /etc/profile 使命令生效

2、hadoop配置修改

参照附件设置

3、配置修改

vi hadoop-env.shexport HADOOP_SSH_OPTS="-p 45685" #如果ssh端口默认不为22 则需要添加此行export JAVA_HOME=/usr/java/jdk1.8.0_92

4、将namenode上修改完成的hadoop-2.7.7目录分别拷贝至其他节点上

$scp -r -P 45685 hadoop-2.7.7 datanodeyw1:/opt/hadoop/$scp -r -P 45685 hadoop-2.7.7 datanodeyw2:/opt/hadoop/

5、在namenode上进行初始化设置

$cd /opt/hadoop/hadoop-2.7.7/bin$./hadoop namenode -format

6、执行启动命令:

  1. 启动hadoop之前jps查看进程为空

  2. 执行 start-all.sh 后 进程表为如下:

  • 在namenode上启动的服务有以下

[hadoop@namenodeyw sbin]$ jps1507 Jps1079 ResourceManager906 SecondaryNameNode731 DataNode1196 NodeManager589 NameNode
[hadoop@namenodeyw sbin]$ jps -l1524 sun.tools.jps.Jps1079 org.apache.hadoop.yarn.server.resourcemanager.ResourceManager906 org.apache.hadoop.hdfs.server.namenode.SecondaryNameNode731 org.apache.hadoop.hdfs.server.datanode.DataNode1196 org.apache.hadoop.yarn.server.nodemanager.NodeManager589 org.apache.hadoop.hdfs.server.namenode.NameNode
  • 在datanodeyw1上启动的服务为:

[hadoop@datanodeyw1 ~]$ jps24103 NodeManager24346 Jps23965 DataNode
[hadoop@datanodeyw1 ~]$ jps -l24103 org.apache.hadoop.yarn.server.nodemanager.NodeManager24361 sun.tools.jps.Jps23965 org.apache.hadoop.hdfs.server.datanode.DataNode
  • 在datanodeyw2上启动的服务为:

[hadoop@datanodeyw2 hadoop]$ jps23664 DataNode23781 NodeManager23902 Jps
[hadoop@datanodeyw2 hadoop]$ jps -l23664 org.apache.hadoop.hdfs.server.datanode.DataNode23781 org.apache.hadoop.yarn.server.nodemanager.NodeManager23914 sun.tools.jps.Jps

7、在hadoop上创建目录并上传文件验证

hadoop fs -mkdir -p /data/testhadoop fs -put hadoop-2.7.7.tar.gz /data/test/hadoop fs -ls /data/test #查看文件是否上传成功

8、web页面查询

http://172.16.57.97:8088/cluster/cluster #hadoop clusterhttp://172.16.57.97:50070/dfshealth.html#tab-overview #进入浏览文件查看上传文件是否存在


三 、安装 Zookeeper3.4.10

1、在namenode上将下载的 Zookeeper3.4.10 解压至/opt/hadoop目录下


2、分别在三台服务器上修改环境变量/etc/profile 及hadoop用户下的.bash_profile文件并使其生效


3、分别在三台服务器上创建目录

mkdir -p /opt/hadoop/zookeeper/{data,dataLog}


4、分别在三台服务器上创建 myid 文件

namenodeyw: echo "1" >> /opt/hadoop/zookeeper/data/myiddatanodeyw1: echo "2" >> /opt/hadoop/zookeeper/data/myiddatanodeyw2: echo "3" >> /opt/hadoop/zookeeper/data/myid

说明:上面新建的目录可以不和我一样,myid中的数字编号也可以不一样,只要和下面zoo.cfg的配置对应即可,但是建成一样也无妨。


5、修改zookeeper配置zoo.cfg ()

  • 进入/opt/hadoop/zookeeper-3.4.10/conf 下

$cd /opt/hadoop/zookeeper-3.4.10/conf$cp -r zoo_sample.cfg zoo.cfg$vim zoo.cfgdataDir=/opt/hadoop/zookeeper/datadataLogDir=/opt/hadoop/zookeeper/dataLogserver.1=namenodeyw:2888:3888server.2=datanodeyw1:2888:3888server.3=datanodeyw2:2888:3888

6、将namenode上修改完成的 zookeeper-3.4.10目录分别拷贝至其他节点上

$scp -r -P 45685 zookeeper-3.4.10 datanodeyw1:/opt/hadoop/$scp -r -P 45685 zookeeper-3.4.10 datanodeyw2:/opt/hadoop/

7、分别启动zookeeper集群

  1. zookeeper用法:

Usage: /opt/hadoop/zookeeper-3.4.10/bin/zkServer.sh {start|start-foreground|stop|restart|status|upgrade|print-cmd}

2. 命令:

/opt/hadoop/zookeeper-3.4.10/bin/zkServer.sh start #启动/opt/hadoop/zookeeper-3.4.10/bin/zkServer.sh stop #停止/opt/hadoop/zookeeper-3.4.10/bin/zkServer.sh status #查看状态(验证结果是否正常)

说明:dataDir和dataLogDir需要自己创建,目录可以自己制定,对应即可。server.1中的这个1需要和namenodeyw这个机器上的dataDir目录中的myid文件中的数值对应。server.2中的这个2需要和datanodeyw1这个机器上的dataDir目录中的myid文件中的数值对应。server.3中的这个3需要和datanodeyw2这个机器上的dataDir目录中的myid文件中的数值对应。当然,数值你可以随便用,只要对应即可。2888和3888的端口号也可以随便用,因为在不同机器上,用成一样也无所

谓。

8、zookeeper正常结果验证:


四、hbase 安装配置

1、在namenode服务器上将下载的hbase2.0.2.tar.gz 安装包解压至/opt/hadop/下


2、各个节点修改环境变量/etc/profile 及hadoop用户下的.bash_profile文件并使其生效


3、创建文件夹

mkdir -p /opt/hadoop/hbase/{tmp,pids}

4、在nodename上修改hbase配置(参照附件 )

vim /opt/hadoop/hbase-2.0.2/conf/hbase-env.shexport HBASE_SSH_OPTS="-p 45685" #如果ssh端口默认不为22 则需要添加此行export JAVA_HOME=/usr/java/jdk1.8.0_92export HADOOP_HOME=/opt/hadoop/hadoop-2.7.7export ZOOKEEPER_HOME=/opt/hadoop/zookeeper-3.4.10export HBASE_HOME=/opt/hadoop/hbase-2.0.2export HBASE_PID_DIR=/root/hbase/pidsexport HBASE_MANAGES_ZK=false
  • hbase-site.xml

hbase.rootdirhdfs://namenodeyw:9000/hbaseThe directory shared byregion servers.hbase.zookeeper.property.clientPort2181Property from ZooKeeper'sconfig zoo.cfg. The port at which the clients will connect.zookeeper.session.timeout120000hbase.zookeeper.quorumnamenodeyw,datanodeyw1,datanodeyw2hbase.tmp.dir/opt/hadoop/hbase/tmphbase.cluster.distributedtrue
  • regionservers (根据配置regionservers,文件中缺少datanodeyw1,则在datanodeyw1上启动hbase,datanodeyw1作为hmaster服务)

namenodeywdatanodeyw2

5、如果系统ssh端口不为22 则需要修改配置

vim hbase-env.shexport HBASE_SSH_OPTS="-p 45685"

6、将namenodeyw上修改完成的hbase-2.0.2 目录同步至其他节点/opt/hadoop 路径下

$scp -r -P 45685 hbase-2.0.2 datanodeyw1:/opt/hadoop/$scp -r -P 45685 hbase-2.0.2 datanodeyw2:/opt/hadoop/

7、在datanodeyw1启动hbase服务(根据配置regionservers线上,文件中缺少datanodeyw1,则在datanodeyw1上启动hbase文件,则该节点作为hmaster服务)

cd /opt/hadoop/hbase-2.0.2/bin./start-hbase.sh


8、验证启动完成后查看进程

datanodeyw1:

[hadoop@datanodeyw1 bin]$ jps4835 HMaster #hbase 主节点6667 Jps25675 DataNode30862 QuorumPeerMain #zookeeper25807 NodeManager

datanodeyw2:

[hadoop@datanodeyw2 home]$ jps24805 HRegionServer #hbase 守护进程24485 QuorumPeerMain #zookeeper24983 Jps24057 DataNode24171 NodeManager

namenodeyw:

[hadoop@namenodeyw ~]$ jps2832 NodeManager2387 DataNode2248 NameNode4072 HRegionServer4251 Jps3596 QuorumPeerMain #zookeeper2716 ResourceManager2558 SecondaryNameNode

9、web页面查询状态

http://172.16.57.98:16010/master-status

五、zabbix监控添加

1. 任意一台hadoop节点上,hadoop用户下添加crontab -e

*/5 * * * * /opt/hadoop/hadoop-2.7.7/bin/hadoop dfsadmin -report > /tmp/hadoop.status*/5 * * * * /bin/echo "status" |/opt/hadoop/hbase-2.0.2/bin/hbase shell > /tmp/hbase.status

2. 修改zabbix配置文件zabbix_agentd.conf.d/hadoop.conf

  • hadoop1.x

vi zabbix_agentd.conf.d/hadoop.conf#状态监控keyUserParameter=dfs.status,cat /tmp/hadoop-status |grep "dead" |cut -d ' ' -f 6UserParameter=hbase.status,cat /tmp/hbase-status |grep "server" |cut -d ' ' -f 1
  • hadoop2.7x

vi zabbix_agentd.conf.d/hadoop.conf#状态监控keyUserParameter=dfs.status,cat /tmp/hadoop.status |grep "Live datanodes"|awk -F"[()]" '{print $2}'UserParameter=hbase.status,cat /tmp/hbase.status |grep "dead" |cut -d ',' -f 4|cut -d ' ' -f 2

3. 重启zabbix-agentd服务

4. zabbix添加监控项

dfs.status 监控参数为datanode 节点挂掉后的告警

  • zabbix监控添加


  • dfs存在死亡节点处理

http://172.16.57.97:50070/dfshealth.html#tab-overview (#namenode)

  • 点击页面上的 Dead Nodes 进入:

  • 启动方式:

hadoop-daemon.sh start datanode

hbase.status 监控参数为hbase进程节点挂掉后的告警

  • zabbix监控添加


  • hbase 存在死亡节点处理

http://172.16.57.98:16010/master-status #(该链接地址为hmaster 进程所在服务器IP及端口)

  • 页面显示 Dead Region Servers 中 hostname 即故障点服务器。

  • 启动方式:

hbase-daemon.sh start regionserver

6、FAQ

1 执行 start-all.sh 报错

[hadoop@namenodeyw sbin]$ ./start-all.sh

This script is Deprecated. Instead use start-dfs.sh and start-yarn.sh

18/09/10 12:12:27 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

Starting namenodes on [namenodeyw]

namenodeyw: starting namenode, logging to /opt/hadoop/hadoop-2.7.7/logs/hadoop-hadoop-namenode-namenodeyw.out

namenodeyw: starting datanode, logging to /opt/hadoop/hadoop-2.7.7/logs/hadoop-hadoop-datanode-namenodeyw.out

datanodeyw2: starting datanode, logging to /home/hadoop/hadoop-2.7.7/logs/hadoop-hadoop-datanode-datanodeyw2.out

datanodeyw1: starting datanode, logging to /opt/hadoop/hadoop-2.7.7/logs/hadoop-hadoop-datanode-datanodeyw1.out

datanodeyw2: [Fatal Error] core-site.xml:24:5: The markup in the document following the root element must be well-formed.

Starting secondary namenodes [0.0.0.0]

0.0.0.0: starting secondarynamenode, logging to /opt/hadoop/hadoop-2.7.7/logs/hadoop-hadoop-secondarynamenode-namenodeyw.out

18/09/10 12:12:42 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

starting yarn daemons

starting resourcemanager, logging to /opt/hadoop/hadoop-2.7.7/logs/yarn-hadoop-resourcemanager-namenodeyw.out

datanodeyw2: starting nodemanager, logging to /home/hadoop/hadoop-2.7.7/logs/yarn-hadoop-nodemanager-datanodeyw2.out

namenodeyw: starting nodemanager, logging to /opt/hadoop/hadoop-2.7.7/logs/yarn-hadoop-nodemanager-namenodeyw.out

datanodeyw1: starting nodemanager, logging to /opt/hadoop/hadoop-2.7.7/logs/yarn-hadoop-nodemanager-datanodeyw1.out

datanodeyw2: [Fatal Error] core-site.xml:24:5: The markup in the document following the root element must be well-formed.

配置文件格式错误导致:

2、zookeeper 状态查询报错的问题

[hadoop@namenodeyw conf]$ /opt/hadoop/zookeeper-3.4.10/bin/zkServer.sh status

ZooKeeper JMX enabled by default

Using config: /opt/hadoop/zookeeper-3.4.10/bin/../conf/zoo.cfg

Error contacting service. It is probably not running.

解决:检查myid 及zoo.cfg文件是否配置错误

正常结果输出:

2、问题描述

该问题转自:https://www.cnblogs.com/zlslch/p/6418248.html

Unable to load native-hadoop library for your platform... using builtin-java classes where applicable(四十四)

Unable to load native-hadoop library for your platform... using builtin-java classes where applicable

[hadoop@djt002 native]$ pwd
/usr/local/hadoop/hadoop-2.6.0/lib/native
[hadoop@djt002 native]$ ls
libhadoop.a libhadooppipes.a libhadoop.so libhadoop.so.1.0.0 libhadooputils.a libhdfs.a libhdfs.so libhdfs.so.0.0.0


  其实,这个问题,要解决很简单,我这里是hadoop-2.6.0版本。

如果你也是hadoop2.6的可以下载下面这个:
http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.6.0.tar

若是其他的hadoop版本,下载下面这个:

http://dl.bintray.com/sequenceiq/sequenceiq-bin/hadoop-native-64-2.*.0.tar


[hadoop@djt002 native]$ tar -xvf hadoop-native-64-2.6.0.tar -C $HADOOP_HOME/lib/native

[hadoop@djt002 native]$ tar -xvf hadoop-native-64-2.6.0.tar -C $HADOOP_HOME/lib

以上,这两个命令都要执行。

然后增加环境变量

[root@djt002 native]# vim /etc/profile

增加下面的内容:

export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"


让环境变量生效

[root@djt002 native]# source /etc/profile



结果

  最后,这个问题成功解决了!


文件 配置 服务 目录 用户 节点 环境 服务器 监控 变量 三台 端口 进程 状态 问题 命令 数值 机器 系统 结果 数据库的安全要保护哪些东西 数据库安全各自的含义是什么 生产安全数据库录入 数据库的安全性及管理 数据库安全策略包含哪些 海淀数据库安全审计系统 建立农村房屋安全信息数据库 易用的数据库客户端支持安全管理 连接数据库失败ssl安全错误 数据库的锁怎样保障安全 湖北九亚互联网络科技有限公司 上海睿民互联网科技有限公司 广州大一互联网络科技有限公司 互联网巨头反垄断金融科技 齐家互联网科技 互联网科技视频 万达互联网科技 互联网科技公司有哪些 滨湖区互联网智能科技产品供应 山东吉时兔互联网科技有限公司 成都玖崟互联网科技有限公司乐商圈怎么样 哈尔滨新华互联网科技学院 须眉科技是互联网公司吗 深圳育鹏互联网科技有限公司招聘 广州智享互联网科技 中国科技和美国互联网 北京品多多互联网科技有限公司 互联网企业和网络科技有限公司 伍佰万互联网科技是干嘛的 恒生科技互联网指数十大成分股 互联网是第几次科技革命的成果 中资互联网科技 互联网金融 科技金融 深圳互联网络科技有限公司 青岛互联网科技公司 互联网科技logo设计 撒么互联网科技公司 互联网科技实习生岗位职责 世界互联网科技公司市值排名 广州富喜互联网络科技
0