ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
### 参考 * [VMware安装Centos7超详细过程(图文)](https://blog.csdn.net/babyxue/article/details/80970526) * [hadoop集群搭建(超详细版)](https://blog.csdn.net/code__online/article/details/80178032) * [ Hadoop集群环境搭建](https://blog.51cto.com/13670314/2164603) ### 集群搭建 归纳下环境准备: 1. vmware安装centos,并克隆多台虚机,配置静态IP 在此不再赘述,参考教程1,可完全实现; 2. 配置IP和hostname之间的映射,检测互相是否可以ping通; 备注几个关键点: 2.1 `hostname master`配置临时的节点别名; 2.2 `vi /etc/sysconfig/network`中`HOSTNAME=master`重启后可永久生效; 2.3 `hostname`与`ip`的映射关系配置在`/etc/hosts`, ```bash 192.168.111.150 master 192.168.111.151 slave1 192.168.111.152 slave2 192.168.111.153 slave3 ``` 3. JDK安装 3.1 检查JDK的版本,`java -version` 3.2 如果显示有openjdk需要先卸载,再安装Oracle的jdk(其他版本的jdk对hadoop的一些命令不是很支持 3.3 `rpm -qa | grep java`查看java安装包信息 3.4 `rpm -e --nodeps java-1.7.0-openjdk-xxxxx`卸载对应的java包 3.5 tar java安装包到`/usr/java/jdk1.8.0_161`,然后配置环境变量,打开`/etc/profile`, ```bash export JAVA_HOME=/usr/java/jdk1.8.0_161/ export PATH=$JAVA_HOME/bin:$PATH export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar export JRE_HOME=$JAVA_HOME/jre ``` 通过`source /etc/profile`重置生效,`java -version`,得到如下结果: ![](https://box.kancloud.cn/eb89c39b16cf17e14f66227e8cc6f935_587x73.png) 以上准备工作完成,下面开始搭建hadoop ### 搭建hadoop #### 服务器功能规划 | master | slave1 | slave2 | --- | --- |--- |--- | | NameNode | SecondNameNode | ResourceManage | | DataNoe| DataNoe | DataNoe |NodeManager|NodeManager|NodeManager |History Server|| #### 解压hadoop 切换到/opt/modules/app/hadoop-2.7.3/etc/hadoop目录,配置该目录下的Hadoop JDK路径即修改hadoop-env.sh、mapred-env.sh、yarn-env.sh文件中的JDK路径 #### 修改配置文件 `core-site.xml` ```xml <configuration> <property> <!-- NameNode的地址--> <name>fs.defaultFS</name> <value>hdfs://master:8020</value> </property> <property> <!-- NameNode和DataNode的数据文件都会存在这个目录下的对应子目录下。应该保证此目录是存在的,如果不存在,先创建--> <name>hadoop.tmp.dir</name> <value>/opt/modules/app/hadoop-2.7.3/data/tmp </value> </property> <property> <name>dfs.namenode.name.dir</name> <value>file://${hadoop.tmp.dir}/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>file://${hadoop.tmp.dir}/dfs/data</value> </property> </configuration> ``` `hdfs-site.xml` ```xml <configuration> <property> <name>dfs.namenode.secondary.http-address</name> <value>slave1:50090</value> </property> </configuration> ``` 配置slaves,slaves文件是指定HDFS上有哪些DataNode节点 ``` master slave1 slave2 ``` 配置yarn-site.xml ```xml <configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>slave2</value> </property> <property> <name>yarn.log-aggregation-enable</name> <value>true</value> </property> <property> <name>yarn.log-aggregation.retain-seconds</name> <value>106800</value> </property> </configuration> ``` `mapred-site.xml` ```xml <configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> <property> <name>mapreduce.jobhistory.address</name> <value>master:10020</value> </property> <property> <name>mapreduce.jobhistory.webapp.address</name> <value>master:19888</value> </property> </configuration> ``` ![](https://box.kancloud.cn/7b141b1970c169f7c0e3d2f488af5b3b_1054x199.png)![](https://box.kancloud.cn/9e3d179f6f94ccf3b0d7ab68426c515d_944x106.png)