日韩性视频-久久久蜜桃-www中文字幕-在线中文字幕av-亚洲欧美一区二区三区四区-撸久久-香蕉视频一区-久久无码精品丰满人妻-国产高潮av-激情福利社-日韩av网址大全-国产精品久久999-日本五十路在线-性欧美在线-久久99精品波多结衣一区-男女午夜免费视频-黑人极品ⅴideos精品欧美棵-人人妻人人澡人人爽精品欧美一区-日韩一区在线看-欧美a级在线免费观看

歡迎訪問 生活随笔!

生活随笔

當前位置: 首頁 > 编程资源 > 编程问答 >内容正文

编程问答

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

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

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

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

先配置一臺主機,后兩臺克隆即可,我這里搭建的主機用的圖形化界面,從節點用的最小安裝

ip和主機名
ip主機名
192.168.228.138chun1
192.168.228.139chun2
192.168.228.140chun3
把 ip 主機名 寫到/etc/hosts里,這里是映射,用來關聯你的另外的機器。

ip與主機名根據自己情況定義,下面會講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


把每臺對應的ip和主機名改掉

1- 改ip 進入

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

1.1 ls查看目錄

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

到VMware界面




到此網絡基本配置好了

1.2-更改主機名

分別在對應IP的主機中修改主機名:vi /etc/hostname 把localhost改成你的主機名


2配置ssh免密登錄:

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

在chun2上執行:scp /root/.ssh/id_rsa.pub root@chun1:/root/.ssh/id_rsa.pub002 在chun3上執行: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

然后把authorized_keys發給chun2,chun3,就可以實現三臺互通

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)上安裝之后在發送

3.安裝JDK

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

mkdir /usr/local/java

配置環境變量

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

刷新環境變量

source /etc/profile

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

[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會出現不兼容問題。詳情見我的hbase搭建。

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

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

配置環境變量

#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

刷新環境變量

source /etc/profile

進行測試是否成功

[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

創建目錄

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

進入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,把從節點名字寫進去,刪除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,把得到的內容復制到下面

[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>

到此配置基本結束,然后同步給另外兩臺虛擬機

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/
這里有個問題就是如果你的另外虛擬機local下有hadoop文件夾和java文件夾,他會放到你的java或者hadoop下,導致你的目錄會又多了一層。可以這樣解決,或者簡單粗暴直接刪除原來的文件夾:
進入到local下 使用命令scp hadoop/ chun2:$PWD 這樣進行傳輸,會覆蓋掉。PWD表示當前你所進入的目錄

然后刷新兩個從節點環境變量

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

格式化節點

在主節點上執行

hdfs namenode -format

運行之后不報錯,并在倒數第五六行有successfully即為格式化節點成功

啟動hadoop集群的服務

start-all.sh

輸入jps可以查看進程

chun1上會有namenode

chun2、chun3上有datanode

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

查看yarn的web端

總結

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

如果覺得生活随笔網站內容還不錯,歡迎將生活随笔推薦給好友。