美文网首页
第二步:hadoop 完全分布式集群安装

第二步:hadoop 完全分布式集群安装

作者: 微生命 | 来源:发表于2018-12-21 17:42 被阅读0次

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

相关文章

网友评论

      本文标题:第二步:hadoop 完全分布式集群安装

      本文链接:https://www.haomeiwen.com/subject/wljvkqtx.html