阿里雲伺服器16.04安裝Hadoop 完美解決方案
阿新 • • 發佈:2018-12-12
ubuntu16.04 阿里雲伺服器安裝 hadoop
一、準備
-
建立hadoop使用者(這個沒有必要,我就沒有弄)
$ sudo useradd -m hadoop -s /bin/bash #建立hadoop使用者,並使用/bin/bash作為shell $ sudo passwd hadoop #為hadoop使用者設定密碼,之後需要連續輸入兩次密碼 $ sudo adduser hadoop sudo #為hadoop使用者增加管理員許可權 $ su - hadoop #切換當前使用者為使用者hadoop $ sudo apt-get update #更新hadoop使用者的apt,方便後面的安裝
-
安裝SSH,設定SSH無密碼登陸(有必要,不然你就使勁輸入密碼吧)
$ sudo apt-get install openssh-server #安裝SSH server $ ssh localhost #登陸SSH,第一次登陸輸入yes $ exit #退出登入的ssh localhost $ cd ~/.ssh/ #如果沒法進入該目錄,執行一次ssh localhost $ ssh-keygen -t rsa
輸入完 $ ssh-keygen -t rsa 語句以後,需要連續敲擊三次回車
之後再輸入:
$ cat ./id_rsa.pub >> ./authorized_keys #加入授權
$ ssh localhost #此時已不需密碼即可登入localhost,並可見下圖。如果失敗則可
然後安裝Java,設定Java環境變數
然後安裝 hadoop ,設定環境變數和相關內容
相關內容可以參考這篇部落格,傳送門
我的相關配置 vim ~/.bashrc
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk-amd64 export JRE_HOME=${JAVA_HOME}/jre export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib export PATH=${JAVA_HOME}/bin:$PATH export HADOOP_HOME=/usr/local/hadoop export CLASSPATH=$($HADOOP_HOME/bin/hadoop classpath):$CLASSPATH export HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native export PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
相關操作
1. 先到hadoop主目錄 跳轉到sbin
2. 啟動服務
start-all.sh
3.關閉服務
stop-all.sh
1、通過
http://127.0.0.1:8088/
即可檢視叢集所有節點狀態:
2、訪問 http://localhost:9870/
即可檢視檔案管理頁面:
3、通過hadoop命令列進行檔案操作:
mkdir命令建立目錄:hadoop fs -mkdir hdfs://localhost:9000/user
4 、 ls命令檢視指定目錄檔案列表:hadoop fs -ls hdfs://localhost:9000/user/
hadoop 測試
1 先啟動服務
start-all.sh
2. 檢視資料夾
hdfs dfs -ls /
3.建立資料夾
hdfs dfs -mkdir /test
hdfs dfs -mkdir /test2
4. 複製檔案從本地
hdfs dfs -copyFromLocal /usr/local/1.txt /test/
5. hdfs dfs -copyToLocal /test/1.txt /home/a
hdfs dfs -copyToLocal /test/1.txt /usr/local/src/
6. 檢視檔案
hdfs dfs -cat /test/s.txt
7. 從HDFS下載到複製到本地,並且還可以重新命名
hdfs dfs -copyToLocal /test/1.txt /usr/local/src/3.txt
8. 更改許可權
hdfs dfs -chmod 777
ubuntu 16.04搭建hadoop
這是我要是的重點,問題的解決
問題 一、 Hadoop之—— WARN util.NativeCodeLoader: Unable to load native-hadoop library for your platform…
問題二、hadoop上傳檔案錯誤org.apache.hadoop.ipc.RemoteException(java.io.IOException)
使用 `hadoop dfsadmin -report` 命令檢視磁碟使用情況
怎麼在瀏覽器中找到阿里雲伺服器對應的HDFS線上檢視網址?
1- 用jps
檢視
其作用是顯示當前系統的java程序情況,及其id號
[email protected]:/# jps
12066 ResourceManager
11914 SecondaryNameNode
24330 Jps
11596 NameNode -----------------------------------》》》》》11596
11740 DataNode -----------------------------------》》》》》11740
12175 NodeManager
[email protected]:/#
2. netstat -ntlp
檢視埠號
[email protected]:/# netstat -ntlp
Active Internet connections (only servers)
Proto Recv-Q Send-Q Local Address Foreign Address State PID/Program name
tcp 0 0 0.0.0.0:8040 0.0.0.0:* LISTEN 12175/java
tcp 0 0 127.0.0.1:9000 0.0.0.0:* LISTEN 11596/java
tcp 0 0 0.0.0.0:8009 0.0.0.0:* LISTEN 1161/java
tcp 0 0 0.0.0.0:8042 0.0.0.0:* LISTEN 12175/java
tcp 0 0 0.0.0.0:50090 0.0.0.0:* LISTEN 11914/java
tcp 0 0 0.0.0.0:35691 0.0.0.0:* LISTEN 12175/java
tcp 0 0 0.0.0.0:8080 0.0.0.0:* LISTEN 1161/java
tcp 0 0 0.0.0.0:80 0.0.0.0:* LISTEN 848/nginx -g daemon
tcp 0 0 127.0.0.1:38230 0.0.0.0:* LISTEN 11740/java ------------》》》38230
tcp 0 0 0.0.0.0:50070 0.0.0.0:* LISTEN 11596/java ----------------》》》50070
tcp 0 0 0.0.0.0:22 0.0.0.0:* LISTEN 1068/sshd
tcp 0 0 0.0.0.0:8088 0.0.0.0:* LISTEN 12066/java
tcp 0 0 127.0.0.1:6010 0.0.0.0:* LISTEN 13067/0
tcp 0 0 0.0.0.0:50010 0.0.0.0:* LISTEN 11740/java
tcp 0 0 0.0.0.0:8090 0.0.0.0:* LISTEN 848/nginx -g daemon
tcp 0 0 127.0.0.1:6011 0.0.0.0:* LISTEN 12681/3
tcp 0 0 0.0.0.0:50075 0.0.0.0:* LISTEN 11740/java
tcp 0 0 127.0.0.1:6012 0.0.0.0:* LISTEN 13631/1
tcp 0 0 0.0.0.0:8030 0.0.0.0:* LISTEN 12066/java
tcp 0 0 0.0.0.0:8031 0.0.0.0:* LISTEN 12066/java
tcp 0 0 0.0.0.0:8032 0.0.0.0:* LISTEN 12066/java
tcp 0 0 0.0.0.0:8033 0.0.0.0:* LISTEN 12066/java
tcp 0 0 0.0.0.0:50020 0.0.0.0:* LISTEN 11740/java
tcp 0 0 127.0.0.1:8005 0.0.0.0:* LISTEN 1161/java
tcp6 0 0 :::3306 :::* LISTEN 786/mysqld
tcp6 0 0 :::80 :::* LISTEN 848/nginx -g daemon
3. 找到11596 11740對應的埠號分別是50070 38230
4. 開放雲伺服器埠號(新增安全組規則)
下面是我的埠號(埠號不開放,是訪問不到的)
5.瀏覽器輸入http:61.135.169.121:50070
其中埠號之前的是你的阿里雲IP地址,當然你完全不必開放,因為一旦開放,別人就能訪問,對你的資料是極其不安全的