日韩av黄I国产麻豆传媒I国产91av视频在线观看I日韩一区二区三区在线看I美女国产在线I麻豆视频国产在线观看I成人黄色短片

歡迎訪問 生活随笔!

生活随笔

當(dāng)前位置: 首頁 >

hadoop分布式集群搭建,包含网络配置-hadoop3环境

發(fā)布時間:2023/12/10 31 豆豆
生活随笔 收集整理的這篇文章主要介紹了 hadoop分布式集群搭建,包含网络配置-hadoop3环境 小編覺得挺不錯的,現(xiàn)在分享給大家,幫大家做個參考.

先準(zhǔn)備三臺或者五臺虛擬機(jī)(我這里寫三臺,實際我用的五臺)

在安裝centos時可以在選擇(最小安裝還是圖形化界面處)有配置網(wǎng)絡(luò)的,把網(wǎng)絡(luò)先配置好,這樣就不需要在重新配置了

先配置一臺主機(jī),后兩臺克隆即可,我這里搭建的主機(jī)用的圖形化界面,從節(jié)點(diǎn)用的最小安裝

ip和主機(jī)名
ip主機(jī)名
192.168.228.138chun1
192.168.228.139chun2
192.168.228.140chun3
把 ip 主機(jī)名 寫到/etc/hosts里,這里是映射,用來關(guān)聯(lián)你的另外的機(jī)器。

ip與主機(jī)名根據(jù)自己情況定義,下面會講ip地址怎么

echo '192.168.228.138 chun1' >>/etc/hosts echo '192.168.228.139 chun2' >>/etc/hosts echo '192.168.228.140 chun2' >>/etc/hosts


把每臺對應(yīng)的ip和主機(jī)名改掉

1- 改ip 進(jìn)入

[root@chun1 /]# cd /etc/sysconfig/network-scripts/

1.1 ls查看目錄

可以看到 ifcig-ens33文件,centos6與7不同,有的是ifcfig-etho,配置是一樣的。vi編譯此文件,來修改主機(jī)ip地址
BOOTPROTO=static NAME=ens33 DEVICE=ens33 ONBOOT=yes IPADDR=192.168.228.138 //這是你的主機(jī)ip NETMASK=255.255.255.0 //這是你的子網(wǎng)掩碼 GATEWAY=192.168.228.3 //這是你的網(wǎng)關(guān) DNS1=192.168.228.3 //第一個DNS1與網(wǎng)關(guān)相同 DNS2=114.114.114.114 //第二個用114.114.114
然后講怎么配置ip,子網(wǎng)掩碼,網(wǎng)關(guān)。

到VMware界面




到此網(wǎng)絡(luò)基本配置好了

1.2-更改主機(jī)名

分別在對應(yīng)IP的主機(jī)中修改主機(jī)名:vi /etc/hostname 把localhost改成你的主機(jī)名


2配置ssh免密登錄:

原理很簡單,先在每臺機(jī)器上生成秘鑰,ssh-keygen -t rsa,三次回車即可。然后把從節(jié)點(diǎn)/root/.ssh/id_rsa.pub發(fā)給主機(jī),并改名,要不然會被覆蓋

在chun2上執(zhí)行:scp /root/.ssh/id_rsa.pub root@chun1:/root/.ssh/id_rsa.pub002 在chun3上執(zhí)行:scp /root/.ssh/id rsa.pub root@chun1:/root/.ssh/id_rsa.pub003

然后在chun1中把三個id_rsa.pub加入到authorized_keys里

cat /root/.ssh/id_rsa.pub >> /root/.ssh/authorized_keys cat /root/.ssh/id_rsa.pub002 >> /root/.ssh/authorized_keys cat /root/.ssh/id_rsa.pub003 >> /root/.ssh/authorized_keys

然后把a(bǔ)uthorized_keys發(fā)給chun2,chun3,就可以實現(xiàn)三臺互通

scp /root/.ssh/authorized_keys root@chun2:/root/.ssh/authorized_keys scp /root/.ssh/authorized_keys root@chun3:/root/.ssh/authorized_keys

測試 --退出用exit

以下安裝都是在master(chun1)上安裝之后在發(fā)送

3.安裝JDK

下載jdk1.8.0,官網(wǎng)下載即可,下載后解壓,配置環(huán)境變量就行。(下載解壓就不講了)
我這里放在了/usr/local/java下java目錄自己創(chuàng)建的

mkdir /usr/local/java

配置環(huán)境變量

vi /etc/profile #在最后加上#JAVA JAVA_HOME=/usr/local/java/jdk1.8.0_221 #解壓后的jdk目錄名稱 JRE_JOME=/usr/local/java/jdk1.8.0_221/jre CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin export JAVA_HOME JRE_JOME CLASS_PATH PATH

刷新環(huán)境變量

source /etc/profile

測試輸入java -version,java,javac分別查看,出來很多內(nèi)容即是成功

[root@chun1 ~]# java -version openjdk version "1.8.0_181" OpenJDK Runtime Environment (build 1.8.0_181-b13) OpenJDK 64-Bit Server VM (build 25.181-b13, mixed mode)

4.安裝hadoop 這里用的2.7.7 ,暫時別用3和2.8.5,后面配置hbase會出現(xiàn)不兼容問題。詳情見我的hbase搭建。

我這里官方下載的2.7.7下載bin類型。下載后解壓到/usr/loacl/hadoophadoop為自己創(chuàng)建的文件夾

tar -zxf hadoop-2.7.7.tar.gz -C /usr/local/hadoop/

配置環(huán)境變量

#HADOOP export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7 export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin #zookeeper export ZOOKEEPER_PREFIX=/usr/local/zookeeper/zookeeper-3.4.6 export PATH=$PATH:$ZOOKEEPER_PREFIX/bin

刷新環(huán)境變量

source /etc/profile

進(jìn)行測試是否成功

[root@chun1 ~]# hadoop version Hadoop 2.7.7 Subversion Unknown -r c1aad84bd27cd79c3d1a7dd58202a8c3ee1ed3ac Compiled by stevel on 2018-07-18T22:47Z Compiled with protoc 2.5.0 From source with checksum 792e15d20b12c74bd6f19a1fb886490 This command was run using /usr/local/hadoop/hadoop-2.7.7/share/hadoop/common/hadoop-common-2.7.7.jar

5.配置Hadoop

創(chuàng)建目錄

#在/usr/local/hadoop目錄下創(chuàng)建目錄 cd /usr/local/hadoop/ mkdir tmp mkdir var mkdir dfs mkdir dfs/name mkdir dfs/data
修改配置文件

進(jìn)入hadoop-2.7.7/etc/hadoop下

cd /usr/local/hadoop/hadoop-3.7.7/etc/hadoop

(1) hadoop-env.sh

在# JAVA_HOME=/usr/java/testing hdfs dfs -ls一行下面添加如下代碼 export JAVA_HOME=/usr/local/java/jdk1.8.0_221 export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.7 export HDFS_NAMENODE_USER=root export HDFS_DATANODE_USER=root export HDFS_SECONDARYNAMENODE_USER=root export YARN_RESOURCEMANAGER_USER=root export YARN_NODEMANAGER_USER=root

(2)修改slaves,把從節(jié)點(diǎn)名字寫進(jìn)去,刪除localhost,hadoop3是修改workers。

chun2 chun3

下面在各個文件的< configuration> < /configuration>中添加

(3)修改core-site.xml

<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://192.168.228.138:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/tmp</value> </property> </configuration>

(4)hdfs-site.xml

<property><name>dfs.name.dir</name><value>/usr/local/hadoop/dfs/name</value><description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description> </property> <property><name>dfs.data.dir</name><value>/usr/local/hadoop/dfs/data</value><description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description> </property> <property> <name>dfs.namenode.http-address</name> <value>192.168.228.138:50070</value> </property> <property> <name>dfs.namenode.secondary.http-address</name> <value>192.168.228.138:50090</value> </property> <property><name>dfs.replication</name><value>4</value> </property> <property><name>dfs.permissions</name><value>false</value><description>need not permissions</description> </property>

(5)mapred-site.xml

<property><name>mapred.job.tracker</name><value>chun1:49001</value> </property> <property><name>mapred.local.dir</name><value>/usr/local/hadoop/var</value> </property> <property><name>mapreduce.framework.name</name><value>yarn</value> </property>

(6) yarn-site.xml

在命令行輸入 hadoop classpath,把得到的內(nèi)容復(fù)制到下面

[root@chun1 ~]# hadoop classpath /usr/local/hadoop/hadoop-2.7.7/etc/hadoop:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/common/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/common/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/hdfs:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/hdfs/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/hdfs/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/yarn/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/yarn/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/mapreduce/lib/*:/usr/local/hadoop/hadoop-2.7.7/share/hadoop/mapreduce/*:/usr/local/hadoop/hadoop-2.7.7/contrib/capacity-scheduler/*.jar <property> <name>yarn.resourcemanager.hostname</name> <value>node1</value> </property> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> <property> <name>yarn.application.classpath</name> <value>輸入剛才返回的Hadoop classpath路徑</value> //這里借鑒了別人的 </property>

到此配置基本結(jié)束,然后同步給另外兩臺虛擬機(jī)

scp -r /usr/local/java chun2:/usr/local/java scp -r /usr/local/hadoop chun2:/usr/local/hadoop scp -r /etc/profile chun2:/etc/scp -r /usr/local/java chun3:/usr/local/java scp -r /usr/local/hadoop chun3:/usr/local/hadoop scp -r /etc/profile chun3:/etc/
這里有個問題就是如果你的另外虛擬機(jī)local下有hadoop文件夾和java文件夾,他會放到你的java或者h(yuǎn)adoop下,導(dǎo)致你的目錄會又多了一層??梢赃@樣解決,或者簡單粗暴直接刪除原來的文件夾:
進(jìn)入到local下 使用命令scp hadoop/ chun2:$PWD 這樣進(jìn)行傳輸,會覆蓋掉。PWD表示當(dāng)前你所進(jìn)入的目錄

然后刷新兩個從節(jié)點(diǎn)環(huán)境變量

ssh chun2 source /etc/profilessh chun3 source /etc/profile

格式化節(jié)點(diǎn)

在主節(jié)點(diǎn)上執(zhí)行

hdfs namenode -format

運(yùn)行之后不報錯,并在倒數(shù)第五六行有successfully即為格式化節(jié)點(diǎn)成功

啟動hadoop集群的服務(wù)

start-all.sh

輸入jps可以查看進(jìn)程

chun1上會有namenode

chun2、chun3上有datanode

在瀏覽器上訪問192.168.228.138:50070 查看hdfs的web界面(前面是主節(jié)點(diǎn)的ip后面是端口)

查看yarn的web端

總結(jié)

以上是生活随笔為你收集整理的hadoop分布式集群搭建,包含网络配置-hadoop3环境的全部內(nèi)容,希望文章能夠幫你解決所遇到的問題。

如果覺得生活随笔網(wǎng)站內(nèi)容還不錯,歡迎將生活随笔推薦給好友。