ThinkChat2.0新版上线,更智能更精彩,支持会话、画图、阅读、搜索等,送10W Token,即刻开启你的AI之旅 广告
## 集群规划 > 集群的机器一个主节点,两个从节点。从节点是由主节点bizzbee复制过来的完整虚拟机,所以一模一样。 ### 1.以复制的两个机器要修改主机名。 * 先清空主机名 ~~~ hostnamectl set-hostname "" hostnamectl set-hostname "" --static hostnamectl set-hostname "" --pretty ~~~ * 然后设置主机名(分别为bizzbee2,bizzbee3) ~~~ hostnamectl set-hostname bizzbee2 ~~~ * 重启 ### 创建ip和hostname映射,每台机器都要 ```cmd #比如在bizzbee主节点上 192.168.31.249 bizzbee 192.168.31.25 bizzbee3 192.168.31.19 bizzbee2 192.168.31.249 localhost # localhost映射到本机ip #非常重要!不要设置本机名--127.0.0.1的映射 ``` ### 安装ssh * 因为原来的机器bizzbee装过ssh,所以复制的两台也有。 * 考虑三台全部删掉家目录的.ssh文件夹,重新装。 * 删掉之后每台机器从新生成公钥`ssh-keygen -t rsa` *然后在主节点上将公钥分发到两个从节点和本机。 ``` ssh-copy-id -i ~/.ssh/id_rsa.pub bizzbee ssh-copy-id -i ~/.ssh/id_rsa.pub bizzbee2 ssh-copy-id -i ~/.ssh/id_rsa.pub bizzbee3 ``` > 这里是为了主节点可以和从节点免密码ssh通讯,从节点之间并没有设置。 ### 安装JDK * 由于从节点都是从主节点复制的,主节点已经在之前配置好了JDK。 ### HADOOP安装 * hadoop-env.sh这个配置文件里面要配置JAVA_HOME,同理,复制的机器都配置好了。 * core-site.xml 这个配置文件,三台机器一样。定义了主节点。 ``` <property> <name>fs.default.name</name> <value>hdfs://bizzbee:8020</value> </property> ``` * hdfs-site.xml 这个文件也是三台机器一样。定义了hdfs的目录。 ``` <property> <name>hadoop.tmp.dir</name> <value>/home/bizzbee/work/hadooptmp</value> </property> <property> <name>dfs.namenode.name.dir</name> <value>/home/bizzbee/work/hadooptmp/dfs/name</value> </property> <property> <name>dfs.datanode.data.dir</name> <value>/home/bizzbee/work/hadooptmp/dfs/data</value> </property> ``` * yarn-site.xml三台机器一样,定义了yarn的配置。 ``` <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.resourcemanager.hostname</name> <value>bizzbee</value> </property> ``` * mapred-site.xml三台机器一样 ``` <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> ``` * slaves 写六台机器的主机名,一行写一个。 * namenode格式化 `hadoop namenode -format` ### 启动hdfs * 如出现以下错误,删除:`/home/bizzbee/work/hadooptmp/dfs/data/`下的current文件夹。 * 启动时在主节点bizzbee启动,会自动启动从节点的DataNode。 ``` 2019-11-24 14:35:10,247 WARN org.apache.hadoop.hdfs.server.common.Storage: Failed to add storage directory [DISK]file:/home/bizzbee/work/hadooptmp/dfs/data/ java.io.IOException: Incompatible clusterIDs in /home/bizzbee/work/hadooptmp/dfs/data: namenode clusterID = CID-4f27c18c-191a-4718-af4c-478c37f4cea4; datanode clusterID = CID-af58c845-2b5c-4f1c-87a4-0da3e691d452 at org.apache.hadoop.hdfs.server.datanode.DataStorage.doTransition(DataStorage.java:779) at org.apache.hadoop.hdfs.server.datanode.DataStorage.loadStorageDirectory(DataStorage.java:302) at org.apache.hadoop.hdfs.server.datanode.DataStorage.loadDataStorage(DataStorage.java:418) at org.apache.hadoop.hdfs.server.datanode.DataStorage.addStorageLocations(DataStorage.java:397) at org.apache.hadoop.hdfs.server.datanode.DataStorage.recoverTransitionRead(DataStorage.java:575) at org.apache.hadoop.hdfs.server.datanode.DataNode.initStorage(DataNode.java:1560) at org.apache.hadoop.hdfs.server.datanode.DataNode.initBlockPool(DataNode.java:1520) at org.apache.hadoop.hdfs.server.datanode.BPOfferService.verifyAndSetNamespaceInfo(BPOfferService.java:354) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.connectToNNAndHandshake(BPServiceActor.java:219) at org.apache.hadoop.hdfs.server.datanode.BPServiceActor.run(BPServiceActor.java:673) at java.lang.Thread.run(Thread.java:748) ``` ### 启动YARN