目录
1.部署所需环境
- JDK
- 关闭防火墙
- ssh 免密登录
2.集群规划
机器 | 服务 |
---|---|
192.168.179.131 (01.weisx.com) | DataNode、NodeManager、NameNode |
192.168.179.132 (02.weisx.com) | DataNode、NodeManager、ResourceManager |
192.168.179.133 (03.weisx.com) | DataNode、NodeManager、SecondaryNameNode |
以下第3到11步操作在192.168.179.131服务器上操作
3.解压,配置环境变量
1 )拷贝Hadoop安装包到01节点~/tools/目录
2)解压到~/opt/目录
tar -zxf hadoop-3.2.4.tar.gz -C /home/weisx/opt/
3)创建hadoop软链接
ln -s /home/weisx/opt/hadoop-3.2.4 /home/weisx/opt/hadoop
4 )配置环境变量
vi ~/.base_profile
#使环境变量生效: source ~/.bash_profile
4.创建 hadoop 运行时产生文件的存储目录
mkdir data
5.配置workers
vi /home/weisx/opt/hadoop/etc/hadoop/workers
6.配置hadoop-env.sh
配置jdk目录: export JAVA_HOME=/home/weisx/opt/jdk
7. 配置core-site.xml
配置hadoop集群名称、存储目录r等信息
<configuration>
<!-- 把多个 NameNode 的地址组装成一个集群 mycluster -->
<property>
<name>fs.defaultFS</name>
<value>hdfs://01.weisx.com:8020</value>
</property>
<!-- 指定 hadoop 运行时产生文件的存储目录 -->
<property>
<name>hadoop.tmp.dir</name>
<value>/home/weisx/opt/hadoop/data</value>
</property>
<!-- 在网页界面访问数据使用的用户名。默认值是一个不真实存在的用户,此用户权限很小,不能访问不同用户的数据。这保证了数据安全。也可以设置为hdfs和hadoop等具有较高权限的用户,但会导致能够登陆网页界面的人能看到其它用户数据。实际设置请综合考虑。如无特殊需求。使用默认值dr.who就好 -->
<property>
<name>hadoop.http.staticuser.user</name>
<value>weisx</value>
</property>
</configuration>
8.配置hdfs-site.xml
<configuration>
<!-- 数据块副本数为3 -->
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
<!-- NameNode 数据存储目录-->
<property>
<name>dfs.namenode.name.dir</name>
<value>file://${hadoop.tmp.dir}/name</value>
</property>
<!-- DataNode 数据存储目录-->
<property>
<name>dfs.datanode.data.dir</name>
<value>file://${hadoop.tmp.dir}/data</value>
</property>
<!-- NameNode 的 RPC 通信地址 -->
<property>
<name>dfs.namenode.rpc-address</name>
<value>01.weisx.com:8020</value>
</property>
<!-- NameNode 的 http 通信地址 -->
<property>
<name>dfs.namenode.http-address</name>
<value>01.weisx.com:9870</value>
</property>
<!-- secondary NameNode 的 http 通信地址 -->
<property>
<name>dfs.namenode.secondary.http-address</name>
<value>03.weisx.com:9868</value>
</property>
</configuration>
9.配置mapred-site.xml
<configuration>
<!-- 指定MapReduce程序运行在Yarn上 -->
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<!-- 历史服务器端地址 -->
<property>
<name>mapreduce.jobhistory.address</name>
<value>01.weisx.com:10020</value>
</property>
<!-- 历史服务器web端地址 -->
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>01.weisx.com:19888</value>
</property>
</configuration>
10.配置yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<!-- 执行MapReduce需要配置的shuffle过程 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<!-- 指定 rm1 的主机名 -->
<property>
<name>yarn.resourcemanager.hostname</name>
<value>02.weisx.com</value>
</property>
<!-- 环境变量的继承 -->
<property>
<name>yarn.nodemanager.env-whitelist</name>
<value>JAVA_HOME,HADOOP_COMMON_HOME,HADOOP_HDFS_HOME,HADOOP_CONF_DIR,CLASSPATH_PREPEND_DISTCACHE,HADOOP_YARN_HOME,HADOOP_MAPRED_HOME,SPARK_HOME</value>
</property>
<!-- 开启日志聚集功能 -->
<property>
<name>yarn.log-aggregation-enable</name>
<value>true</value>
</property>
<!-- 设置日志聚集服务器地址 -->
<property>
<name>yarn.log.server.url</name>
<value>http://01.weisx.com:19888/jobhistory/logs</value>
</property>
<!-- 设置日志保留时间为 7 天 -->
<property>
<name>yarn.log-aggregation.retain-seconds</name>
<value>604800</value>
</property>
</configuration>
11.分发hadoop到其他服务器
scp -r /home/weisx/opt/hadoop-3.2.4 02.weisx.com:~/opt
scp -r /home/weisx/opt/hadoop-3.2.4 03.weisx.com:~/opt
以下第12步操作在192.168.179.132服务器上操作
12.配置第二台服务器的hadoop
1 ) 创建hadoop软链接
ln -s /home/weisx/opt/hadoop-3.2.4 /home/weisx/opt/hadoop
2)配置环境变量
vi ~/.base_profile
#使环境变量生效: source ~/.bash_profile
以下第13步操作在192.168.179.133服务器上操作
13.配置第三台服务器的hadoop
1 ) 创建hadoop软链接
ln -s /home/weisx/opt/hadoop-3.2.4 /home/weisx/opt/hadoop
2)配置环境变量
vi ~/.base_profile
#使环境变量生效: source ~/.bash_profile
以下第14步操作在192.168.179.131服务器上操作
14.启动Hadoop集群
1)注意只格式化一次,之后再格式化会使数据丢失
hdfs namenode -format
2)启动HDFS
start-dfs.sh
3)启动YARN(在192.168.179.132上执行)
start-yarn.sh
5)Web 端查看 HDFS 的 NameNode
15.测试Hadoop集群
1)在192.168.179.131服务器上上传文件到hadoop集群
2)在192.168.179.132查看hadoop集群文件