1.下载hadoop zookeeper-3.4.7.tar
上传到 /home底下
2.tar -zxvf zookeeper-3.4.7.tar
3.配置 hadoop环境变量
vim /etc/profile
因为hadoop依赖java环境 必须先配置JAVA_HOME
加入环境变量
export HADOOP_HOME=/home/hadoop-2.7.1/
export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
4.添加hadoop 数据存储目录
cd /home/hadoop-2.7.1/
mkdir tmp
cd tmp
mkdir data
mkdir journal
mkdir name
5.配置hadoop集群的配置文件
1> 配置hadoop环境变量
cd /home/hadoop-2.7.1/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/home/jdk1.8.0_131
:wq
2>配置hadoop核心的配置 core.site.xml
<configuration>
<!-- 指定hdfs的nameservice为ns -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
</property>
<!--指定hadoop数据临时存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop-2.7.1/tmp</value>
</property>
<!--指定hdfs操作数据的缓冲区大小 可以不配-->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!--指定zookeeper地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop1:2181,hadoop2:2181,hadoop3:2181,hadoop4:2181,hadoop5:2181</value>
</property>
</configuration>
<configuration>
<!-- 指定hdfs的nameservice为ns -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://ns</value>
</property>
<!--指定hadoop数据临时存放目录-->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/hadoop-2.7.1/tmp</value>
</property>
<!--指定hdfs操作数据的缓冲区大小 可以不配-->
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
<!--指定zookeeper地址-->
<property>
<name>ha.zookeeper.quorum</name>
<value>hadoop1:2181,hadoop2:2181,hadoop3:2181,hadoop4:2181,hadoop5:2181</value>
</property>
</configuration>
3>配置hadoop hdfs数据存储方式 hdfs-site.xml
<configuration>
<!--指定hdfs的nameservice为ns,需要和core-site.xml中的保持一致 --> <property>
<property>
<name>dfs.nameservices</name>
<value>ns</value>
</property>
<!-- ns下面有两个NameNode,分别是nn1,nn2 -->
<property>
<name>dfs.ha.namenodes.ns</name>
<value>nn1,nn2</value>
</property>
<!-- nn1的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn1</name>
<value>hadoop1:9000</value>
</property>
<!-- nn1的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn1</name>
<value>hadoop1:50070</value>
</property>
<!-- nn2的RPC通信地址 -->
<property>
<name>dfs.namenode.rpc-address.ns.nn2</name>
<value>hadoop2:9000</value>
</property>
<!-- nn2的http通信地址 -->
<property>
<name>dfs.namenode.http-address.ns.nn2</name>
<value>hadoop2:50070</value>
</property>
<!-- 指定NameNode的元数据在JournalNode上的存放位置 -->
<property>
<name>dfs.namenode.shared.edits.dir</name>
<value>qjournal://hadoop3:8485;hadoop4:8485;hadoop5:8485/ns</value>
</property>
<!-- 指定JournalNode在本地磁盘存放数据的位置 -->
<property>
<name>dfs.journalnode.edits.dir</name>
<value>/home/hadoop-2.7.1/tmp/journal</value>
</property>
<!-- 开启NameNode故障时自动切换 -->
<property>
<name>dfs.ha.automatic-failover.enabled</name>
<value>true</value>
</property>
<!-- 配置失败自动切换实现方式 -->
<property>
<name>dfs.client.failover.proxy.provider.ns</name>
<value>org.apache.hadoop.hdfs.server.namenode.ha.ConfiguredFailoverProxyProvider</value>
</property>
<!-- 配置隔离机制 -->
<property>
<name>dfs.ha.fencing.methods</name>
<value>sshfence</value>
</property>
<!-- 使用隔离机制时需要ssh免登陆 -->
<property>
<name>dfs.ha.fencing.ssh.private-key-files</name>
<value>/root/.ssh/id_rsa</value>
</property>
<!-- namenode存储位置 -->
<property>
<name>dfs.namenode.name.dir</name>
<value>/home/hadoop-2.7.1/tmp/name</value>
</property>
<!-- dataode存储位置 -->
<property>
<name>dfs.datanode.data.dir</name>
<value>/home/hadoop-2.7.1/tmp/data</value>
</property>
<!-- 副本数量根据自己的需求配置,这里配置2个 -->
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<!-- 在NN和DN上开启WebHDFS (REST API)功能,不是必须 -->
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
</configuration>
4>配置mapred mapred-site.xml
cp mapred-site.xml.template mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
5>配置yarn yarn-site.xml
<configuration>
<!-- 指定nodemanager启动时加载server的方式为shuffle server -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定resourcemanager地址 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>hadoop1</value>
</property>
</configuration>
6>配置数据解读 salves
vim salves
hadoop3
hadoop4
hadoop5
7.scp 到 其他4台服务器上
scp -r hadoop-2.7.1 root@hadoop2:/home
scp -r hadoop-2.7.1 root@hadoop3:/home
scp -r hadoop-2.7.1 root@hadoop4:/home
scp -r hadoop-2.7.1 root@hadoop5:/home
8.统一在5台机器上启动 zk
cd /home/zookeeper-3.4.7/bin
./zkServer.sh start
9.启动jn journalnode 节点
cd /home/hadoop-2.7.1/sbin
./hadoop-daemons.sh start journalnode [注意是daemons sss]
10.首次启动 格式化干干净净一下 后期启动千万千万不要执行这些命令
hdfs zkfc -formatZK
hadoop namenode -fromat
11.启动namenode 有两台 分别启动
hadoop1: hadoop-daemon.sh start namenode
hadoop2:
hdfs namenode -bootstrapStandby #这个命令把namenode 的数据同步到hadoop2
hadoop-daemon.sh start namenode #启动备份的namenode
12.启动datanode
hadoop-daemons.sh start datanode [注意daemons ssssss]
13.启动 yarn
start-yarn.sh
14.在hadoop1 hadoop2上分别启动 zkfc
hadoop-daemon.sh start zkfc
hadoop-daemon.sh start zkfc
15.所有启动
jps 查看 hadoop 1 2 3 4 5
网友评论