Linux下如何快速安裝Hadoop
本文轉(zhuǎn)載自微信公眾號(hào)「Java極客技術(shù)」,作者鴨血粉絲。轉(zhuǎn)載本文請(qǐng)聯(lián)系Java極客技術(shù)公眾號(hào)。
大家都對(duì)大數(shù)據(jù)感興趣,但是大家都沒有想去如何實(shí)踐到地方,如何落實(shí)去學(xué)習(xí)Hadoop,我們學(xué)習(xí)任何一門技術(shù)的時(shí)候,都不用想,上來肯定是去安裝,然后去實(shí)踐,不得不說,現(xiàn)在你去網(wǎng)上搜索,如何安裝Hadoop,那很多出來的都是從 Unbutu 系統(tǒng)下如何安裝,很多也都講解的不是很清楚,阿粉也比較想學(xué)習(xí),所以就準(zhǔn)備了如何安裝 Hadoop 的 Linux 的教程,大家上手就能學(xué)習(xí)。阿粉就開始給大家寫一個(gè)安裝 Hadoop 的教程。
準(zhǔn)備工作
1.我們首先可以去阿里云或者華為云去租用一臺(tái)服務(wù)器,畢竟一個(gè)初級(jí)版本的服務(wù)器,也沒有那么貴,阿粉還是用的之前租用的那臺(tái),我們選擇安裝 Linux8 的版本,如果是本機(jī)的話,你需要下載 CentOS8 的鏡像,然后通過虛擬機(jī)安裝到 VM 上就可以了,安裝完成我們就可以開始安裝 Hadoop 了
我們先說說 Hadoop 都能干啥,以及人們經(jīng)常對(duì) Hadoop 誤解。
Hadoop主要是分布式計(jì)算和存儲(chǔ)的框架,所以Hadoop工作過程主要依賴于HDFS(Hadoop Distributed File System)分布式存儲(chǔ)系統(tǒng)和Mapreduce分布式計(jì)算框架。
但是很多人就會(huì)對(duì) Hadoop 產(chǎn)生一個(gè)誤解,有些非常捧 Hadoop 的人就會(huì)說,Hadoop 什么東西都可以做,實(shí)際上不是的,每一項(xiàng)技術(shù)的出現(xiàn),都是對(duì)應(yīng)著解決不同的問題的,比如我們接下來要學(xué)習(xí)的 Hadoop 。Hadoop適合來做數(shù)據(jù)分析,但是絕對(duì)不是 BI ,傳統(tǒng) BI 是屬于數(shù)據(jù)展現(xiàn)層(Data Presentation),Hadoop就是專注在半結(jié)構(gòu)化、非結(jié)構(gòu)化數(shù)據(jù)的數(shù)據(jù)載體,跟BI是不同層次的概念。
還有人說 Hadoop 就是 ETL ,就相當(dāng)于數(shù)據(jù)處理,但是,Hadoop 并不是一個(gè)絕對(duì)意義上的 ETL 。
安裝 Hadoop 教程
1.安裝SSH
- yum install openssh-server
OpenSSH是Secure Shell的一個(gè)開源實(shí)現(xiàn),OpenSSH Server安裝完成后在/etc/init.d目錄下應(yīng)該會(huì)增加一個(gè)名為sshd的服務(wù),一會(huì)我們就要把生成的密鑰放到指定位置,然后用來當(dāng)作之后的身份驗(yàn)證。
2.安裝 rsync
- yum -y install rsync
3.產(chǎn)生 SSH 密鑰之后繼續(xù)進(jìn)行后續(xù)的身份驗(yàn)證
- ssh-keygen -t dsa -P '' -f ~/.ssh/id_dsa
4.把產(chǎn)生的密鑰放入許可文件中
- cat ~/.ssh/id_dsa.pub >> ~/.ssh/authorized_keys
安裝Hadoop
安裝 Hadoop 之前我們要先把 JDK 安裝好,配置好環(huán)境變量,出現(xiàn)下面這個(gè)樣子,就說明 JDK 已經(jīng)安裝完成了。
1.解壓Hadoop
我們先要把 Hadoop 放到我們的服務(wù)器上,就像阿粉這個(gè)樣子,
然后解壓 tar zxvf hadoop-3.3.1.tar.gz
2.修改bashrc文件
vim ~/.bashrc
- export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64/
- export HADOOP_HOME=/usr/local/hadoop
- export PATH=$PATH:$HADOOP_HOME/bin
- export PATH=$PATH:$HADOOP_HOME/sbin
- export HADOOP_MAPRED_HOME=$HADOOP_HOME
- export HADOOP_COMMON_HOME=$HADOOP_HOME
- export HADOOP_HDFS_HOME=$HADOOP_HOME
- export YARN_HOME=$HADOOP_HOME
- export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
- export HADOOP_OPTS="-DJava.library.path=$HADOOP_HOME/lib"
- export JAVA_LIBRARY_PATH=$HADOOP_HOME/lib/native:$JAVA_LIBRARY_PATH
復(fù)制到文件中保存退出
3.生效文件
source ~/.bashrc
4.修改配置文件 etc/hadoop/core-site.xml
- <property>
- <name>fs.defaultFS</name>
- <value>hdfs://localhost:9000</value>
- </property>
- <!-- 緩存存儲(chǔ)路徑 -->
- <property>
- <name>hadoop.tmp.dir</name>
- <value>/app/hadooptemp</value>
- </property>
5.修改 etc/hadoop/hdfs-site.xml
- <!-- 默認(rèn)為3,由于是單機(jī),所以配置1 -->
- <property>
- <name>dfs.replication</name>
- <value>1</value>
- </property>
- <!-- 配置http訪問地址 -->
- <property>
- <name>dfs.http.address</name>
- <value>0.0.0.0:9870</value>
- </property>
6.修改 etc/hadoop/hadoop-env.sh
- export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
7.修改etc/hadoop/yarn-env.sh文件
- export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-1.8.0.212.b04-0.el7_6.x86_64
8.修改sbin/stop-dfs.sh文件,在頂部增加
- HDFS_NAMENODE_USER=root
- HDFS_DATANODE_USER=root
- HDFS_SECONDARYNAMENODE_USER=root
- YARN_RESOURCEMANAGER_USER=root
- YARN_NODEMANAGER_USER=root
9.修改sbin/start-dfs.sh文件,在頂部增加
- HDFS_NAMENODE_USER=root
- HDFS_DATANODE_USER=root
- HDFS_SECONDARYNAMENODE_USER=root
- YARN_RESOURCEMANAGER_USER=root
- YARN_NODEMANAGER_USER=root
9-1.修改start-yarn.sh 文件
- YARN_RESOURCEMANAGER_USER=root
- HADOOP_SECURE_DN_USER=yarn
- YARN_NODEMANAGER_USER=root
9-2.修改stop-yarn.sh文件
- YARN_RESOURCEMANAGER_USER=root
- HADOOP_SECURE_DN_USER=yarn
- YARN_NODEMANAGER_USER=root
上面的這些命令主要是用于當(dāng)你啟動(dòng) Hadoop 的時(shí)候,會(huì)提示認(rèn)證不通過。
10.格式化,進(jìn)入hadoop的bin文件夾,執(zhí)行下面的命令
- ./hdfs namenode -format
11.進(jìn)入sbin文件夾,啟動(dòng)hadoop
- ./start-dfs.sh
也可以直接全部啟動(dòng) ./start-all.sh
然后直接訪問8088端口即可
12.防火墻開啟端口,如果用的云服務(wù)器,請(qǐng)將9870端口加入安全組出入口
- //添加9870端口到防火墻
- firewall-cmd --zone=public --add-port=9870/tcp --permanent
- //重啟防火墻
- firewall-cmd --reload
13.輸入 jps 如果是如果是4個(gè)或者5個(gè)就配置成功,再繼續(xù)
通過web訪問hadoop,訪問地址:http://IP地址:9870
當(dāng)我們看到這個(gè)的時(shí)候,說明我們已經(jīng)安裝成功了。注意,Hadoop3.x 版本的看 Hadoop Web端的端口沒有變化,但是 HDFS 端 則由 50070 變成了 9870 這個(gè)需要注意一下呦,你學(xué)會(huì)了么?