1. 程式人生 > >Ubuntu18.04安裝hadoop

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 中的檔案。