Hadoop安裝及配置

Hadoop的三種運行模式

  • 單機模式(Standalone,獨立或本地模式):安裝簡單,運行時只啟動單個進程,僅調試用途;
  • 偽分布模式(Pseudo-Distributed):在單節點上同時啟動namenode、datanode、secondarynamenode、resourcemanager 、nodemanager等5個進程,模擬分布式運行的各個節點 ;
  • 完全分布式模式(Fully-Distributed) :正常的Hadoop集群,由多個各司其職的節點構成

Hadoop安裝步驟

  1. 配置主機名、網絡、編輯hosts文件,重啟;
  2. 配置免密碼登陸,連接其他機器;
  3. Hadoop安裝(下載解壓到預定目錄下)
    tar -xzvf hadoop-2.7.7.tar.gz -C 目標文件夾/hadoop- 2.7.2/
  4. 編輯文件(Hadoop解壓目錄下etc/hadoop/文件夾)
  • 編輯該目錄下hadoop-env.sh、yarn-env.sh文件 ;
  • 編輯該目錄下core-site.xml、hdfs-site.xml和mapred- site.xml、yarn-site.xml四個核心配置文件 ;
  1. 編輯masters、slaves(或者workers)文件;
  2. 復制hadoop文件夾到其他節點;
  3. 格式化HDFS ;
  4. 啟動Hadoop

預備步驟-集群時鐘同步

  • 自動定時同步(設置系統定時任務)
1. crontab -e (vi操作,i插入,ESC,:wq)
2. 0 1 * * * /usr/sbin/ntpdate cn.pool.ntp.org 
  • 手動同步
/usr/sbin/ntpdate cn.pool.ntp.or

Step0:安裝jdk

  1. 上傳jdk-7u71-linux-x64(壓縮文件)到/usr/java;
    不建議使用高版本JDK,查看Hadoop兼容的JDK版本;

  2. 解壓文件(root用戶操作);

cd /usr/javatar –xzvf /usr/java/jdk-7u71-linux-x64.gz
  1. 修改個人用戶配置文件,vim ~/.bash_profile,在文件尾部添加(i進入編輯)
export JAVA_HOME=/usr/java/jdk1.7.0_71export PATH= $JAVA_HOME/bin: $ PATH
  1. 保存退出(ESC 退出編輯,:wq 存盤退出)
  2. 使(用戶)配置生效,source ~/.bash_profile
  3. 測試,java –version

Step1:網絡設置

  • 橋接模式:VMnet0
  • 主機模式:VMnet1
  • NAT模式:VMnet8
  1. 關閉防火墻 (root用戶)
chkconfig iptables off (6.x指令)
systemctl disable firewalld (7.x指令)
  1. 修改/etc/sysconfig/network-scripts/相應的網絡配置

  2. 修改機器名(root用戶)

#hostnamectl set-hostname <機器名> (7.x指令)
#hostname <機器名> (6.x指令)
#vi /etc/sysconfig/network
NETWORKING=yes
HOSTNAME=hadoop0 #主機名

保存退出,重啟終端,測試hostname

  1. 修改/etc/hosts (root用戶)
    5.重啟網絡服務
systemctl restart network.service
service network restart (6.x)

Step2:ssh免密碼登錄

Hadoop運行過程中需要管理遠端Hadoop守護進
程,啟動后,NameNode是通過SSH(Secure
Shell)來無密碼登錄啟動和停止各個DataNode上
的各種守護進程的。同理,DataNode上也能使用
SSH無密碼登錄到NameNode。

  • 一般情況下,只需要從master單向SSH到slave
  1. 在各機器上執行(在免密碼登陸的用戶下)ssh-keygen -b 1024 -t rsa 一路回車
  2. 在~/.ssh/下生成文件 id_rsa 、id_rsa.pub
  3. 生成密碼后輸入命令 ssh-copy-id hadoop

Step3:Hadoop安裝

  1. 上傳hadoop文件到節點/home/zkpk/hadoop目錄
  2. 解壓文件
cd /home/zkpk/ – tar -zxvf hadoop-2.7.7.tar.gz
  1. 修改(Linux下)/etc/profile—(系統級環境設置,可選)
vi /etc/profile #在文件最后添加以下語句export JAVA_HOME=/usr/java – export HADOOP_HOME=/home/zkpk/hadoop
– export PATH=$JAVA_HOME/bin:$PATH::$HADOOP_HOME/bin – 保存退出
– source /etc/profile //切記修改后,使之立即生效
– 如果指定了用戶級的環境變量(.bash_profile),可不編輯;

image.png

Step4:修改配置文件

hadoop安裝目錄下的配置文件路徑,即$HADOOP_HOME/etc/hadoop

  1. 修改hadoop-env.sh、yarn-env.sh
  • export JAVA_HOME=/usr/java/jdk1.7.0_71/
  • 保存退出
  1. 配置core-site.xml,增加以下內容
  • master機器名的9000端口
  • 集群數據目錄
<property><name>fs.default.name</name><value>hdfs://hadoop0:9000</value></property><property><name>hadoop.tmp.dir</name><value>/home/zkpk/hadoopdata</value></property>
  1. 配置hdfs-site.xml
  • 保存副本數量
<property><name>dfs.replication</name><value>2</value></property>
  1. 配置mapred-site.xml
  • 使用YARN進行資源調度和任務管理
<property><name> mapreduce.framework.name </name><value>yarn</value></property>
  1. 配置yarn-site.xml
<property><name>yarn.resourcemanager.hostname</name><value>hadoop0</value></property><property><name> yarn.nodemanager.aux-services</name><value>mapreduce_shuffle</value></propert>

Step5:編輯masters、slaves(或者workers)文件

  1. 配置masters
  • 管理NN機器名稱
Hadoop0
  1. 配置slaves(workers),可以包含master
  • 數據節點DN的機器名稱
hadoop1
hadoop2
hadoop3
  • 說明:一行一個主機名

Step6:復制hadoop文件夾到其他節點

  1. 把hadoop0的hadoop目錄、jdk目錄、/etc/hosts、/etc/profile復制到hadoop1,hadoop2、hadoop3節點
  2. 復制master機器的hadoop安裝目錄到slave機器的用戶目錄(slave的 /home/zkpk/hadoop-2.7.7)
#cd $HADOOP_HOME/.. 
scp -r hadoop-2.7.7 hadoop1:~/
scp -r hadoop-2.7.7 hadoop2:~/
scp -r hadoop-2.7.7 hadoop3:

Step7:格式化HDFS

第一次啟動Hadoop前,必須先格式化namenode

cd $HADOOP_HOME /bin
hdfs namenode –format

Step8:啟動Hadoop

cd $HADOOP_HOME/sbin
./start-all.sh //啟動所有
# 可分兩步啟動: start-dfs.sh 、start-yarn.sh
# 第一步啟動文件系統,start-dfs.sh
# 出錯時,查看logs,檢查相關配置文件:hdfs-site.xml,core-site.xml
# 第二步啟動yarn計算框架,start-yarn.sh
# 出錯時,查看logs,檢查相關配置文件:yarn-site.xml,mapred-site.xml
停止Hadoop
~/hadoop-2.5.2/sbin/stop-all.sh
或者分兩步停止hadoop集群
可分兩步停止: start-yarn.sh、start-dfs.sh
# 第一步停止yarn, stop-yarn.sh
# 第二步停止文件系統,stop-dfs.sh

本文來自互聯網用戶投稿,該文觀點僅代表作者本人,不代表本站立場。本站僅提供信息存儲空間服務,不擁有所有權,不承擔相關法律責任。
如若轉載,請注明出處:http://www.pswp.cn/news/390782.shtml
繁體地址,請注明出處:http://hk.pswp.cn/news/390782.shtml
英文地址,請注明出處:http://en.pswp.cn/news/390782.shtml

如若內容造成侵權/違法違規/事實不符,請聯系多彩編程網進行投訴反饋email:809451989@qq.com,一經查實,立即刪除!

相關文章

漏洞發布平臺-安百科技

一個不錯的漏洞發布平臺&#xff1a;https://vul.anbai.com/ 轉載于:https://blog.51cto.com/antivirusjo/2093758

Android 微信分享圖片

private String APP_ID "00000000000000000"; //微信 APPID private IWXAPI iwxapi; private void regToWx() {iwxapi WXAPIFactory.createWXAPI(context, APP_ID, true);//這里context記得初始化iwxapi.registerApp(APP_ID); } IMServer.getDiskBitmap(IMServer.u…

蒙蒂霍爾問題_常見的邏輯難題–騎士和刀,蒙蒂·霍爾和就餐哲學家的問題解釋...

蒙蒂霍爾問題While not strictly related to programming, logic puzzles are a good warm up to your next coding session. You may encounter a logic puzzle in your next technical interview as a way to judge your problem solving skills, so its worth being prepare…

西格爾零點猜想_我從埃里克·西格爾學到的東西

西格爾零點猜想I finished reading Eric Siegel’s Predictive Analytics. And I have to say it was an awesome read. How do I define an awesome or great book? A book that changes your attitude permanently. You must not be the same person that you were before y…

C/C++實現刪除字符串的首尾空格

StdStringTrimTest.cpp #include <iostream> int main() {std::string str(" 字符串 String ");std::cout << str << std::endl;std::cout << str.size() << std::endl;str.erase(str.find_first_of( ), str.find_first_not_of…

assign復制對象_JavaScript標準對象:assign,values,hasOwnProperty和getOwnPropertyNames方法介紹...

assign復制對象In JavaScript, the Object data type is used to store key value pairs, and like the Array data type, contain many useful methods. These are some useful methods youll use while working with objects.在JavaScript中&#xff0c; Object數據類型用于存…

HDFS 技術

HDFS定義 Hadoop Distributed File System&#xff0c;是一個使用 Java 實現的、分布式的、可橫向擴展的文件系 統&#xff0c;是 HADOOP 的核心組件 HDFS特點 處理超大文件流式地訪問數據運行于廉價的商用機器集群上&#xff1b; HDFS 不適合以下場合&#xff1a;低延遲數據…

深度學習算法和機器學習算法_啊哈! 4種流行的機器學習算法的片刻

深度學習算法和機器學習算法Most people are either in two camps:大多數人都在兩個營地中&#xff1a; I don’t understand these machine learning algorithms. 我不了解這些機器學習算法。 I understand how the algorithms work, but not why they work. 我理解的算法是如…

Python第一次周考(0402)

2019獨角獸企業重金招聘Python工程師標準>>> 一、單選 1、Python3中下列語句錯誤的有哪些&#xff1f; A s input() B s raw_input() C print(hello world.) D print(hello world.) 2、下面哪個是 Pycharm 在 Windows 下 默認 用于“批量注釋”的快捷鍵 A Ctrl d…

express 路由中間件_Express通過示例進行解釋-安裝,路由,中間件等

express 路由中間件表達 (Express) When it comes to build web applications using Node.js, creating a server can take a lot of time. Over the years Node.js has matured enough due to the support from community. Using Node.js as a backend for web applications a…

ASP.NET 頁面之間傳值的幾種方式

對于任何一個初學者來說&#xff0c;頁面之間傳值可謂是必經之路&#xff0c;卻又是他們的難點。其實&#xff0c;對大部分高手來說&#xff0c;未必不是難點。 回想2016年面試的將近300人中&#xff0c;有實習生&#xff0c;有應屆畢業生&#xff0c;有1-3年經驗的&#xff0c…

Mapreduce原理和YARN

MapReduce定義 MapReduce是一種分布式計算框架&#xff0c;由Google公司2004年首次提出&#xff0c;并貢獻給Apache基金會。 MR版本 MapReduce 1.0&#xff0c;Hadoop早期版本(只支持MR模型)MapReduce 2.0&#xff0c;Hadoop 2.X版本&#xff08;引入了YARN資源調度框架后&a…

數據可視化圖表類型_數據可視化中12種最常見的圖表類型

數據可視化圖表類型In the current era of large amounts of information in the form of numbers available everywhere, it is a difficult task to understand and get insights from these dense piles of data.在當今時代&#xff0c;到處都是數字形式的大量信息&#xff…

三大紀律七項注意(Access數據庫)

三大紀律&#xff08;規則或范式&#xff09; 要有主鍵其他字段依賴主鍵其他字段之間不能依賴七項注意 一表一主鍵(訂單表&#xff1a;訂單號&#xff1b;訂單明細表&#xff1a;訂單號產品編號)經常查&#xff0c;建索引&#xff0c;小數據&#xff08;日期&#xff0c;數字類…

CentOS下安裝JDK的三種方法

來源&#xff1a;Linux社區 作者&#xff1a;spiders http://www.linuxidc.com/Linux/2016-09/134941.htm 由于各Linux開發廠商的不同,因此不同開發廠商的Linux版本操作細節也不一樣,今天就來說一下CentOS下JDK的安裝: 方法一&#xff1a;手動解壓JDK的壓縮包&#xff0c;然后…

MapReduce編程

自定義Mapper類 class TokenizerMapper extends Mapper<Object, Text, Text, IntWritable> &#xff5b; … }自定義mapper類都必須實現Mapper類&#xff0c;有4個類型參數&#xff0c;分別是&#xff1a; Object&#xff1a;Input Key Type-------------K1Text: Input…

統計信息在數據庫中的作用_統計在行業中的作用

統計信息在數據庫中的作用數據科學與機器學習 (DATA SCIENCE AND MACHINE LEARNING) Statistics are everywhere, and most industries rely on statistics and statistical thinking to support their business. The interest to grasp on statistics also required to become…

IOS手機關于音樂自動播放問題的解決辦法

2019獨角獸企業重金招聘Python工程師標準>>> 評估手機自帶瀏覽器不能識別 aduio標簽重的autoplay屬性 也不能自動執行play()方法 一個有效的解決方案是在微信jssdk中調用play方法 document.addEventListener("WeixinJSBridgeReady", function () { docum…

svg標簽和svg文件區別_什么是SVG文件? SVG圖片和標簽說明

svg標簽和svg文件區別SVG (SVG) SVG or Scalable Vector Graphics is a web standard for defining vector-based graphics in web pages. Based on XML the SVG standard provides markup to describe paths, shapes, and text within a viewport. The markup can be embedded…

開發人員怎么看實施人員

英文原文&#xff1a;What Developers Think Of Operations&#xff0c;翻譯&#xff1a;張紅月CSDN 在一個公司里面&#xff0c;開發和產品實施對于IS/IT的使用是至關重要的&#xff0c;一個負責產品的研發工作&#xff0c;另外一個負責產品的安裝、調試等工作。但是在開發人員…