Ubuntu18.04安裝hadoop
一、虛擬機器中Linux的安裝
hadoop-0.20.2.tar.gz只能在Linux中安裝。
Hadoop相當於一個伺服器,類似於Apache伺服器的角色。我們可以在Linux上執行hadoop0.20.2。
二、Java的安裝
Hadoop是基於Java開發的,,在Linux配置好Java環境。
三、SSH的安裝、配置
在Linux中安裝SSH免登入認證,用於避免使用Hadoop時的許可權問題。
SSH的安裝命令:
sudo apt-get install ssh
ssh-keygen -t rsa
密碼輸入空
cd ~/.ssh cat id_rsa.pub >> authorized_keys ssh localhost
四、hadoop下載安裝
sudo tar -zxf hadoop-3.0.3.tar.gz -C /usr/local # 解壓到/usr/local中 cd /usr/local # 定位到/usr/local sudo mv ./hadoop-3.0.3/ ./hadoop # 將資料夾名改為hadoop sudo chown -R huyn ./hadoop # 修改檔案許可權
驗證是否安裝成功
cd /usr/local/hadoop
./bin/hadoop version
安裝成功會顯示版本
五、修改配置檔案
sudo gedit ./etc/hadoop/core-site.xml
<configuration> <property> <name>hadoop.tmp.dir</name> <value>file:/usr/local/hadoop/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> </configuration>
sudo gedit ./etc/hadoop/hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>file:/usr/local/hadoop/tmp/dfs/data</value>
</property>
<property>
<name>dfs.http.address</name>
<value>localhost:50070</value>
</property>
</configuration>
sudo gedit ./etc/hadoop/hadoop-env.sh
修改java環境變數(你安裝的位置)
export JAVA_HOME=/usr/lib/jvm/jdk1.8.0_171
執行 NameNode 的格式化:
sudo ./bin/hdfs namenode -format
開啟 NameNode 和 DataNode 守護程序
sudo ./sbin/start-dfs.sh
如果執行指令碼報如下錯誤,
ERROR: Attempting to launch hdfs namenode as root ERROR: but there is no HDFS_NAMENODE_USER defined. Aborting launch. Starting datanodes ERROR: Attempting to launch hdfs datanode as root ERROR: but there is no HDFS_DATANODE_USER defined. Aborting launch. Starting secondary namenodes [localhost.localdomain] ERROR: Attempting to launch hdfs secondarynamenode as root ERROR: but there is no HDFS_SECONDARYNAMENODE_USER defined. Aborting launch.
解決方案
(缺少使用者定義而造成的)因此編輯啟動和關閉
$ sudo vim sbin/start-dfs.sh $ sudo vim sbin/stop-dfs.sh
頂部空白處
HDFS_DATANODE_USER=huyn
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=huyn
HDFS_SECONDARYNAMENODE_USER=huyn
再次開啟 NameNode 和 DataNode 守護程序
sudo ./sbin/start-dfs.sh
啟動完成後,可以通過命令 jps 來判斷是否成功啟動
關閉命令sbin/stop-dfs.sh
可以開啟http://localhost:50070/檢視 NameNode 和 Datanode 資訊,還可以線上檢視 HDFS 中的檔案。