好程序员大数据学习路线完全分布式集群的搭建搭建集群前的准备 1、四台服务器的时间必须同步 2、防火墙处于关闭状态 2、四台服务器必须装好jdk并且配置好环境变量 一、四台服务器集群格局 | 服务器 | NameNode | secondaryNameNode | DataNode | | :-----: | :------: | :---------------: | :------: | | Hadoop1 | 有 | | | | Hadoop2 | | 有 | 有 | | Hadoop3 | | | 有 | | Hadoop4 | | | 有 | 二、配置Hadoop1【以下操作在Hadoop1下执行】 1.配置hadoop-env.sh中的JDK路径 编辑hadoop-env.sh文件: ``` vi 【此处为Hadoop的安装位置】/etc/hadoop/hadoop-env.sh ``` 修改文件中的# The java implementation to use处! ``` export JAVA_HOME=【此处为jdk的安装路径】 ``` 2、指定NameNode的ip、fsimage等文件的存储位置 ①.辑core-site.xml文件文件 ``` vi 【此处为Hadoop的安装位置】/etc/hadoop/core-site.xml ``` ②.指定NameNode服务器位置 在文件中添加以如下代码: - <font size="3"> <property>
- <name>fs.defaultFS</name>
- <value>hdfs://【此处为Hadoop1的ip】:9000</value>
- </property></font>
复制代码
③.指定fsimage文件的存储位置 在文件中添加以如下代码: - <font size="3"><property>
- <name>hadoop.tmp.dir</name>
- <value>【指定fsimage文件的存储位置】</value>
- </property></font>
复制代码
例如:
3.指定副本数量、配置secondaryNameNode的启动 ①.编辑/hdfs-site.xml文件文件 ``` vi 【此处为Hadoop的安装位置】/etc/hadoop//hdfs-site.xml ``` ②.指定副本的数量 在文件中添加以如下代码: - <font size="3"><property>
- <name>dfs.replication</name>
- <value>【此处为副本数量】</value>
- </property></font>
复制代码
③.配置secondaryNameNode的启动 在文件中添加以如下代码: - <font size="3"><property>
- <name>dfs.namenode.secondary.http-address</name>
- <value>【此处hadoop2的IP】:50090</value>
- </property></font>
复制代码
例如:
3.指定DataNode节点的ip 编辑slaves文件 ``` vi 【此处为Hadoop的安装位置】/etc/hadoop/slaves ``` 在文件中写入所有DataNode节点的IP 例如: 三、分发安装包给hadoop2、hadoop3、hadoop4 分别执行下面三条代码: ``` scp -r 【此处为Hadoop的安装位置】 hadoop2:/opt/software/ ``` ``` scp -r 【此处为Hadoop的安装位置】 hadoop3:/opt/software/ ``` ``` scp -r 【此处为Hadoop的安装位置】 hadoop4:/opt/software/ ``` 四、配置每台服务器的Hadoop环境变量 1.编辑profile文件 ``` vi /etc/profile ``` 2.在文件末插入如下两行 ``` export HADOOP_HOME=【此处为Hadoop的安装位置】 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin: ``` 五、格式化nameNode 在Hadoop1上运行如下代码 ``` hadoop namenode -format ``` 注意:格式化成功后就不要再格式化了 格式化成功的标志如下图: 六、启动/停止集群 全部启动/停止 ``` start-all.sh stop-all.sh ``` 模块化开启/停止
start-dfs.sh stop-dfs.sh
单个角色启动/停止
hadoop-daemo.sh start namenode/datanode/secondarynamenode hadoop-daemo.sh stop namenode/datanode/secondarynamenode 好程序员大数据培训官网:http://www.goodprogrammer.org/
|