本文通過使用Centos8(Docker)作為系統環境,一步步搭建出Hadoop3.1.3,其間順便搭建java環境。
安裝包:
hadoop-3.1.3.tar.gz
jdk-8u162-linux-x64.tar.gz
為了方便管理可以創建一個hadoop用戶賬號,添加密碼,增加管理員權限,
[root@e22c6017dd9b /]# useradd hadoop [root@e22c6017dd9b /]# passwd hadoop
[root@e22c6017dd9b /]# chmod -v u+w /etc/sudoers
[root@e22c6017dd9b /]# vim /etc/sudoers #找到root ALL=(ALL) ALL 然后添加hadoop ALL=(ALL) ALL 如需新用戶使用sudo時不用輸密碼,把最后一個ALL改為NOPASSWD:ALL即可。
[root@e22c6017dd9b /]# chmod -v u-w /etc/sudoers
[root@e22c6017dd9b /]# su hadoop
[hadoop@e22c6017dd9b /]$ sudo -l
ps:這里我出現了一點小問題,提示
bash: passwd: command not found
直接安裝就好了
[root@e22c6017dd9b /]# dnf update [root@e22c6017dd9b /]# dnf install passwd -y
這里我沒有找到/etc/sudoers文件,推測應該是沒有安裝sudo,還是一樣,直接安裝就好了
[root@e22c6017dd9b /]#dnf install sudo -y
看林子雨老師說的集群、單節點模式都需要用到 SSH 登陸(類似於遠程登陸,你可以登錄某台 Linux 主機,並且在上面運行命令),還需要安裝 SSH server
http://dblab.xmu.edu.cn/blog/2441-2/
安裝ssh客戶端和server
[root@e22c6017dd9b /]# yum install openssh-clients -y
[root@e22c6017dd9b /]# yum install openssh-server -y
[hadoop@e22c6017dd9b /]$ ssh localhost #登錄本機(1)
exit # 退出剛才的 ssh localhost cd ~/.ssh/ # 若沒有該目錄,請先執行一次ssh localhost ssh-keygen -t rsa # 會有提示,都按回車就可以 cat ./id_rsa.pub >> ./authorized_keys # 加入授權
這里有個題外話
# usermod -g root hadoop #這里順便弄了下
弄好后把宿主機上面的文件拉過去
[root@iZwz9g27qld9va1076x1rrZ ~]# docker cp jdk-8u162-linux-x64.tar.gz eeadbd63f1cb:/home/hadoop
安裝java環境
先找地方存放好jdk文件
cd /usr/lib sudo mkdir jvm #創建/usr/lib/jvm目錄用來存放JDK文件 cd ~ #進入hadoop用戶的主目錄 cd home/hadoop #注意區分大小寫字母,剛才已經通過FTP軟件把JDK安裝包jdk-8u162-linux-x64.tar.gz上傳到該目錄下 sudo tar -zxvf ./jdk-8u162-linux-x64.tar.gz -C /usr/lib/jvm #把JDK文件解壓到/usr/lib/jvm目錄下
ls /usr/lib/jvm #jdk1.8.0_162目錄
開始配置環境
cd ~
vim ~/.bashrc
找個地方貼上去
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_162 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH
現在就可以刷新一下再看看有沒有成功
[hadoop@eeadbd63f1cb jvm]$ source ~/.bashrc [hadoop@eeadbd63f1cb jvm]$ java -version java version "1.8.0_162" Java(TM) SE Runtime Environment (build 1.8.0_162-b12) Java HotSpot(TM) 64-Bit Server VM (build 25.162-b12, mixed mode)
終於開始安裝Hadoop,我不知道該不該吐槽下我竟然弄了好久前面的那些,跟配置java一樣,先把文件拉過來再說
[root@iZwz9g27qld9va1076x1rrZ ~]# docker cp hadoop-3.1.3.tar.gz eeadbd63f1cb:/home/hadoop
然后解壓,改名,給權限
[hadoop@eeadbd63f1cb jvm]$ sudo tar -zxf ~/hadoop-3.1.3.tar.gz -C /usr/local [hadoop@eeadbd63f1cb ~]$ cd /usr/local/ [hadoop@eeadbd63f1cb local]$ sudo mv ./hadoop-3.1.3/ ./hadoop [hadoop@eeadbd63f1cb local]$ sudo chown -R hadoop ./hadoop
最后就可以檢查下是否可用
[hadoop@eeadbd63f1cb local]$ cd hadoop/ [hadoop@eeadbd63f1cb hadoop]$ ./bin/hadoop version Hadoop 3.1.3 Source code repository https://gitbox.apache.org/repos/asf/hadoop.git -r ba631c436b806728f8ec2f54ab1e289526c90579 Compiled by ztang on 2019-09-12T02:47Z Compiled with protoc 2.5.0 From source with checksum ec785077c385118ac91aadde5ec9799 This command was run using /usr/local/hadoop/share/hadoop/common/hadoop-common-3.1.3.jar