3.部署 hadoop 的高可用(HA)(须分发)
3.1.解压相关包到要求的位置
xxx 代表你的相关位置
1
| tar -zxvf /xxx/XXX.tar.gz -C /xxx/xxx/xxx
|
3.2 设置环境变量(须分发)
复制到 profile 的最底部
1 2 3 4 5 6 7 8
| #JAVA_HOME export JAVA_HOME=/opt/module/jdk18 export PATH=$PATH:$JAVA_HOME/bin
#HADOOP_HOME export HADOOP_HOME=/opt/module/hadoop313 export PATH=$PATH:$HADOOP_HOME/bin export PATH=$PATH:$HADOOP_HOME/sbin
|
![配置profile]
3.3 配置 hadoop
cd 到你解压的 Hadoop 的目录下
3.3.1 编辑 core-site.xml
1
| vim etc/hadoop/core-site.xml
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20
| <configuration> <property> <name>fs.defaultFS</name> <value>hdfs://mycluster</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/opt/module/hadoop313/tmp</value> </property> <property> <name>ha.zookeeper.quorum</name> <value>master:2181,slave1:2181,slave2:2181</value> </property> </configuration>
|
3.3.2 编辑 hdfs-site.xml
1
| vim etc/Hadoop hdfs-site.xml
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86
| <configuration> <property> <name>dfs.nameservices</name> <value>mycluster</value> </property> <property> <name>dfs.ha.namenodes.mycluster</name> <value>nn1,nn2</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn1</name> <value>master:8020</value> </property> <property> <name>dfs.namenode.rpc-address.mycluster.nn2</name> <value>slave2:8020</value> </property> <property> <name>dfs.namenode.http-address.mycluster.nn1</name> <value>master:9870</value> </property> <property> <name>dfs.namenode.http-address.mycluster.nn2</name> <value>slave2:9870</value> </property> <property> <name>dfs.namenode.shared.edits.dir</name> <value>qjournal://master:8485;slave1:8485;slave2:8485/mycluster</value> </property> <property> <name>dfs.client.failover.proxy.provider.mycluster</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>/root/.ssh/id_rsa</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file://${hadoop.tmp.dir}/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file://${hadoop.tmp.dir}/data</value> </property> <property> <name>dfs.journalnode.edits.dir</name> <value>${hadoop.tmp.dir}/jn</value> </property> <property> <name>dfs.ha.automatic-failover.enabled</name> <value>true</value> </property> </configuration>
|
3.3.3 编辑 mapreduce-site.xml
1
| vim etc/hadoop/mapreduce-site.xml
|
1 2 3 4 5 6
| <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
|
3.3.4 编辑 yarn-site.xml
1
| vim etc/hadoop/yarn-site.xml
|
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50
| <configuration> <property> <name>yarn.resourcemanager.ha.enabled</name> <value>true</value> </property>
<property> <name>yarn.resourcemanager.cluster-id</name> <value>clusterl</value> </property>
<property> <name>yarn.resourcemanager.ha.rm-ids</name> <value>rml,rm2</value> </property>
<property> <name>yarn.resourcemanager.hostname.rm1</name> <value>slave1</value> </property>
<property> <name>yarn.resourcemanager.hostname.rm2</name> <value>slavel</value> </property>
<property> <name>yarn.resourcemanager.webapp.address.rml</name> <value>master:8088</value> </property>
<property> <name>yarn.resourcemanager.webapp.address.rm2</name> <value>slave1:8088</value> </property>
<property> <name>hadoop.zk.address</name> <value>master:2181,slave1:2181,slave2:2181</value> </property> </configuration>
|
3.3.5 编辑 workers
和之前的 hosts 一致
5.2 初始化 hadoop
(1)启动 各个节点 zookeeper
(2)启动 各个节点 journalnode
1
| hdfs --daemon start journalnode
|
(3)格式化 主节点 hadoop
1
| hdfs namenode -format (主)
|
(4)启动 主节点 namenode
1
| hdfs --daemon start namenode
|
(5)#测试 namenode 的热备机 即在 slave2 中启动 bootstrapStandby
1
| hdfs namenode -bootstrapStandby
|
(6) 在 slave2 启动 备用 namenode
1
| hdfs --daemon start namenode
|
如果执行完没有报错 那么 hadoop(HA)就搭建成功了
4.部署 hive
4.1 准备好相关的压缩包并解压
xxx 代表你的相关位置
1
| tar -zxvf /xxx/XXX.tar.gz -C /xxx/xxx/xxx
|
4.2 设置环境变量
将我的路径改为你自己的
1 2 3
| export HIVE_HOME=/opt/module/hive312 export PATH=$HIVE_HOME/bin:$PATH
|