centos7下hadoop的叢集安裝
通過前面https://www.bilibili.com/video/av31184748/的課程,我們已經配好了jdk、hosts、免密登陸等。 下面我們來進行hadoop叢集的安裝與部署 注:文章中的qipao請修改為自己的主機名或者ip地址 1.1首先我們去官網下載hadoop
下載好了,就是它 1.2上傳hadoop 下面我們用winSCP或者mobaxterm把hadoop傳輸到一臺虛擬機器上的/usr/local/目錄下,用軟體連線後,選到/usr/local/目錄拖進去就可以了 ok,拖進來了 1.3解壓hadoop並配置環境變數 下面我們用Xshell或者mobaxterm連線到傳好hadoop壓縮包的那臺虛擬機器。 切換到/usr/local目錄
#hadoop
export HADOOP_HOME=/usr/local/hadoop-2.8.3
export PATH=$PATH:$HADOOP_HOME/bin:/$HADOOP_HOME/sbin
執行命令
source /etc/porfile
1.4 修改hadoop中的一系列配置檔案 提示:大家輸入命令的時候輸一點按tab鍵自己就出來了
vi core-site.xml
注:文章中的qipao請修改為自己的主機名或者ip地址
在<configuration></configuration>
節點內加入配置:
<configuration> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop-2.8.3/tmp</value> <description>Abase for other temporary directories.</description> </property> <property> <name>fs.default.name</name> <value>hdfs://qipao2:9000</value> </property> </configuration>
執行命令 vi hadoop-env.sh
將export JAVA_HOME=${JAVA_HOME}
修改為:export JAVA_HOME=/usr/local/jdk1.8.0_181
說明:修改為自己的JDK路徑
1.4.3修改hdfs-site.xml
執行命令 vi hdfs-site.xml
在<configuration></configuration>
節點內加入配置:
<property>
<name>dfs.name.dir</name>
<value>/usr/local/hadoop-2.8.3/dfs/name</value>
<description>Path on the local filesystem where theNameNode stores the namespace and transactions logs persistently.</description>
</property>
<property>
<name>dfs.data.dir</name>
<value>/usr/local/hadoop-2.8.3/dfs/data</value>
<description>Comma separated list of paths on the localfilesystem of a DataNode where it should store its blocks.</description>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
<description>need not permissions</description>
</property>
說明:dfs.permissions配置為false後,可以允許不要檢查許可權就生成dfs上的檔案,方便倒是方便了,但是你需要防止誤刪除,請將它設定為true,或者直接將該property節點刪除,因為預設就是true。 1.4.4 新建並且修改mapred-site.xml 在當前目錄下
cp mapred-site.xml.template mapred-site.xml
然後執行命令
vi mapred-site.xml
注:文章中的qipao請修改為自己的主機名或者ip地址
在<configuration></configuration>
節點內加入配置:
<property>
<name>mapred.job.tracker</name>
<value>qipao2:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/usr/local/hadoop-2.8.3/var</value>
</property>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
1.4.5修改slaves檔案
注:文章中的qipao請修改為自己的主機名或者ip地址
執行命令 vi slaves
將裡面的localhost刪除
新增另外兩外虛擬機器的主機名 (注:如果你的主機名沒有配置好可以用ip)
qipao3
qipao3
這裡換成你們自己的主機名
1.4.6 修改yarn-site.xml檔案
執行命令 vi yarn-site.xml
注:文章中的qipao請修改為自己的主機名或者ip地址
在<configuration></configuration>
節點內加入配置
<property>
<name>yarn.resourcemanager.hostname</name>
<value>qipao2</value>
</property>
<property>
<description>The address of the applications manager interface in the RM.</description>
<name>yarn.resourcemanager.address</name>
<value>${yarn.resourcemanager.hostname}:8032</value>
</property>
<property>
<description>The address of the scheduler interface.</description>
<name>yarn.resourcemanager.scheduler.address</name>
<value>${yarn.resourcemanager.hostname}:8030</value>
</property>
<property>
<description>The http address of the RM web application.</description>
<name>yarn.resourcemanager.webapp.address</name>
<value>${yarn.resourcemanager.hostname}:8088</value>
</property>
<property>
<description>The https adddress of the RM web application.</description>
<name>yarn.resourcemanager.webapp.https.address</name>
<value>${yarn.resourcemanager.hostname}:8090</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>${yarn.resourcemanager.hostname}:8031</value>
</property>
<property>
<description>The address of the RM admin interface.</description>
<name>yarn.resourcemanager.admin.address</name>
<value>${yarn.resourcemanager.hostname}:8033</value>
</property>
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.scheduler.maximum-allocation-mb</name>
<value>2048</value>
<discription>每個節點可用記憶體,單位MB,預設8182MB</discription>
</property>
<property>
<name>yarn.nodemanager.vmem-pmem-ratio</name>
<value>2.1</value>
</property>
<property>
<name>yarn.nodemanager.resource.memory-mb</name>
<value>2048</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
說明:yarn.nodemanager.vmem-check-enabled這個的意思是忽略虛擬記憶體的檢查,如果你是安裝在虛擬機器上,這個配置很有用,配上去之後後續操作不容易出問題。如果是實體機上,並且記憶體夠多,可以將這個配置去掉。 1.5將hadoop傳輸至其他虛擬機器 請將qipao3 qipao4換為自己的其他虛擬機器的主機名或者ip
scp -r /usr/local/hadoop-2.8.3 [email protected]:/usr/local/
scp -r /usr/local/hadoop-2.8.3 [email protected]:/usr/local/
1.6為另外兩臺虛擬機器配置hadoop的環境變數
參考1.3中的配置方法
記得執行 source /etc/profile
使環境變數生效
1.7啟動hadoop
1.7.1在namenode上執行初始化
因為qipao2是namenode,qipao3和qipao4都是datanode,所 以只需要對qipao1進行初始化操作,也就是對hdfs進行格式化。
執行初始化指令碼,也就是執行命令:
hadoop namenode -format
1.7.2在namenode上執行啟動命令 分別執行命令
start-dfs.sh start
start-yarn.sh start
1.8測試hadoop
haddoop啟動了,需要測試一下hadoop是否正常。
開啟windows的瀏覽器
輸入namenode的ip地址,也就是qipao2的ip地址後面跟上埠號:50070 也就是後面的語句,根據ip做相應的修改就好了http://192.168.70.3:50070
hadoop啟動成功