1、环境说明
系统环境:
- 系统环境:centos6.7
- Hadoop版本:CDH5.5
- JDK运行版本:1.7.0_67
集群各节点组件分配:
2、准备工作
安装 Hadoop 集群前先做好下面的准备工作,在修改配置文件的时候,建议在一个节点上修改,然后同步到其他节点。因为要同步配置文件和在多个节点启动服务,建议配置 ssh 无密码登陆。
2.1配置hosts
- CDH 要求使用 IPv4,IPv6 不支持,禁用IPv6方法:
# vim /etc/sysctl.conf #disable ipv6 net.ipv6.conf.all.disable_ipv6=1 net.ipv6.conf.default.disable_ipv6=1 net.ipv6.conf.lo.disable_ipv6=1
- 使其生效:
# sysctl -p
- 最后确认是否已禁用:
# cat /proc/sys/net/ipv6/conf/all/disable_ipv6 1
- 设置hostname,以bd-ops-test-74为例
hostname bd-ops-test-74
- 并使其永久生效
# vim /etc/sysconfig/network 修改HOSTNAME=bd-ops-test-74
- 修改hosts表
在每个节点上都应有一份hosts表,在之后的配置中,对应节点名称使用hostname # vim /etc/hosts 172.16.57.74 bd-ops-test-74 172.16.57.75 bd-ops-test-75 172.16.57.76 bd-ops-test-76 172.16.57.77 bd-ops-test-77
2.2关闭防火墙以及selinux
# setenforce 0 # vim /etc/sysconfig/selinux #修改SELINUX=disabled #清空iptables # iptables -F
2.3时钟同步
搭建时钟同步服务器
这里选择 74 节点为时钟同步服务器,其他节点为客户端同步时间到该节点。安装ntp:
# yum install ntp -y
修改 74 上的配置文件 /etc/ntp.conf
driftfile /var/lib/ntp/drift restrict default nomodify notrap nopeer noquery restrict 127.0.0.1 restrict ::1 restrict 172.16.57.0 mask 255.255.255.0 nomodify notrap server 0.centos.pool.ntp.org iburst server 1.centos.pool.ntp.org iburst server 2.centos.ntp.org iburst server 3.centos.pool.ntp.org iburst includefile /etc/ntp/crypto/pw keys /etc/ntp/keys disable monitor
启动 ntp:
#设置开机启动 # chkconfig ntpd on # service ntpd start
ntpq用来监视ntpd操作,使用标准的NTP模式6控制消息模式,并与NTP服务器通信。
ntpq -p
查询网络中的NTP服务器,同时显示客户端和每个服务器的关系。
#ntpq -p remote refid st t when poll reach delay offset jitter ============================================================================== *dns1.synet.edu. 202.118.1.47 2 u 57 64 377 41.912 -3.877 4.628
客户端的配置
在76和77节点上执行下面操作:
# ntpdate bd-ops-test-74
Ntpd启动的时候通常需要一段时间大概5分钟进行时间同步,所以在ntpd刚刚启动的时候还不能正常提供时钟服务,报错"no server suitable for synchronization found"。启动时候需要等待5分钟。
过一会儿我们就可以看到同步成功了:
#ntpdate bd-ops-test-74 24 Aug 22:32:14 ntpdate[14024]: step time server 172.16.57.74 offset -77.582859 sec
2.4安装JDK
此过程不再赘述,本例中jdk安装目录为/opt/programs/jdk1.7.0_67
2.5设置本地yum源
从官方下载cdh5.5压缩仓库包,传送门:http://archive.cloudera.com/cdh5/repo-as-tarball/5.5.1/cdh5.5.1-centos5.tar.gz
解压后配置本地仓库使用。
3、安装Zookeeper
Zookeeper 至少需要3个节点,并且节点数要求是基数,这里在75、76、77上安装 Zookeeper。
3.1安装
在需要安装的节点上执行:
# yum install zookeeper* -y
3.2修改配置文件
设置 zookeeper 配置 /etc/zookeeper/conf/zoo.cfg
maxClientCnxns=50 tickTime=2000 initLimit=10 syncLimit=5 dataDir=/opt/zookeeper/zkdata clientPort=2181 dataLogDir=/opt/zookeeper/zkdatalog server.1=172.16.57.75:2888:3888 server.2=172.16.57.76:2888:3888 server.3=172.16.57.77:2888:3888
指定jdk路径/etc/zookeeper/conf/java.env
export JAVA_HOME=/opt/programs/jdk1.7.0_67/
3.3同步配置文件
将配置文件同步到其他节点:
# scp -r /etc/zookeeper/conf root@bd-ops-test-76:/etc/zookeeper/ # scp -r /etc/zookeeper/conf root@bd-ops-test-77:/etc/zookeeper/
3.4初始化并启动服务
在每个节点上初始化并启动 zookeeper,注意 myid 的值需要和 zoo.cfg 中的编号一致。
在 75 节点运行:
# service zookeeper-server init --myid=1 # service zookeeper-server start
在 76 节点运行:
# service zookeeper-server init --myid=2 # service zookeeper-server start
在 77 节点运行:
# service zookeeper-server init --myid=3 # service zookeeper-server start
3.5测试
通过下面命令测试是否启动成功:
# zookeeper-client -server bd-ops-test-74:2181
4、安装和配置HDFS(HA模式)
根据文章开头的节点规划,
在74,75上安装 hadoop-hdfs-namenode,
# yum install hadoop-hdfs-namenode -y
在74,75,76,77上安装hadoop-hdfs-datanode
# yum install hadoop-hdfs-datanode -y
4.1配置hadoop相关环境变量
创建 /etc/hadoop/conf/hadoop-env.sh,主要指定的是jdk、hadoop等相关安装目录
# cat hadoop-env.sh export HADOOP_MAPRED_HOME=/usr/lib/hadoop-mapreduce export HADOOP_HOME=/usr/lib/hadoop export JAVA_HOME=/opt/programs/jdk1.7.0_67/ export HADOOP_NAMENODE_OPTS="-XX:+UseParallelGC -XX:ParallelGCThreads=8" export HADOOP_HEAPSIZE=16384 export HADOOP_CLASSPATH=$HADOOP_CLASSPATH:$HADOOP_HOME/lib/hadoop-lzo.jar
在/etc/hadoop/conf/slaves中指定集群的hostname
# cat slaves bd-ops-test-74 bd-ops-test-75 bd-ops-test-76 bd-ops-test-77
4.2修改hadoop配置文件
在/etc/hadoop/conf/core-site.xml
中设置fs.defaultFS
属性值,该属性指定NameNode是哪一个节点以及使用的文件系统是file还是hdfs,格式:hdfs://<namenode host>:<namenode port>/
,默认的文件系统是file:///
:
<property> <name>fs.defaultFS</name> <value>hdfs://bd-ops-test:8020</value> </property>
在/etc/hadoop/conf/hdfs-site.xml
中设置dfs.permissions.superusergroup
属性,该属性指定hdfs的超级用户,默认为hdfs,你可以修改为hadoop:
<property> <name>dfs.permissions.superusergroup</name> <value>hadoop</value> </property>
更多的配置信息说明,请参考 Apache Cluster Setup
4.3指定本地文件目录
在hadoop中默认的文件路径以及权限要求如下:
目录 所有者 权限 默认路径 hadoop.tmp.dir hdfs:hdfs drwx------ /var/hadoop dfs.namenode.name.dir hdfs:hdfs drwx------ file://${hadoop.tmp.dir}/dfs/name dfs.datanode.data.dir hdfs:hdfs drwx------ file://${hadoop.tmp.dir}/dfs/data dfs.namenode.checkpoint.dir hdfs:hdfs drwx------ file://${hadoop.tmp.dir}/dfs/namesecondary
说明你可以在 hdfs-site.xm l中只配置hadoop.tmp.dir
,也可以分别配置上面的路径。这里使用分别配置的方式,hdfs-site.xml中配置如下:
<property> <name>dfs.namenode.name.dir</name> <value>file:///opt/hadoop/data/hdfs/nn</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file:///opt/hadoop/data1/hdfs/dn,file:///opt/hadoop/data2/hdfs/dn,file:///opt/hadoop/data3/hdfs/dn</value> </property>
在NameNode上手动创建 dfs.name.dir
或 dfs.namenode.name.dir
的本地目录:
mkdir -p /opt/hadoop/data/hdfs/nn
在DataNode上手动创建 dfs.data.dir
或 dfs.datanode.data.dir
的本地目录:
mkdir -p /opt/hadoop/data{1,2,3}/hdfs/dn
修改上面目录所有者:
chown -R hdfs:hdfs /opt/hadoop/*
hadoop的进程会自动设置 dfs.data.dir
或 dfs.datanode.data.dir
,但是 dfs.name.dir
或 dfs.namenode.name.dir
的权限默认为755,需要手动设置为700:
# chmod 700 /opt/hadoop/data/hdfs/nn
注意:DataNode的本地目录可以设置多个(我这里有三个),你可以设置 dfs.datanode.failed.volumes.tolerated
参数的值,表示能够容忍不超过该个数的目录失败。
4.4开启回收站功能
回收站功能默认是关闭的,建议打开。在 /etc/hadoop/conf/core-site.xml
中添加如下两个参数:
-
fs.trash.interval
,该参数值为时间间隔,单位为分钟,默认为0,表示回收站功能关闭。该值表示回收站中文件保存多长时间,如果服务端配置了该参数,则忽略客户端的配置;如果服务端关闭了该参数,则检查客户端是否有配置该参数; -
fs.trash.checkpoint.interval
,该参数值为时间间隔,单位为分钟,默认为0。该值表示检查回收站时间间隔,该值要小于fs.trash.interval
,该值在服务端配置。如果该值设置为0,则使用fs.trash.interval
的值。
4.5开启WebHDFS
在NameNode节点上安装:
# yum install hadoop-httpfs -y
然后修改 /etc/hadoop/conf/core-site.xml配置代理用户:
<property> <name>hadoop.proxyuser.httpfs.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.httpfs.groups</name> <value>*</value> </property>
4.6配置LZO
安装lzo:
# yum install hadoop-lzo* impala-lzo -y
最后,在 /etc/hadoop/conf/core-site.xml
中添加如下配置:
<property> <name>io.compression.codecs</name> <value>org.apache.hadoop.io.compress.DefaultCodec,org.apache.hadoop.io.compress.GzipCodec, org.apache.hadoop.io.compress.BZip2Codec,com.hadoop.compression.lzo.LzoCodec, com.hadoop.compression.lzo.LzopCodec</value> </property> <property> <name>io.compression.codec.lzo.class</name> <value>com.hadoop.compression.lzo.LzoCodec</value> </property>
更多关于LZO信息,请参考:Using LZO Compression
4.7配置Snappy
cdh 的 rpm 源中默认已经包含了 snappy ,直接在每个节点安装Snappy:
yum install snappy snappy-devel -y
然后,在 core-site.xml
中修改io.compression.codecs
的值,添加 org.apache.hadoop.io.compress.SnappyCodec
。
使 snappy 对 hadoop 可用:
ln -sf /usr/lib64/libsnappy.so /usr/lib/hadoop/lib/native/
4.8HA配置
安装服务
在 75、76、77 上安装 hadoop-hdfs-journalnode
yum install hadoop-hdfs-journalnode -y
在 74、75(namenode) 上安装 hadoop-hdfs-zkfc:
yum install hadoop-hdfs-zkfc -y
修改配置文件
修改/etc/hadoop/conf/core-site.xml,做如下修改:
<property> <name>fs.defaultFS</name> <value>hdfs://bd-ops-test:8020</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>bd-ops-test-75:2181,bd-ops-test-76:2181,bd-ops-test-77:2181</value> </property>
修改/etc/hadoop/conf/hdfs-site.xml
<property> <name>dfs.nameservices</name> <value>bd-ops-test</value> </property> <property> <name>dfs.ha.namenodes.bd-ops-test</name> <value>bd-ops-test-74,bd-ops-test-75</value> </property> <property> <name>dfs.namenode.rpc-address.bd-ops-test.bd-ops-test-74</name> <value>bd-ops-test-74:8020</value> </property> <property> <name>dfs.namenode.rpc-address.bd-ops-test.bd-ops-test-75</name> <value>bd-ops-test-75:8020</value> </property> <property> <name>dfs.namenode.http-address.bd-ops-test.bd-ops-test-74</name> <value>bd-ops-test-74:50070</value> </property> <property> <name>dfs.namenode.http-address.bd-ops-test.bd-ops-test-75</name> <value>bd-ops-test-75:50070</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://bd-ops-test-75:8485;bd-ops-test-76:8485;bd-ops-test-77:8485/bd-ops-test</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>/opt/hadoop/data1/hdfs/jn</value> </property> <property> <name>dfs.client.failover.proxy.provider.bd-ops-test</name> <value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value> </property> <property> <name>dfs.ha.fencing.methods</name> <value>sshfence</value> </property> <property> <name>dfs.ha.fencing.ssh.private-key-files</name> <value>/var/lib/hadoop-hdfs/.ssh/id_rsa</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property>
4.9启动HDFS
将74上的配置文件同步到每一个节点:
scp -r /etc/hadoop/conf root@bd-ops-test-75:/etc/hadoop/ scp -r /etc/hadoop/conf root@bd-ops-test-76:/etc/hadoop/ scp -r /etc/hadoop/conf root@bd-ops-test-77:/etc/hadoop/
在74节点格式化NameNode:
sudo -u hdfs hadoop namenode -format
启动journalnode
启动75、76、77上的 hadoop-hdfs-journalnode 服务
service hadoop-hdfs-journalnode start
初始化共享存储
在namenode上初始化共享存储,如果没有格式化,则先格式化:
hdfs namenode -initializeSharedEdits
启动第一个namenode(74)
service hadoop-hdfs-namenode start
同步 Standby NameNode
75作为 Standby NameNode,运行
sudo -u hdfs hadoop namenode -bootstrapStandby
然后,启动 Standby NameNode:
service hadoop-hdfs-namenode start
配置自动切换
在两个NameNode上,即74和75,安装hadoop-hdfs-zkfc
yum install hadoop-hdfs-zkfc -y
在任意一个NameNode上下面命令,其会创建一个znode用于自动故障转移
hdfs zkfc -formatZK
然后再两个 NameNode 节点上启动zkfc:
service hadoop-hdfs-zkfc start
启动datanode
在datanode节点运行:
service hadoop-hdfs-datanode start
如果安装了HttpFS,则启动 HttpFS 服务:
service hadoop-httpfs start
4.10测试
使用 curl 运行下面命令,可以测试 webhdfs 并查看执行结果:
# curl "http://localhost:14000/webhdfs/v1?op=gethomedirectory&user.name=hdfs" {"Path":"\/user\/hdfs"}
更多的 API,请参考 WebHDFS REST API
分别访问 http://bd-ops-test-74:50070/ 和 http://bd-ops-test-75:50070/ 查看谁是 active namenode,谁是 standyby namenode。
查看某Namenode的状态:
#查看nn1状态 $ sudo -u hdfs hdfs haadmin -getServiceState bd-ops-test-74 active #查看nn2状态 $ sudo -u hdfs hdfs haadmin -getServiceState bd-ops-test-75 standby
执行手动切换:
sudo -u hdfs hdfs haadmin -failover bd-ops-test-74 bd-ops-test-75
再次访问 http://bd-ops-test-74:50070/ 和 http://bd-ops-test-75:50070/ 查看谁是 active namenode,谁是 standyby namenode。
5、安装和配置YARN(HA模式)
根据文章开头的节点规划,74、75 为resourcemanager节点,74,、75、76、77 为nodemanager节点,historyserver 装在 76 节点上。
5.1 安装服务
在74,75安装:
yum install hadoop-yarn hadoop-yarn-resourcemanager -y
在74-77安装:
yum install hadoop-yarn hadoop-yarn-nodemanager hadoop-mapreduce -y
在76安装:
yum install hadoop-mapreduce-historyserver hadoop-yarn-proxyserver -y
5.2修改配置文件
要想使用YARN,需要在 /etc/hadoop/conf/mapred-site.xml
中做如下配置:
<property> <name>mapreduce.framework.name</name> <value>yarn</value> </property>
修改/etc/hadoop/conf/yarn-site.xml,配置resourcemanager的节点名称、一些服务的端口号以及ha的配置:
<?xml version="1.0"?> <?xml-stylesheet type="text/xsl" href="configuration.xsl"?> <configuration> <!-- RM Manager Configd --> <property> <name>yarn.resourcemanager.connect.retry-interval.ms</name> <value>2000</value> </property> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.ha.automatic-failover.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.ha.automatic-failover.embedded</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.cluster-id</name> <value>yarn-rm-cluster</value> </property> <property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>bd-ops-test-74,bd-ops-test-75</value> </property> <property> <name>yarn.resourcemanager.ha.id</name> <value>bd-ops-test-74</value> </property> <!-- <property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.fair.FairScheduler</value> </property> --> <!--scheduler capacity --> <property> <name>yarn.resourcemanager.scheduler.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.scheduler.capacity.CapacityScheduler</value> </property> <property> <name>yarn.resourcemanager.recovery.enabled</name> <value>true</value> </property> <property> <name>yarn.resourcemanager.store.class</name> <value>org.apache.hadoop.yarn.server.resourcemanager.recovery.ZKRMStateStore</value> </property> <property> <name>yarn.resourcemanager.zk-address</name> <value>bd-ops-test-75:2181,bd-ops-test-76:2181,bd-ops-test-77:2181</value> </property> <property> <name>yarn.resourcemanager.zk.state-store.address</name> <value>bd-ops-test-75:2181,bd-ops-test-76:2181,bd-ops-test-77:2181</value> </property> <property> <name>yarn.app.mapreduce.am.scheduler.connection.wait.interval-ms</name> <value>5000</value> </property> <!-- RM1 Configs--> <property> <name>yarn.resourcemanager.address.bd-ops-test-74</name> <value>bd-ops-test-74:23140</value> </property> <property> <name>yarn.resourcemanager.scheduler.address.bd-ops-test-74</name> <value>bd-ops-test-74:23130</value> </property> <property> <name>yarn.resourcemanager.webapp.https.address.bd-ops-test-74</name> <value>bd-ops-test-74:23189</value> </property> <property> <name>yarn.resourcemanager.webapp.address.bd-ops-test-74</name> <value>bd-ops-test-74:23188</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address.bd-ops-test-74</name> <value>bd-ops-test-74:23125</value> </property> <property> <name>yarn.resourcemanager.admin.address.bd-ops-test-74</name> <value>bd-ops-test-74:23141</value> </property> <!-- RM2 Configs --> <property> <name>yarn.resourcemanager.address.bd-ops-test-75</name> <value>bd-ops-test-75:23140</value> </property> <property> <name>yarn.resourcemanager.scheduler.address.bd-ops-test-75</name> <value>bd-ops-test-75:23130</value> </property> <property> <name>yarn.resourcemanager.webapp.https.address.bd-ops-test-75</name> <value>bd-ops-test-75:23189</value> </property> <property> <name>yarn.resourcemanager.webapp.address.bd-ops-test-75</name> <value>bd-ops-test-75:23188</value> </property> <property> <name>yarn.resourcemanager.resource-tracker.address.bd-ops-test-75</name> <value>bd-ops-test-75:23125</value> </property> <property> <name>yarn.resourcemanager.admin.address.bd-ops-test-75</name> <value>bd-ops-test-75:23141</value> </property> <!-- Node Manager Configs --> <property> <name>yarn.nodemanager.resource.memory-mb</name> <value>61440</value> </property> <property> <name>yarn.nodemanager.resource.cpu-vcores</name> <value>24</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>86400</value> </property> <property> <name>yarn.log-aggregation.retain-check-interval-seconds</name> <value>8640</value> </property> <property> <name>yarn.nodemanager.localizer.address</name> <value>0.0.0.0:23344</value> </property> <property> <name>yarn.nodemanager.webapp.address</name> <value>0.0.0.0:23999</value> </property> <property> <name>yarn.web-proxy.address</name> <value>0.0.0.0:8080</value> </property> <property> <name>mapreduce.shuffle.port</name> <value>23080</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.nodemanager.aux-services.mapreduce_shuffle.class</name> <value>org.apache.hadoop.mapred.ShuffleHandler</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.nodemanager.local-dirs</name> <value>file:///opt/hadoop/data1/yarn/dn,file:///opt/hadoop/data2/yarn/dn,file:///opt/hadoop/data3/yarn/dn</value> </property> <property> <name>yarn.nodemanager.log-dirs</name> <value>file:///opt/hadoop/data1/yarn/logs,file:///opt/hadoop/data2/yarn/logs,file:///opt/hadoop/data3/yarn/logs</value> </property> <!-- <property> <name>yarn.nodemanager.disk-health-checker.min-healthy-disks</name> <value>0</value> </property> <property> <name>yarn.nodemanager.disk-health-checker.enable</name> <value>false</value> </property> --> <property> <name>yarn.nodemanager.remote-app-log-dir</name> <value>hdfs://bd-ops-test:8020/yarn/apps</value> </property> <property> <name>yarn.application.classpath</name> <value> $HADOOP_CONF_DIR, $HADOOP_COMMON_HOME/*,$HADOOP_COMMON_HOME/lib/*, $HADOOP_HDFS_HOME/*,$HADOOP_HDFS_HOME/lib/*, $HADOOP_MAPRED_HOME/*,$HADOOP_MAPRED_HOME/lib/*, $HADOOP_YARN_HOME/*,$HADOOP_YARN_HOME/lib/* </value> </property> <property> <name>yarn.web-proxy.address</name> <value>172.16.57.76:41202</value> </property> <property> <name>yarn.log.server.url</name> <value>http://bd-ops-test-76:19888/jobhistory/logs</value> </property> </configuration>
在 /etc/hadoop/conf/mapred-site.xml
中配置 MapReduce History Server:
<property> <name>mapreduce.jobhistory.address</name> <value>bd-ops-test-76:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>bd-ops-test-76:19888</value> </property>
此外,确保 mapred、yarn 用户能够使用代理,在 /etc/hadoop/conf/core-site.xml
中添加如下参数:
<property> <name>hadoop.proxyuser.mapred.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.mapred.hosts</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.yarn.groups</name> <value>*</value> </property> <property> <name>hadoop.proxyuser.yarn.hosts</name> <value>*</value> </property>
配置 Staging 目录:
<property> <name>yarn.app.mapreduce.am.staging-dir</name> <value>/user</value> </property>
并在 hdfs 上创建相应的目录:
# sudo -u hdfs hadoop fs -mkdir -p /user # sudo -u hdfs hadoop fs -chmod 777 /user # sudo -u hdfs hadoop fs -mkdir -p /user/history # sudo -u hdfs hadoop fs -chmod -R 1777 /user/history # sudo -u hdfs hadoop fs -chown mapred:hadoop /user/history
5.3创建本地文件目录
创建 yarn.nodemanager.local-dirs
和 yarn.nodemanager.log-dirs
参数对应的目录:
# mkdir -p mkdir /opt/hadoop/data{1..3}/yarn/{dn,logs} # chown -R yarn:yarn /opt/hadoop/data{1..3}/yarn
5.4同步配置文件
同步配置文件到整个集群。
5.5启动服务
在每个节点启动 YARN :
for x in `ls /etc/init.d/|grep hadoop-yarn` ; do service $x start ; done
在 76节点启动 mapred-historyserver :
/etc/init.d/hadoop-mapreduce-historyserver start
在 hdfs 运行之后,创建 /tmp
临时目录,并设置权限为 1777
:
sudo -u hdfs hadoop fs -mkdir /tmp sudo -u hdfs hadoop fs -chmod -R 1777 /tmp
5.6测试
通过http://bd-ops-test-74:23188/cluster/cluster, http:// bd-ops-test-75:23188/cluster/cluster , 可以查看谁是actice谁是standby,通过 http://cdh1:19888/ 可以访问 JobHistory 的管理页面。
查看ResourceManager状态:
yarn rmadmin -getServiceState bd-ops-test-73
执行手动切换:
yarn rmadmin -transitionToActive --forcemanual bd-ops-test-74