(以下所有文件:點此鏈接
里面還有安裝的視頻教學,我這里是親測了一次,如有報錯請看紅色部分。實踐高於理論啊兄弟們!!)
CentOS6.4版本:
一.安裝CentOS 6.4 在VMWare虛擬機上,我設置的用戶是hadoop,密碼是hadoop;
二.安裝完成后以root用戶進入,密碼還是之前設的密碼hadoop。
配置網絡:右鍵右上角符號,
Edit Connections
選擇Edit
要想填這個,打開windows的命令行(直接win+R,輸入cmd),輸入ipconfig,查看無線局域網適配器的iPv4地址,子網掩碼和默認網關,並填寫到虛擬機的相對應位置(注意,ipv4的地址不能一樣,最好改的就差一位就好),並虛擬機的DNS servers 輸入8.8.8.8,8.8.4.4,Search domains輸入4.4.4.4:(輸入完后點擊Apply,再點擊close就可以了)
完成后桌面右鍵open int terminal,輸入service network restart,顯示下圖時就完成了
打開Windows的命令行,輸入ping (之前填的ipv4地址),ping通就成功了。
P.S.注意,關於網絡配置這一部分,每次換一個網絡環境就要重來一次,因為ipv4的地址會隨着你的網絡環境而變換。
error:我”service network restart“這里沒成功:
解決方式:在terminal中輸入以下命令行:
你會看見一直出現RTNETLINK answers: File exists。不用管他,輸入service network restart,就成功了。
error:我又沒ping通。。
1.設置虛擬機為橋接模式
VM -> Settings -> Network Adapter: Bridged
2.配置虛擬機的ip等信息
修改ip: gedit /etc/sysconfig/network-scripts/ifcfg-eth0 # Advanced Micro Devices [AMD] 79c970 [PCnet32 LANCE] DEVICE=eth0 BOOTPROTO=static IPADDR=10.128.192.213 (主機ip:10.128.192.212) NETMASK=255.255.192.0 (子網掩碼同主機) GATEWAY=10.128.192.1 (網關同主機) BROADCAST=192.168.16.113 HWADDR=00:0C:29:C9:0A:84 ONBOOT=yes 重啟服務 /etc/init.d/network restart 關閉Linux防火牆 chkconfig iptables off 關閉虛擬機的selinux: gedit /etc/selinux/config //把SELINUX=enforcing改為SELINUX=disabled 關閉windows防火牆(控制面板里) 關閉所有windows的殺毒軟件(如果所有配置都做了,仍然不通,把殺毒軟件關了試試)
三.后面的過程我們用一個工具,SecureCRT來完成。
連接過程如下圖:
連接以后需要輸入密碼。
后面是一系列的命令行:
關閉防火牆:service iptables stop chkconfig iptables off vim /etc/selinux/config //把SELINUX=enforcing改為SELINUX=disabled ,需要輸入時按i,退出保存是先按esc按鈕,然后:wq! 修改主機名:vim /etc/sysconfig/network //把HOSTNAME改為hadoop 修改映射關系:vim /etc/hosts //添加一行 10.128.197.213 hadoop(注意,中間不是一個空格,是一個tab) 重啟機器:reboot (這里重啟完了以后虛擬機會重啟,再從虛擬機登錄進去后再用secureCRT連接)
P.S.有一個編譯器叫gedit,如果是桌面安裝的話可以直接用 gedit xxxx 命令,可以直接在文本上進行修改
P.S.這里重啟后出錯了,解決:點此鏈接
配置ssh:
ssh-keygen -t rsa //四個回車鍵 ssh-copy-id 10.128.197.213 ssh 10.128.197.213 //此時不需要輸入密碼說明配置成功
CentOS7版本:
1.安裝CentOS7
這里需要注意一下,和6.4版本不同,中間會有需要選擇的地方。可以選擇在安裝過程中配置好網絡,安裝源。軟件選擇默認是最小安裝,即不安裝桌面環境。如果要安裝桌面需要選擇gnome桌面。
后面部分不分centos版本:
配置jdk:
創建文件夾(這個步驟實際上可以直接在虛擬機上手動完成,不一定要輸入命令行): cd /home rm -r hadoop //刪除home下的hadoop文件夾 mkdir softwares //創建軟件文件夾 mkdir data //創建數據文件夾 mkdir tools //創建放包的文件夾(注意,這三個文件夾都是在home目錄下的) rpm -qa|grep jdk //查看系統是否自帶jdk rpm -qa|grep java //還是在查看系統是否自帶java yum install -y lrzsz //安裝一個上傳下載的插件(實際上這個沒必要,直接從Windows里拖拽進去就好了,或者安裝一個軟件WinSCP
tar -zxf jdk-8u151-linux-x64.tar.gz -C ../software //將jdk的包解壓到software文件夾中
//順便說一句,jdk的包真的很長,自己打特別不科學,你先寫一個jdk然后按tab鍵就可以全部出來!!!很方便的有木有親~ cd /home/software/jdk1.8.0_151/ //進入jdk安裝路徑 pwd //找到安裝路徑,復制 vim /etc/profile //打開這個文件夾,加入:(注意啊,這兩行后面部分千萬不要加空格,否則就會報bash: export: `=': not a valid identifier 這個錯)
export JAVA_HOME=/home/software/jdk1.8.0_151
export HADOOP_HOME=/home/software/hadoop-2.6.5 export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
source /etc/profile //保存執行
java -version //檢查是否java安裝成功,下面出現版本號就是安裝成功了
sudo權限配置:給hadoop用戶也添加權限(注意,我此時還是root權限,如果不是root權限輸入命令行 su,切換至root權限)
chmod u+w /etc/sudoers //添加文件的寫權限 vim /etc/sudoers
(中間是tab不是空格)
至此,hadoop的前置環境就配完了,接下來我們配hadoop環境。
打開Hadoop官網:http://hadoop.apache.org/,按照下面兩個圖片,進入Hadoop 2.6.5 的偽分布式安裝配置中(注意,如果你要自己下載hadoop的安裝包,請安裝tar.gz結尾的那個,那個是有配置的,而不是src.tar.gz結尾的,無配置版本還要配置,時間花費很多)
同樣,解壓包到software里 tar -zxf /home/tools/hadoop-2.6.5.tar.gz -C /home/software/ tar -zxf /home/tools/protobuf-2.5.0.tar.gz -C /home/software/ tar -zxf /home/tools/apache-maven-3.0.5-bin.tar.gz -C /home/software/ tar -zxf /home/tools/findbugs-1.3.9.tar.gz -C /home/software/
配置maven,findbugs環境路徑:類似於上面的jdk配置,記得source重置,查看完成與否:mvn -v,findbugs -version
配置protobuf:
進入protobuf下: cd /home/software/protobuf-2.5.0/ ./configure
安裝依賴: yum -y install autoconf automake libtool cmake ncurses-devel openssl-devel lzo-devel zlib-devel gcc gcc-c++
再進入protobuf,重新configure一下
./configure
make install
error:使用yum時報錯:Cannot find a valid baseurl for repo
解決方式:Cannot find a valid baseurl for repo: base
我在這篇博文里詳細寫了各種網搜的解決方法
下面就是配置Hadoop的各種配置文件了,這里推薦一個工具,notepad++,添加一個插件NppFTP.dll,遠程連接虛擬機。安裝包:點此鏈接
使用方法:點擊上排最右邊的按鈕
右邊出現工具欄
選擇Profile settings,填寫內容(自己的配置):
點擊連接:
如果連接不上,一種可能是沒聯網,一種可能是網絡變動換ip地址了,虛擬機終端ifconfig查看IP地址
進入hadoop的安裝目錄,首先是etc/hadoop/hadoop-env.sh
export JAVA_HOME=/home/software/jdk1.8.0_151
然后是etc/hadoop/core-site.xml:(創建文件夾/home/software/hadoop-2.6.5/data/tmp)
<configuration> <property> <name>fs.defaultFS</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/home/software/hadoop-2.6.5/data/tmp</value> </property> </configuration>
etc/hadoop/hdfs-site.xml:
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> </configuration>
etc/hadoop/mapred-site.xml:(文件夾下原名mapred-site.xml.template,把名字改一下)
<configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
etc/hadoop/yarn-site.xml:
<configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property> </configuration>
進入hadoop安裝目錄:
bin/hdfs namenode -format sbin/start-dfs.sh sbin/start-yarn.sh
輸入命令行jps,查看幾個運行(正常有6個)
如果不用hadoop,關閉進程:
sbin/stop-dfs.sh sbin/stop-yarn.sh
error:bash: jps: command not found
解決:
cd vim .bash_profile 里面path地方改成: PATH=$PATH:$HOME/bin:/home/software/jdk1.8.0_151/bin source .bash_profile
P.S.Linux中含有兩個重要的文件 /etc/profile和.bash_profile 每當系統登陸時都要讀取這兩個文件,用來初始化系統所用到的變量,其中/etc/profile是超級用戶所用,.bash_profile是每個用戶自己獨立的,我們可以修改該文件來設置一些變量。
實際上后來一直還是打不開,我也不知道為什么,總是找不到jps。兩種方法,第一種就是找不到就source .bash_profile,第二種是進入jdk的安裝目錄,進入bin文件夾,打開終端,運行./jps。親測可用。
至此,CentOS6.4下Hadoop 2.6.5的所有配置就完畢了。
error:后來改了配置以后,nodemanager消失了,這是改了配置以后會出現的問題。那么先stop兩個sh,再重新format了以后再start就ok了。