CentOS 7安装Hadoop 3.0.0
最近在學習大數據,需要安裝Hadoop,自己弄了好久,最后終于弄好了。網上也有很多文章關于安裝Hadoop的,但總會遇到一些問題,所以把在CentOS?7安裝Hadoop 3.0.0的整個過程記錄下來,有什么不對的地方大家可以留言更正。
一、ssh免密登錄
1、測試是否能免密登錄
# ssh localhostThe?authenticity?of?host?'localhost?(::1)'?can't?be?established.
2、設置免密登錄
1)、去掉 /etc/ssh/sshd_config中的兩行注釋,如沒有則添加,所有服務器都要設置的:
#RSAAuthentication yes #PubkeyAuthentication yes2)、生成秘鑰:
# ssh-keygen -t rsa備注:輸入命令后回車4次
3)、復制到公共密鑰中:
# cp /root/.ssh/id_rsa.pub /root/.ssh/authorized_keys4)、將秘鑰復制到目標服務器:
# ssh-copy-id 目標服務器IP5)、測試:(沒有報錯,并沒有提示輸入目標服務器用戶密碼,用戶切換到目標服務器用戶名則成功)
# ssh 目標服務器IP備注:配置好了hadoop1到hadoop2免密登錄,同時需要配置hadoop2到hadoop1的免密登錄,在hadoop2上操作,過程同上
二、安裝JDK
hadoop-3.0.0需要jdk1.8,此處省略安裝過程,網上很多,過程也比較簡單
三、安裝hadoop
1、下載hadoop:
http://mirrors.hust.edu.cn/apache/hadoop/common/hadoop-3.0.0/
2、解壓安裝:
1)、復制?hadoop-3.0.0.tar.gz 到/usr/hadoop目錄下,?然后
#tar -xzvf hadoop-3.0.0.tar.gz解壓,解壓后目錄為:/usr/hadoop/hadoop-3.0.0,Hadoop 解壓后即可使用。輸入如下命令來檢查 Hadoop 是否可用,成功則會顯示 Hadoop 版本信息:
#cd /usr/hadoop/hadoop-3.0.0 #./bin/hadoop version2),在/usr/hadoop/目錄下,建立tmp:
#mkdir /usr/hadoop/tmp3)、設置環境變量:
#vi /etc/profile# set hadoop path
export HADOOP_HOME=/usr/hadoop/hadoop-3.0.0
export PATH=$PATH:$HADOOP_HOME/bin
4)、使環境變量生效,終端中運行如下命令:
#source /etc/profile5)、設置hadoop:
一共需要配置主要的6個文件:
hadoop-3.0.0/etc/hadoop/hadoop-env.sh?
hadoop-3.0.0/etc/hadoop/yarn-env.sh?
hadoop-3.0.0/etc/hadoop/core-site.xml?
hadoop-3.0.0/etc/hadoop/hdfs-site.xml?
hadoop-3.0.0/etc/hadoop/mapred-site.xml?
hadoop-3.0.0/etc/hadoop/yarn-site.xml
?、?、配置hadoop-env.sh:
# The java implementation to use. #export JAVA_HOME=${JAVA_HOME} export JAVA_HOME=/usr/java/jdk1.8.0_152 //根據自己jdk安裝目錄配置⑵、配置yarn-env.sh:
#The java implementation to usr export JAVA_HOME=/usr/java/jdk1.8.0_152 //根據自己jdk安裝目錄配置⑶、配置core-site.xml:
<!-- 指定HADOOP所使用的文件系統schema(URI),HDFS的老大(NameNode)的地址 --><configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> <description>HDFS的URI,文件系統://namenode標識:端口號</description> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/hadoop/tmp</value> <description>namenode上本地的hadoop臨時文件夾</description> </property> </configuration>
⑷、配置hdfs-site.xml:
<configuration> <!—hdfs-site.xml--> <property> <name>dfs.replication</name> <value>1</value> <description>副本個數,配置默認是3,應小于datanode機器數量</description> </property> </configuration>⑸、配置mapred-site.xml:
<!-- 指定mr運行在yarn上 --><configuration> <property> <name>mapreduce.framework.name</name> <value>yarn</value> </property> </configuration>
⑹、配置yarn-site.xml:
<!-- 指定YARN的老大(ResourceManager)的地址 --><configuration> <property> <name>yarn.nodemanager.aux-services</name> <value>mapreduce_shuffle</value> </property>
<!-- reducer獲取數據的方式 -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
</configuration>
備注:以上配置都是以最簡配置,還有很多配置可以自行添加
6)、將/usr/hadoop復制到其他服務器:
scp -r?/usr/hadoop?root@192.168.1.11:/usr/hadoop
7)、格式化namenode:
#CD /usr/hadoop/hadoop-3.0.0# ./bin/hdfs namenode -format成功的話,會看到 “successfully formatted” 和 “Exitting with status 0” 的提示,若為 “Exitting with status 1” 則是出錯
備注:只需格式化namenode,datanode不需要格式化(若格式化了,可將/usr/hadoop/tmp目錄下文件都刪除),所以先將安裝文件夾復制到其他服務器,再格式化
四、測試:
1、啟動HDFS:
#CD /usr/hadoop/hadoop-3.0.0# 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.
?
解決方案
(缺少用戶定義而造成的)因此編輯啟動和關閉
$ vim sbin/start-dfs.sh$ vim sbin/stop-dfs.sh頂部空白處添加
HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root2)啟動ResourceManager和NodeManager:
如果啟動時報如下錯誤,
Starting resourcemanager
ERROR: Attempting to launch yarn resourcemanager as root
ERROR: but there is no YARN_RESOURCEMANAGER_USER defined. Aborting launch.
解決方案
(也是由于缺少用戶定義)
是因為缺少用戶定義造成的,所以分別編輯開始和關閉腳本?
頂部空白添加
YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root3)、啟動驗證:
執行jps命令,出現下圖基本完成
備注:也可以使用下面命令同時啟動HDFS和ResourceManager、NodeManager:
#CD /usr/hadoop/hadoop-3.0.0#sbin/start-all.shHadoop2.3-HA高可用集群環境搭建??http://www.linuxidc.com/Linux/2017-03/142155.htm
Hadoop項目之基于CentOS7的Cloudera 5.10.1(CDH)的安裝部署??http://www.linuxidc.com/Linux/2017-04/143095.htm
Hadoop2.7.2集群搭建詳解(高可用)??http://www.linuxidc.com/Linux/2017-03/142052.htm
使用Ambari來部署Hadoop集群(搭建內網HDP源)??http://www.linuxidc.com/Linux/2017-03/142136.htm
Ubuntu?14.04下Hadoop集群安裝??http://www.linuxidc.com/Linux/2017-02/140783.htm
CentOS 6.7安裝Hadoop 2.7.2??http://www.linuxidc.com/Linux/2017-08/146232.htm
Ubuntu 16.04上構建分布式Hadoop-2.7.3集群??http://www.linuxidc.com/Linux/2017-07/145503.htm
CentOS 7 下 Hadoop 2.6.4 分布式集群環境搭建??http://www.linuxidc.com/Linux/2017-06/144932.htm
Hadoop2.7.3+Spark2.1.0完全分布式集群搭建過程??http://www.linuxidc.com/Linux/2017-06/144926.htm
更多Hadoop相關信息見Hadoop?專題頁面?http://www.linuxidc.com/topicnews.aspx?tid=13
本文永久更新鏈接地址:http://www.linuxidc.com/Linux/2018-02/150812.htm
轉載于:https://www.cnblogs.com/itrena/p/8830051.html
總結
以上是生活随笔為你收集整理的CentOS 7安装Hadoop 3.0.0的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: ce能修改mc服务器吗,CE怎么修改DN
- 下一篇: Mac查看本机ip地址