天天看點

ubuntu16+Hadoop2.7.3環境搭建(僞分布式)一、安裝VMWare 虛拟機二、安裝Linux三、配置Linux四、安裝SSH工具五、配置FTP服務六、在Linux中安裝JDK七、配置SSH 免登入八、安裝hadoop(僞分布模式)——版本2.7.3

Hadoop 環境的搭建

一、安裝VMWare 虛拟機

                虛拟機版本VMware12,考慮到啟動速度,裝在固态硬碟中。

二、安裝Linux

安裝版本:ubuntu-16.04.1-server-amd64

此版本沒有圖形化界面,體積較小,隻有指令行視窗

三、配置Linux

1、為了友善操作以及避免權限的相關問題,不用個人使用者,使用root使用者登入來進行操作 ——>root使用者的解鎖:修改root密碼,友善登入

sudo  passwd root

2、關閉防火牆,解除安裝iptables

關閉防火牆:ufw disable

解除安裝iptables:apt-get  remove iptables

3、安裝vim編輯器

apt-getinstall vim

四、安裝SSH工具

為了友善不在Linux指令視窗中輸入指令,轉而在Windows工具中遠端控制Linux——>配置SSH工具遠端連接配接

1、在Linux中安裝SSH服務

apt-get install openssh-server

2、啟動SSH服務

/etc/init.d/ssh start

3、檢測SSH程序是否已經開啟

ps -e| grep sshd

4、配置root使用者的預設登入【這樣每次打開SSH工具就不用登陸了,自動登陸到root上】

vim  /etc/ssh/sshd_config

修改配置檔案

#允許root使用者登入,設定為yes

·PermitRootLogin: yes

儲存,退出  :x

5、打開SSH用戶端(這裡使用SecureCRT)配置

·Linux下查詢本機IP:ifconfig   檢視inet addr

·SecureCRT中:Hostname輸入查詢到的IP,Username輸入root

這裡使用SecureCRT連接配接本地VMware是可能會遇到

“Connection timed out”,并且在Vmware的VM裡面可以ping通主控端,但是主控端無法ping通VM。  解決方法:本地的網絡設定裡面的vmware的NAT網卡(Vmnet8)設定了手工填寫位址和DNS,修改為自動擷取即可。

ubuntu16+Hadoop2.7.3環境搭建(僞分布式)一、安裝VMWare 虛拟機二、安裝Linux三、配置Linux四、安裝SSH工具五、配置FTP服務六、在Linux中安裝JDK七、配置SSH 免登入八、安裝hadoop(僞分布模式)——版本2.7.3

五、配置FTP服務

為了友善Windows傳輸檔案到Linux中,是以要配置FTP服務,使用用戶端8UFTP

1、在Linux中安裝FTP服務元件

apt-get install vsftpd

2、修改FTP使用者的密碼

passwd ftp

3、設定FTP目錄的控制權限為完全控制

chmod777   /srv/ftp    (檔案都上傳到這個目錄裡)

4、修改配置檔案

vim  /etc/vsftpd.conf

修改:

anonymous_enable= NO             //不允許匿名登入,必須使用正确的使用者名和密碼登入

local_enable=YES                         //允許本地使用者登入

write_enable=YES                          //使用者具有寫權限

chroot_local_user= YES              //将所有使用者限制在主目錄

chroot_list_enable= YES             //啟動限制使用者名單

chroot_list_file=/etc/vsftpd.chroot_list      //定義名單設定的目錄

增加:

pam_service_name=vsftpd    //增加到定義名單設定目錄之後

儲存退出

ubuntu16+Hadoop2.7.3環境搭建(僞分布式)一、安裝VMWare 虛拟機二、安裝Linux三、配置Linux四、安裝SSH工具五、配置FTP服務六、在Linux中安裝JDK七、配置SSH 免登入八、安裝hadoop(僞分布模式)——版本2.7.3

5、在名單設定目錄中增加使用者名

先增加檔案/etc/vsftpd.chroot_list,然後在檔案裡面寫上使用者名ftp

vim/etc/vsftpd.chroot_list

輸入ftp

儲存退出

6、修改pam配置檔案

vim  /etc/pam.d/vsftpd

注釋掉(添加#号):

# auth  required  pam_shells.so

儲存退出

7、啟動ftp服務

servicevsftpd start

(重新啟動服務  service  vsftpd restart)

8、連接配接用戶端8UFTP

新站點:

主機名:IP位址

使用者名:ftp

密碼:123110(Linux中配置的ftp賬号密碼)

六、在Linux中安裝JDK

1、下載下傳Linux版本的JDK安裝包jdk-8u101-linux-x64.tar

2、把JDK開發包利用8UFTP工具上傳到Linux中(目錄/srv/ftp中)

3、将上傳後的檔案進行解壓縮處理

tar  xzvf   JDK安裝封包件名 -C   /usr/local

4、給的解壓後的檔案重命名

mv    JDK原名    jdk

5、配置JDK

·打開環境檔案

vim  /etc/profile

·在最下面,輸入

export JAVA_HOME=/usr/local/jdk

export PATH=$PATH:$JAVA_HOME/bin:

export CLASS_PATH=$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar

儲存退出

6、讓配置生效

source /etc/profile

7、測試 JDK

java  或 javac

七、配置SSH 免登入

1、設定虛拟網絡

·進入Linux系統,在VM中選擇編輯-虛拟網絡配置,選擇NAT模式

2、設定主機名稱

vim /etc/hostname

 把localhost 修改為  hadoopm

vim /etc/hosts

 第一行增加

  本機ip位址   hadoopm

3、重新開機Linux  reboot

4、設定SSH免登陸

·删除根路徑下.ssh 

rm -rf ~/.ssh

·在hadoopm主機上生成sshkey

ssh-keygen -t  rsa(一直回車,不輸入)          //加密方式 rsa,可以選擇其他方式

·将公鑰資訊儲存在授權檔案中

cat ~/.ssh/id_rsa.pub  >>~/.ssh/authorized_keys

5、測試免登陸(即登入ssh)

ssh [email protected]   變為遠端連接配接

(exit退對外連結接)

八、安裝hadoop(僞分布模式)——版本2.7.3

1、下載下傳hadoop安裝包

2、解壓重命名hadoop安裝包

tar  xzvf   hadoop安裝封包件名 -C   /usr/local

mv  hadooop安裝包名  hadoop

3、修改環境變量

vim  /etc/profile

export  HADOOP_HOME =/usr/local/hadoop

export  PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

   讓配置生效

source /etc/profile

4、修改hadoop配置檔案

       配置:“core-site.xml”:Hadoop的核心資訊,包括臨時目錄、通路位址等;

       配置:“yarn-site.xml”:可以簡單了解為配置相關job的處理;

       配置:“hdfs-site.xml”:可以确定檔案的備份個數、資料檔案夾的路徑;

·vim  /usr/local/hadoop/etc/hadoop/hadoop-env.sh

更改JavaJDK路徑

export  JAVA_HOME=/usr/local/jdk/

(1)core-site.xml

·vim  /usr/local/hadoop/etc/hadoop/core-site.xml

添加:

######################################################################################

##   配置hadoop臨時檔案,如果不配置,那麼就會在hadoop的檔案夾裡面生産tmp檔案("/usr/local/hadoop/tmp"),       

##   那麼hadoop重新開機此檔案會被清空,也就是說此時hadoop的環境就失效了。 建立hadoop_tmp檔案

##   cd ~

##  mkdir  hadoop_tmp  

#######################################################################################

         <configuration>

<property>

<name>hadoop.tmp.dir</name>

<value>/home/root/hadoop_tmp</value>         

</property>

<property>

<name>fs.defaultFS</name>            

<value>hdfs://hadoopm:9000</value>

</property>

</configuration>

(2)hdfs-site.xml

       vim /usr/local/hadoop/conf/hdfs-site.xml

######################################################################################

##   “dfs.replication”:檔案的副本數,一般情況下一個檔案備份3份      

##   “dfs.namenode.name.dir”:定義名稱節點路徑

##   “dfs.namenode.data.dir”:定義資料檔案節點路徑

##   “dfs.datanode.data.dir”:名稱節點的http通路路徑

##   “dfs.namenode.secondary.http-address”:第二名稱節點

##   “dfs.permissions”: 權限認證問題,關閉

#######################################################################################

       <configuration>

        <property>

               <name>dfs.replication</name>

                <value>1</value>

        </property>

           <property>

               <name>dfs.namenode.name.dir</name>

               <value>file:///usr/local/hadoop/dfs/name</value>

             </property>

           <property>

               <name>dfs.datanode.data.dir</name>

               <value>file:///usr/local/hadoop/dfs/data</value>

           </property>

              <property>

               <name>dfs.namenode.http-address</name>

               <value>hadoopm:50070</value>

           </property>

           <property>

               <name>dfs.namenode.secondary.http-address</name>

               <value>hadoopm:50090</value>

        </property>

        <property>

               <name>dfs.permissions</name>

               <value>false</value>

        </property>

       </configuration>

(3)yarn-site.xml

·vim  /usr/local/hadoop/conf/ yarn-site.xml

添加:

<configuration>

       <property>

       <name>yarn.nodemanager.aux-services</name>

       <value>mapreduce_shuffle</value>

    </property>

    <property>

       <name>yarn.nodemanager.auxservices.mapreduce.shuffle.class</name>

       <value>org.apache.hadoop.mapred.ShuffleHandler</value>

    </property>

    <property>

       <name>yarn.resourcemanager.address</name>

        <value>master:8032</value>

    </property>

    <property>

        <name>yarn.resourcemanager.scheduler.address</name>

        <value>master:8030</value>

    </property>

    <property>

       <name>yarn.resourcemanager.resource-tracker.address</name>

        <value>master:8031</value>

    </property>

    <property>

        <name>yarn.resourcemanager.admin.address</name>

        <value>master:8033</value>

    </property>

    <property>

       <name>yarn.resourcemanager.webapp.address</name>

        <value>master:8088</value>

    </property>

</configuration>·

(4)mapred-site.xml

       vim/usr/local/hadoop/conf/mapred-site.xml

添加:

<configuration>

<property>

<name>mapred.job.tracker</name>

<value>hadoopm:9001</value>

</property>

</configuration>

5、由于hadoop屬于分布式的開發環境,考慮到日後要進行叢集的搭建,建議在“/usr/local/hadoop/etc/hadoop”目錄下建立一個masters,裡面寫上主機名稱(hadoopm,之前在hosts目錄裡面定義的主機名稱),如果是單機環境,不寫也沒有關系。

       cd /usr/local/hadoop/etc/hadoop

       vim masters

       輸入:hadoopm

6、修改從節點檔案,增加hadoopm(此時主副節點為統一節點)

       cd /usr/local/hadoop/etc/hadoop

       vim slaves

       輸入:hadoopm

7、上述hdfs-site.xml檔案将所有的namenode、datanode儲存路徑設定在/usr/local/hadoop/dfs目錄中,雖然可以自動建立,但是建議手動建立者兩個檔案夾

       cd /usr/local/hadoop/

       mkdir dfs  dfs/name  dfs/data

       如果hadoop出現問題需要重新配置時,請保證将這兩個檔案夾徹底清除掉,如果沒有删除,則配置無效。

8、格式化檔案系統namenode

hdfs   namenode - format

如果可以正确執行,則出現如下資訊:INFO util.ExitUtil: Exiting with status 0;

如果出錯,此處出現: INFOutil.ExitUtil: Exiting with status 1,很有可能是之前的幾個配置檔案複制、粘貼時出現了錯誤。

9、啟動hadoop

       start-all.sh   每次啟動hadoop都要輸入

10、檢測是否啟動成功

jps 檢視所有java程序(是否出現了5個重要程序,Jps程序忽略)

6116SecondaryNameNode

5940DataNode

6500Jps

5802NameNode

6270ResourceManager

6382NodeManager

或者登入  http://ip位址:50070    http://ip位址:50030

(如果想用hadoopm從windows登入,則需要在windows下增加映射檔案,

C:\Windows\System32\drivers\etc hosts  追加 ip位址  hadoopm)

11、停止服務

              stop-all.sh          使用jps檢視程序

       如果重新開機發現程序啟動不完整的解決方案:http://www.linuxidc.com/Linux/2015-01/111891.htm

···配置完畢··

繼續閱讀