hadoop安裝腳本
① hadoop集群搭建(Hadoop 3.1.3 /Hive 3.1.2/Spark 3.0.0)
完全分布式HA
伺服器規劃
技術棧包含
hdfs
hive on spark
presto
doris
superset
azkaban
kafka
fluent\flume
sqoop\kettle\flink-cdc
atlas
禁用swap/selinux
修改 IP/修改主機名/及主機名和 IP 地址的映射
時間同步/設置時區/自動時間同步
關閉防火牆
關閉SELINUX
新建用戶
免密登錄(先升級openssh)
發送密鑰(dw01上執行)
授權
Tencent Kona v8.0.8-GA
騰訊開源的konaJDK,針對大數據場景下優化
解壓並重命名至安裝地址:/usr/local/java/
zookeeper-3.5.9
解壓並重命名至安裝地址:/usr/local/zookeeper
apache-hadoop-3.1.3 解壓至安裝地址:/usr/local/hadoop
修改環境變數
/usr/local/zookeeper/conf
啟動zookeeper集群(每台執行)
三台伺服器啟動
格式化namenode(dw01執行)
啟動namenode(dw01上執行)
在[nn2]和[nn3]上分別執行,同步 nn1 的元數據信息
啟動nn2 nn3,分別執行
所有節點上啟動datanode
將[nn1]切換為 Active
查看狀態
配置yarn-site.xml
配置mapred-site.xml
分發配置文件,啟動yarn(dw03 啟動)
dw03節點
dw01節點
dw01執行
dw03執行
測試樣例
啟動腳本
HA切換namenode手動
修改yarn顯示log的bug
② 如何在Hadoop環境下搭建Python
搭建 Python 環境在 Hadoop 上的步驟如下:
安裝 Hadoop:在你的計算機上安裝 Hadoop。
安裝 Python:請確保你的計孫拿算機上已經安裝了 Python。
配置 Hadoop 環境:編輯 Hadoop 的配置文件,以確保 Hadoop 可以與 Python 配合使用。
安裝相關模塊:請安裝所需的 Python 模塊,以便在 Hadoop 環境下使用 Python。
測試灶行 Python 安裝:請運行一些測試腳本,以確保 Python 可以在 Hadoop 環境下正常工作。
這些步驟可以幫助你在 Hadoop 環境下搭建 Python。請注意,具體的步驟可能因 Hadoop 的版本和環境而異,請仔細查則辯搭看相關文檔。
③ 如何配置Hadoop環境
資源下載
1、JDK下載:下載鏈接
2、hadoop:下載鏈接
3、下載完成後驗證一下下載,將計算的MD5值與官網的進行對比已驗證安裝包的准確性:
md5sum ./hadoop-2.6.*.tar.gz | tr "a-z" "A-Z" # 計算md5值,並轉化為大寫,方便比較1
一、創建Hadoop用戶
創建hadoop用戶,並分配以用戶名為家目錄/home/hadoop,並將其加入到sudo用戶組,創建好用戶之後,以hadoop用戶登錄:
sudo useradd -m hadoop -s /bin/bash sudo adser hadoop sudo
sudo passwd hadoop # 設置hadoop用戶密碼123
二、安裝JDK、Hadoop及配置環境變數
安裝,解壓JDK到/usr/lib/java/路徑下,Hadoop到/usr/local/etc/hadoop/路徑下:
tar zxf ./hadoop-2.6.*.tar.gz
mv ./hadoop-2.6.* /usr/local/etc/hadoop # 將 /usr/local/etc/hadoop作為Hadoop的安裝路徑12
解壓完成之後,可驗證hadoop的可用性:
cd /usr/local/etc/hadoop
./bin/hadoop version # 查看hadoop的版本信息12
若在此處,會出現類似以下的錯誤信息,則很有可能是該安裝包有問題。
Error: Could not find or load main class org.apache.hadoop.util.VersionInfo1
配置環境,編輯「/etc/profile」文件,在其後添加如下信息:
export HADOOP_HOME=/usr/local/etc/hadoopexport JAVA_HOME=/usr/lib/java/jdk1.8.0_45export JRE_HOME=${JAVA_HOME}/jreexport CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/libexport PATH=$PATH:${JAVA_HOME}/bin:${JRE_HOME}/bin:${HADOOP_HOME}/bin:${HADOOP_HOME}/sbin12345
使配置的變數生效:
source /etc/profile1
三、測試一下
在此我們可以運行一個簡單的官方Demo:
cd `echo $HADOOP_HOME` # 到hadoop安裝路徑
mkdir ./input
cp ./etc/hadoop/*.xml ./input
hadoop jar ./share/hadoop/maprece/hadoop-maprece-examples-*.jar grep ./input ./output 'dfs[a-z.]+'1234
輸出的結果應該會是:
1 dfsadmin 1
這里有一點需要注意,該Example程序運行時不能已存在output目錄,否則或將無法執行!
- 1 <?xml version="1.0" encoding="UTF-8"?>
- 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- 3 <!--
- 4 Licensed ...
- -->
- 18
- 19 <configuration>
- 20 <property>
- 21 <name>hadoop.tmp.dir</name>
- 22 <value>file:/home/hadoop/tmp</value>
- 23 <description>Abase for other temporary directories.</description>
- 24 </property>
- 25 <property>
- 26 <name>fs.default.name</name>
- 27 <value>hdfs://master:9000</value>
- 28 </property>
- 29 </configuration> 1234567891011121314151617
- 1 <?xml version="1.0" encoding="UTF-8"?>
- 2 <?xml-stylesheet type="text/xsl" href="configuration.xsl"?>
- 3 <!--
- 4 Licensed ...
- -->
- 18
- 19 <configuration>
- 20 <property>
- 21 <name>dfs.replication</name>
- 22 <value>1</value>
- 23 </property>
- 24 <property>
- 25 <name>dfs.namenode.name.dir</name>
- 26 <value>file:/home/hadoop/tmp/dfs/name</value>
- 27 </property>
- 28 <property>
- 29 <name>dfs.datanode.data.dir</name>
- 30 <value>file:/home/hadoop/tmp/dfs/data</value>
- 31 </property>
- 32 </configuration>
- hdfs namenode -format1
- hdfs dfsadmin -refreshNodes1
- hdfs dfs -mkdir /input
- hdfs dfs -put /usr/local/etc/hadoop/etc/hadoop/*.xml /input12
- hadoop jar /usr/local/etc/hadoop/share/hadoop/maprece/hadoop-maprece-examples-*.jar grep /input /output 'dfs[a-z.]+'1
四、Hadoop的偽分布式環境搭建
什麼是偽分布式?Hadoop 偽分布式模式是在一台機器上模擬Hadoop分布式,單機上的分布式並不是真正的分布式,而是使用線程模擬的分布式。分布式和偽分布式這兩種配置也很相似,唯一不同的地方是偽分布式是在一台機器上配置,也就是名位元組點(namenode)和數據節點(datanode)均是同一台機器。
需要配置的文件有core-site.xml和hdfs-site.xml這兩個文件他們都位於${HADOOP_HOME}/etc/hadoop/文件夾下。
其中core-site.xml:
文件hdfs-site.xml的配置如下:
配置完成後,執行格式化命令,使HDFS將制定的目錄進行格式化:
若格式化成功,在臨近輸出的結尾部分可看到如下信息:
如果發現並沒有出現如上信息,則使用刷新節點命令進行刷新:
八、HDFS集群實例測試
依然是之前的那個示例,首先,創建一個數據源文件夾,並添加數據:
運行maprece示例:
holding…
④ HADOOP安裝(安裝詳情私)-
2.1 准備
克隆三台虛擬機:hadoop102 hadoop103 hadoop104,
修改克隆虛擬機的靜態 IP:vim /etc/sysconfig/network-scripts/ifcfgens33
修改主機名稱 vim /etc/hostname
配置 Linux 克隆機主機名稱映射 hosts 文件:vim /etc/hosts
reboot
安裝 JDK 前,一定確保提前刪除了虛擬機自帶的 JDK
解壓、配置 JDK 環境變數,測試:java -version
Hadoop 下載地址:https://archive.apache.org/dist/hadoop/common/hadoop-3.1.3/
解壓、將 Hadoop 添加到環境變數
2.2 Hadoop 重要目錄
bin 目錄:存放對 Hadoop 相關服務(hdfs,yarn,mapred)進行操作的腳本
etc 目錄:Hadoop 的配置文件目錄,存放 Hadoop 的配置文件
lib 目錄:存放 Hadoop 的本地庫(對數據進行壓縮解壓縮功能)
sbin 目錄:存放啟動或停止 Hadoop 相關服務的腳本
share 目錄:存放 Hadoop 的依賴 jar 包、文檔、和官方案例
2.3 Hadoop運行模式
Hadoop 運行模式包括:本地模式、偽分布式模式以及完全分布式模式
本地模式:單機運行,只是用來演示一下官方案例。生產環境不用。
偽分布式模式:也是單機運行,但是具備 Hadoop 集群的所有功能,一台伺服器模 擬一個分布式的環境。個別缺錢的公司用來測試,生產環境不用。
完全分布式模式:多台伺服器組成分布式環境。生產環境使用。
完全分布式運行模式(開發重點) 分析:1)准備 3 台客戶機(關閉防火牆、靜態 IP、主機名稱) 2)安裝 JDK 3)配置環境變數 4)安裝 Hadoop 5)配置環境變數 6)配置集群 7)單點啟動 8)配置 ssh 9)群起並測試集群
編寫集群分發腳本 xsync
scp安全拷貝語法:
scp -r $pdir/$fname $user@$host:$pdir/$fname
命令 遞歸 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱
rsync 遠程同步工具語法:
rsync -av $pdir/$fname $user@$host:$pdir/$fname
命令 選項參數 要拷貝的文件路徑/名稱 目的地用戶@主機:目的地路徑/名稱
rsync 和 scp 區別:用 rsync 做文件的復制要比 scp 的速度快,rsync 只對差異文件做更 新。scp 是把所有文件都復制過去。
rsync 主要用於備份和鏡像。具有速度快、避免復制相同內容和支持符號鏈接的優點。
SSH 無密登錄配置
命令:ssh-keygen -t rsa
然後敲(三個回車),就會生成兩個文件 id_rsa(私鑰)、id_rsa.pub(公鑰)
將公鑰拷貝到要免密登錄的目標機器上:ssh--id hadoop102
2.4 集群安裝
注意
NameNode 和 SecondaryNameNode 不要安裝在同一台伺服器
ResourceManager 也很消耗內存,不要和 NameNode、SecondaryNameNode 配置在 同一台機器上。
Hadoop 配置文件分兩類:默認配置文件和自定義配置文件,只有用戶想修改某一默認 配置值時,才需要修改自定義配置文件,更改相應屬性值
自定義配置文件:core-site.xml、hdfs-site.xml、yarn-site.xml、mapred-site.xml 四個配置文件存放在 $HADOOP_HOME/etc/hadoop 這個路徑
⑤ 如何搭建50t的hadoop集群
先決條件
確保在你集群中的每個節點上都安裝了所有必需軟體。
獲取Hadoop軟體包。
安裝
安裝Hadoop集群通常要將安裝軟體解壓到集群內的所有機器上。
通常,集群里的一台機器被指定為 NameNode,另一台不同的機器被指定為JobTracker。這些機器是masters。餘下的機器即作為DataNode也作為TaskTracker。這些機器是slaves。
我們用HADOOP_HOME指代安裝的根路徑。通常,集群里的所有機器的HADOOP_HOME路徑相同。
配置
接下來的幾節描述了如何配置Hadoop集群。
配置文件
對Hadoop的配置通過conf/目錄下的兩個重要配置文件完成:
hadoop-default.xml - 只讀的默認配置。
hadoop-site.xml - 集群特有的配置。
要了解更多關於這些配置文件如何影響Hadoop框架的細節,請看這里。
此外,通過設置conf/hadoop-env.sh中的變數為集群特有的值,你可以對bin/目錄下的Hadoop腳本進行控制。
集群配置
要配置Hadoop集群,你需要設置Hadoop守護進程的運行環境和Hadoop守護進程的運行參數。
Hadoop守護進程指NameNode/DataNode 和JobTracker/TaskTracker。
配置Hadoop守護進程的運行環境
管理員可在conf/hadoop-env.sh腳本內對Hadoop守護進程的運行環境做特別指定。
至少,你得設定JAVA_HOME使之在每一遠端節點上都被正確設置。
管理員可以通過配置選項HADOOP_*_OPTS來分別配置各個守護進程。 下表是可以配置的選項。