本文共 7501 字,大约阅读时间需要 25 分钟。
192.168.56.120 hadoop01 | 192.168.56.121 hadoop02 | 192.168.56.122 hadoop03 |
---|---|---|
QuorumPeerMain | QuorumPeerMain | QuorumPeerMain |
JournalNode | JournalNode | JournalNode |
NameNode | NameNode | – |
ResourceManager | ResourceManager | – |
NodeManager | NodeManager | NodeManager |
DFSZKFailoverController | DFSZKFailoverController | – |
DataNode | DataNode | DataNode |
脚本和相关的文件如下,提取码: sweh
mkdir /opt/software
mkdir /opt/install
chmod 777 install*
/opt/software/installJdk.sh
/opt/software/installHadoop.sh
ssh-keygen -t rsa -P ""
生成私钥cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys
添加到信任ssh-copy-id -i ~/.ssh/id_rsa.pub -p22 root@192.168.56.120
,注意一台向其他两台发送ssh -o StrictHostKeyChecking=no `hostname`
zkServer.sh start
,三台hadoop-daemon.sh start journalnode
hadoop namenode -format
,hadoop-daemon.sh start namenode
hdfs namenode -bootstrapStandby
,只在第一次启动需要同步以后不需要hdfs zkfc -formatZK
hadoop-daemon.sh stop journalnode
hadoop-daemon.sh stop namenode
start-dfs.sh
start-yarn.sh
yarn-daemon.sh start resourcemanager
#!/bin/bash#安装jdk1.8,需要先创建software目录和install目录,然后将jdk包拖进software目录中tar -zxvf /opt/software/jdk-8u221-linux-x64.tar.gz -C /opt/install/`echo "export JAVA_HOME=/opt/install/jdk1.8.0_221" >> /etc/profile``echo 'export CLASSPATH=.:$JAVA_HOME/rt.jar:$JAVA_HOME/tools.jar:$JAVA_HOME/dt.jar' >> /etc/profile``echo 'export JRE_HOME=$JAVA_HOME/jre' >> /etc/profile``echo 'export PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin' >> /etc/profile`source /etc/profilejava -version
#!/bin/bash#将zookeeper和hadoop安装包挪到software下,将配置文件也挪到software目录下tar -zxvf /opt/software/zookeeper-3.4.6.tar.gz -C /opt/install/tar -zxvf /opt/software/hadoop-2.6.0-cdh5.14.2.tar.gz -C /opt/install/mv /opt/install/hadoop-2.6.0-cdh5.14.2 /opt/install/hadoop`echo "export HADOOP_HOME=/opt/install/hadoop" >> /etc/profile``echo 'export HADOOP_MAPRED_HOME=$HADOOP_HOME' >> /etc/profile``echo 'export HADOOP_COMMON_HOME=$HADOOP_HOME' >> /etc/profile``echo 'export HADOOP_HDFS_HOME=$HADOOP_HOME' >> /etc/profile``echo 'export YARN_HOME=$HADOOP_HOME' >> /etc/profile``echo 'export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native' >> /etc/profile``echo 'export HADOOP_OPTS="-Djava.library.path=$HADOOP_HOME/lib"' >> /etc/profile``echo 'export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin' >> /etc/profile``echo 'export ZK_HOME=/opt/install/zookeeper-3.4.6' >> /etc/profile``echo 'export PATH=$PATH:$ZK_HOME/bin' >> /etc/profile`source /etc/profilesed -i '24,26s/\${JAVA_HOME}/\/opt\/install\/jdk1.8.0_221/gi' /opt/install/hadoop/etc/hadoop/hadoop-env.shcat $PWD/core-site.xml > /opt/install/hadoop/etc/hadoop/core-site.xmlcat $PWD/hdfs-site.xml > /opt/install/hadoop/etc/hadoop/hdfs-site.xmlcat $PWD/mapred-site.xml > /opt/install/hadoop/etc/hadoop/mapred-site.xmlcat $PWD/yarn-site.xml > /opt/install/hadoop/etc/hadoop/yarn-site.xmlcat $PWD/zoo.cfg > /opt/install/zookeeper-3.4.6/conf/zoo.cfgcat $PWD/slaves > /opt/install/hadoop/etc/hadoop/slavesmkdir /opt/install/zookeeper-3.4.6/zkDatamkdir /opt/install/zookeeper-3.4.6/zkLogtouch /opt/install/zookeeper-3.4.6/zkData/myidecho '1' > /opt/install/zookeeper-3.4.6/zkData/myidecho '192.168.56.120 hadoop01' >> /etc/hostsecho '192.168.56.121 hadoop02' >> /etc/hostsecho '192.168.56.122 hadoop03' >> /etc/hostssource /etc/profiletar -xvf $PWD/hadoop-native-64-2.6.0.tar -C $HADOOP_HOME/lib/nativetar -xvf $PWD/hadoop-native-64-2.6.0.tar -C $HADOOP_HOME/libecho 'hadoop 版本信息:' hadoop version
#!/usr/bin/env bashssh hadoop01 "echo '1' > /opt/install/zookeeper-3.4.6/zkData/myid"ssh hadoop02 "echo '2' > /opt/install/zookeeper-3.4.6/zkData/myid"ssh hadoop03 "echo '3' > /opt/install/zookeeper-3.4.6/zkData/myid"for s in hadoop01 hadoop02 hadoop03do ssh $s "source /etc/profile; cd /opt/install/hadoop/; rm -rf hdfsTmp/"donesleep 2for s in hadoop01 hadoop02 hadoop03do ssh $s "source /etc/profile; zkServer.sh start; hadoop-daemon.sh start journalnode"donesleep 2ssh hadoop01 "source /etc/profile; hadoop namenode -format; hadoop-daemon.sh start namenode"sleep 2ssh hadoop02 "source /etc/profile; hdfs namenode -bootstrapStandby"sleep 2ssh hadoop01 "source /etc/profile; hdfs zkfc -formatZK; hadoop-daemon.sh stop journalnode"sleep 2ssh hadoop02 "source /etc/profile; hadoop-daemon.sh stop journalnode"sleep 2ssh hadoop03 "source /etc/profile; hadoop-daemon.sh stop journalnode"sleep 2ssh hadoop01 "source /etc/profile; hadoop-daemon.sh stop namenode; start-dfs.sh; start-yarn.sh"sleep 2ssh hadoop02 "source /etc/profile; yarn-daemon.sh start resourcemanager"sleep 2for s in hadoop01 hadoop02 hadoop03do echo "=================$s-jps=================" ssh $s "source /etc/profile; jps"donesleep 2for s in hadoop01 do echo "=================$s -resourcemanager status=================" ssh $s "source /etc/profile; yarn rmadmin -getServiceState rm1" echo "=================$s -namenode status=================" ssh $s "source /etc/profile; hdfs haadmin -getServiceState nn1"donesleep 2for s in hadoop02do echo "=================$s -resourcemanager status=================" ssh $s "source /etc/profile; yarn rmadmin -getServiceState rm2" echo "=================$s -namenode status=================" ssh $s "source /etc/profile; hdfs haadmin -getServiceState nn2"donesleep 2for s in hadoop01 hadoop02 hadoop03do echo "=================$s- zkServer status=================" ssh $s "source /etc/profile; zkServer.sh status"done
使用脚本运行效果如下:
=================hadoop01-jps=================22896 NameNode22002 QuorumPeerMain23430 DFSZKFailoverController23016 DataNode23674 NodeManager24010 Jps23549 ResourceManager23231 JournalNode=================hadoop02-jps=================15138 NameNode15218 DataNode14900 QuorumPeerMain15317 JournalNode15445 DFSZKFailoverController15787 Jps15534 NodeManager15710 ResourceManager=================hadoop03-jps=================12996 NodeManager12794 DataNode13147 Jps12621 QuorumPeerMain12893 JournalNode=================hadoop01 -resourcemanager status=================20/07/09 08:48:58 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-jav a classes where applicableactive=================hadoop01 -namenode status=================active=================hadoop02 -resourcemanager status=================20/07/09 08:49:02 WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform... using builtin-jav a classes where applicablestandby=================hadoop02 -namenode status=================standby=================hadoop01- zkServer status=================JMX enabled by defaultUsing config: /opt/install/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower=================hadoop02- zkServer status=================JMX enabled by defaultUsing config: /opt/install/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: leader=================hadoop03- zkServer status=================JMX enabled by defaultUsing config: /opt/install/zookeeper-3.4.6/bin/../conf/zoo.cfgMode: follower
注:需要下载psmisc依赖包,否则无法完成自动切换节点
yum install -y psmisc
转载地址:http://jcjxi.baihongyu.com/