hadoop偽分布式(單機版)安裝,Linux

一、下載

1、hadoop官網下載:https://archive.apache.org/dist/hadoop/common/

進入stable文件夾里下載,這是穩定版本。

[DIR] stable/ 
本文的版本是?hadoop-2.7.2.tar.gz?

2、jdk下載,JDK7及以上,本文用jdk8-64位

二、版本區別

2.5之前的版本,hadoop官網提供的都是32位編譯的安裝包。我們環境都是Linux64位的,需要用64位機子重新編譯。
從2.5版本起,hadoop提供的都是64位編譯的安裝包,32位用不了。64位hadoop需要64位JDK7.0及以上和64位Linux。

-------在已安裝了Linux 64位,下載了JDK8x64,HADOOPx64的環境下開始-------

三、添加用戶hadoop

1、添加用戶
首先以root登錄Linux。用adduser命令添加一個普通用戶,命令如下:
	#adduser hadoop//添加一個名為hadoop的用戶,該用戶隨意取#passwd hadoop //修改密碼Changing password for user hadoop.New UNIX password:     //在這里輸入新密碼Retype new UNIX password:  //再次輸入新密碼passwd: all authentication tokens updated successfully.

2、賦予hadoop,root權限
方法一:
修改 /etc/sudoers 文件,找到下面一行,把前面的注釋(#)去掉
## Allows people in group wheel to run all commands
%wheel ? ?ALL=(ALL) ? ?ALL

然后修改用戶,使其屬于root組(wheel),命令如下:
#usermod -g root hadoop
修改完畢,用hadoop帳號登錄,用命令 sudo ,即可獲得root權限進行操作。
--------------------------------------
方法二:
修改 /etc/sudoers 文件,找到下面一行,在root下面添加一行,如下所示:
## Allow root to run any commands anywhere
root ? ?ALL=(ALL) ? ? ALL
hadoopALL=(ALL) ? ? ALL

修改完畢,用hadoop帳號登錄,用命令 sudo ,即可獲得root權限進行操作。

四、修改主機名

hadoop登錄
? sudo vim /etc/sysconfig/network
? ? ? ? NETWORKING=yes
? ? ? ? HOSTNAME=hello110 ? ?###

? sudo hostname hello110 讓修改生效,無需重啟。

(修改了/etc/sysconfig/network必須重啟才生效。hostname hello110是只對當前狀態有效,一旦重新啟動虛擬機,主機名未變。

五、修改主機名和IP的映射關系

? ? ? ? vim /etc/hosts

192.168.255.128(本機linuxIP地址) ? ?hello110

六、關閉防火墻

#查看防火墻狀態
? ? ? ? service iptables status
? ? ? ? #關閉防火墻
? ? ? ? service iptables stop
? ? ? ? #查看防火墻開機啟動狀態
? ? ? ? chkconfig iptables --list
? ? ? ? #關閉防火墻開機啟動
? ? ? ? chkconfig iptables off

hadoop是公司內部使用,在公司內部網絡,不與外網通,所以直接關掉防火墻好了,省的一個個去關閉hadoop的端口。

七、安裝JDK

1、上傳jdk安裝包

alt+p?后出現sftp窗口,然后命令:put? windows上jdk安裝包的路徑\jdk安裝包全名。上傳到執行命令時hadoop用戶所在的文件下。

2、解壓jdk
????????#創建文件夾
????????mkdir?/home/hadoop/app
????????#解壓
????????tar?-zxvf ?jdk-8u73-linux-x64.tar.gz?-C?/home/hadoop/app

3、將java添加到環境變量中
????????sudo?vim?/etc/profile
????????#在文件最后添加
????????export?JAVA_HOME=/home/hadoop/app/jdk-8u73
????????export?PATH=$PATH:$JAVA_HOME/bin

4、 刷新配置
????????source?/etc/profile

八、安裝hadoop

1、上傳hadoop

tar?-zxvf hadoop的壓縮包?-C?/home/hadoop/app

2、配置hadoop

hadoop2.x的配置文件$HADOOP_HOME/etc/hadoop需要修改5個配置文件

????第一個:hadoop-env.sh
????????vim?hadoop-env.sh
????????#第27行
????????export?JAVA_HOME=/usr/java/jdk1.7.0_65

#?The?java?implementation?to?use.
#export?JAVA_HOME=${JAVA_HOME}?sometime?can?not?get.zengmg 這個${JAVA_HOME}有時候會拿不到,所以配置成固定的
export?JAVA_HOME=/home/hadoop/app/jdk1.8.0_73/

不要配置成?/home/hadoop/app/jdk1.8.0_73/bin 了
----------------------------------------------------------------------------
????第二個:core-site.xml

????????<!--?指定HADOOP所使用的文件系統schema(URI),HDFS的老大(NameNode)的地址?-->
????????<property>
????????????<name>fs.defaultFS</name>
????????????<value>hdfs://hello110:9000/</value>
</property>
這里最后的/ 可有可無,但是最好有。
<!--?指定hadoop運行時產生文件的存儲目錄
hadoop公共進程在運行的時候會產生一些數據,這些數據需要目錄來存放。
我們可以籠統地配置一個,讓Namenote,Datanote自己去在這個文件夾下建子文件夾
但是生產上Namenote單獨對一個目錄,Datanote單獨對一個目錄,而且這個目錄是單獨磁盤掛載點,方便擴容
?-->
? ? ? ??
? ? <property>
????????????<name>hadoop.tmp.dir</name>
????????????<value>/home/hadoop/hadoop-2.4.1/tmp</value>
? ? ? ? ? ?<!--這里的tmp文件要手動創建,并且賦予全部權限 ?chmod 777 ?文件名
該文件用于保存NameNode的數據-->
????</property>
---------------------------------------------------------------------------------------------------
????第三個:hdfs-site.xml???hdfs-default.xml?
????????<!--?指定HDFS副本的數量?-->
????????<property>
????????????<name>dfs.replication</name>
????????????<value>1</value> ? ?
????</property>
群集時一般配置3個最合適。如果只有一臺機子,配置1吧,多了無益,而且會報錯。
-------------------------------------------------------------------------------------------------
????第四個:mapred-site.xml?(mv?mapred-site.xml.template?mapred-site.xml)
????????mv?mapred-site.xml.template?mapred-site.xml ? 修改文件名

????????vim?mapred-site.xml
????????<!--?指定mr運行在yarn上?-->
????????<property>
????????????<name>mapreduce.framework.name</name>
????????????<value>yarn</value>
????</property>
---------------------------------------------------------------------------------------------------
????第五個:yarn-site.xml
????????<!--?指定YARN的老大(ResourceManager)的地址?-->
????????<property>
????????????<name>yarn.resourcemanager.hostname</name>
????????????<value>hello110</value>
????</property>
????????<!--?reducer獲取數據的方式?-->
????<property>
????????????<name>yarn.nodemanager.aux-services</name>
????????????<value>mapreduce_shuffle</value>
?????</property>
---------------------------------------------------------------------------------------------------------------------------------

3、將hadoop添加到環境變量

????vim?/etc/proflie
????????export?JAVA_HOME=/usr/java/jdk1.7.0_65
????????export?HADOOP_HOME=/home/hadoop/hadoop-2.4.1/
????????export?PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/bin:$HADOOP_HOME/sbin

:$HADOOP_HOME/bin 是 hadoop 的一些常用腳本
:$HADOOP_HOME/sbin ?是啟動關閉hadoop的一些腳本

????source?/etc/profile

九、啟動hadoop


????1、格式化namenode(是對namenode進行初始化)
????????hdfs?namenode?-format?( ?hadoop?namenode?-format ?)

????2、啟動hadoop
????????先啟動HDFS
????????sbin/start-dfs.sh

? ? 3、再啟動YARN
????????sbin/start-yarn.sh

十、驗證是否啟動成功


????????使用jps命令驗證

????????27408?NameNode
????????28218?Jps
????????27643?SecondaryNameNode
????????28066?NodeManager
????????27803?ResourceManager
????????27512?DataNode?
-------------第一次的時候用的是2.4.1版本非穩定版,我jdk用了64位的jdk8。hadoop2.4.1的時候是32位的,導致不能啟動 datanode,后來下載了最新穩定版hadoop2.7.1,解決了。

十一、上傳文件測試


????????http://192.168.255.128:50070?(HDFS管理界面)
????????http://192.168.255.128:8088?(MR管理界面)

體驗:將jdk壓縮包上傳到hadoop里面,命令如下
hadoop fs -put jdk....... ?hdfs://hello110:9000 錯誤的命令
報錯:-put:?Pathname??from?hdfs://hello110:9000?is?not?a?valid?DFS?filename.

正確的命令:
hadoop fs -put jdk....... ?hdfs://hello110:9000/ ? ?
?最后的/ 不能少啊,報錯的原因是,無法訪問說,網絡連接不上說,讓我折騰了好久說





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

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

相關文章

c++-add two numbers 兩個鏈表相加

題目描述 You are given two linked lists representing two non-negative numbers. The digits are stored in reverse order and each of their nodes contain a single digit. Add the two numbers and return it as a linked list. Input: (2 -> 4 -> 3) (5 -> 6…

城軌的兩類時鐘系統均同步于_基于兩臺SDS3000示波器同步產生“8通道”示波器...

在很多應用場合需要4通道以上的示波器&#xff0c;但是市面上極大部分示波器最多只有四通道&#xff0c;而且沒有外部輸入的同步時鐘接口。 有什么快捷的方法獲得更多通道功能的示波器&#xff1f; 最簡便的方法是:將兩臺示波器的輔助輸入信號作為觸發源&#xff0c;同時連接到…

Linux設置ssh免密碼登錄

一、SSH來源 對于需要遠程管理其它機器&#xff0c;一般使用遠程桌面或者telnet。linux一般只能是telnet。但是telnet的缺點是通信不加密&#xff0c;存在不安全因素&#xff0c;只適合內網訪問。 為解決這個問題&#xff0c;推出了通信加密通信協議&#xff0c;即SSH&#x…

解析json數據_Retrofit同時解析JSON和XML數據格式

前言Android開發中&#xff0c;我們會經常遇到前端需要解析兩種數據格式(json和xml),比如自己服務器返回的是json格式的數據&#xff0c;我們做微信登錄的時候&#xff0c;微信返回的格式又是xml格式的。我們可以通過自己編寫Retrofit的ConverterFactory來做到可以同時解析兩種…

ORACLE 小時值必須介于1和12之間 解決方法

ORACLE數據庫查詢語句&#xff1a; "select * from dual where time>to_date(2012-10-29 19:45:34,yyyy-mm-dd HH:mi:ss)"當執行時&#xff0c;會拋出錯誤&#xff1a;ORA-01849: 小時值必須介于 1 和 12 之間 01849. 00000 - "hour must be between 1 and 1…

jenkins+svn+maven+ssh 部署配置詳細記錄

2019獨角獸企業重金招聘Python工程師標準>>> 先簡單記錄一下&#xff0c;后面再慢慢完善。 1、環境 jdk 1.7.0_45 maven 3.1.1 jenkins 2.3.21 jdk和maven的安裝就不必多說了&#xff0c;主要是jenkins的安裝需要說下&#xff0c;jenkins有war包和yum還有rpm等安裝方…

k8s安裝sqlite3_kubernetes環境部署單節點redis數據庫的方法

kubernetes部署redis數據庫(單節點)redis簡介Redis 是我們常用的非關系型數據庫&#xff0c;在項目開發、測試、部署到生成環境時&#xff0c;經常需要部署一套 Redis 來對數據進行緩存。這里介紹下如何在 Kubernetes 環境中部署用于開發、測試的環境的 Redis 數據庫&#xff0…

oracle 都是parallel惹的禍【1-2分鐘出結果變1-2秒】

原文&#xff1a;http://blog.csdn.net/shushugood/article/details/9000628 -------------------------------------------------------- 該項目是中國聯通xxxx話務系統&#xff0c;我的架構設計需求設計&#xff0c;運維保障數據庫開發&#xff0c;全套服務。 在今天開發完畢…

二叉搜索樹(BST樹)的簡單實現

#include <stdlib.h>template<typename T>class CBinSTree;template <typename T>class CTreeNode{//樹節點類public:CTreeNode(const T& item,CTreeNode<T>* lptr NULL,CTreeNode<T>* rptr NULL):data(item),left(lptr),right(rptr){}CTr…

Oracle 創建 DBLink 的方法

原文出處&#xff1a;http://blog.csdn.net/davidhsing/article/details/6408770 ------------------- 1、如果需要創建全局 DBLink&#xff0c;則需要先確定用戶有創建 dblink 的權限&#xff1a; [c-sharp] view plaincopy print?select * from user_sys_privs where privi…

eclipse init 配置

--設置最大的堆和最小堆大小.兩者一樣表示固定大小.這樣可以防止老年代內存擴展造成額外的gc.當然也會多占一些內存.系統內存不足的慎用 -Xms512m -Xmx512m --加大年輕代內存.減少minor gc -Xmn164m --這個是永久代大小.默認是64M,增加到96M.固定大小,減少擴展造成的gc -XX:Per…

Oracle對表空間操作的sql

管理員給用戶增加不限制表空間權限 grant unlimited tablespace to 用戶; 查看表空間使用情況 SELECT a.tablespace_name "表空間名", total "表空間大小", free "表空間剩余大小", (total - free) "表空間使用大小", total / (…

IPKISS Tutorials------線路仿真

IPKISS------線路仿真 推薦閱讀引言正文示例1------PDK中集成好的器件示例2------使用 i3.Circuit 框架示例3------i3.PCell 框架推薦閱讀 Matplotlib ------ 縱坐標科學計數法含義 引言 我們知道,想要在 IPKISS 中進行仿真,首先需要對線路進行定義,但是我們知道,在 IPK…

Oracle Database 11g Express Edition使用限制,與其他版本的區別

Oracle Database 11g Express Edition是 Oracle 數據庫的免費版本&#xff0c;支持標準版的大部分功能&#xff0c;11g Express Edition 提供 Windows 和 Linux 版本。 做為免費的 Oracle 數據庫版本&#xff0c;Express Edition的限制是&#xff1a; 1&#xff09;最大數據庫大…

c++ 復制構造函數_C++學習刷題8--復制構造函數和賦值運算符重載函數

一、前言本部分為C語言刷題系列中的第8節&#xff0c;主要講解這幾個知識點&#xff1a;復制構造函數和賦值運算符重載函數。歡迎大家提出意見、指出錯誤或提供更好的題目&#xff01;二、知識點講解知識點1&#xff1a;復制構造函數1、當依據一個已存對象創建一個新對象時&…

ORACLE使用WITH AS和HINT MATERIALIZE優化SQL解決FILTER效率低下

原文&#xff1a;http://blog.csdn.net/liangweiwei130/article/details/37882503 ------------------------------------------------- 在做項目的過程中&#xff0c;一個頁面使用類似如下的SQL查詢數據&#xff0c;為了保密和使用方便&#xff0c;我把項目中有關的表名和字段…

面試題333

2019獨角獸企業重金招聘Python工程師標準>>> 面試題333 博客分類&#xff1a; java 1、spring的緩存,mybatis緩存2、介紹下dubbo。A服務調用B服務&#xff0c;B服務又調用C服務,這種情況怎么辦3、JVM監控工具有哪些&#xff0c;區別又是什么&#xff08;如能追上各個…

mysql vfp_用 VFP 連接 MYSQL 數據庫

今天試了一下用 Visual FoxPro 連接 MySQL 數據庫。首先在自己機子上架設 MySQL 數據庫&#xff0c;就不多說了&#xff0c;我是直接用 XAMPP 架設的服務器。然后在 VFP 里輸入命令&#xff1a;sqlhandle SQLSTRINGCONNECT("driver{MySQL ODBC 5.1 Driver};server127.0.0…

oracle中with的用法及用處

原文出處&#xff1a;http://blog.csdn.net/chenjinlin1/article/details/6572401 ---------------------------------------------------------------- WITH 用于一個語句中某些中間結果放在臨時表空間的SQL語句 如 WITH channel_summary AS ( SELECT channels.channel_de…

xpath選擇當前結點的子節點

2019獨角獸企業重金招聘Python工程師標準>>> xpath選擇當前結點的子節點 博客分類&#xff1a; 搜索引擎&#xff0c;爬蟲 在通過selenium使用xpath選擇節點的時候&#xff0c;可能會遇到這么一種情況&#xff1a;在指定的當前節點下搜索滿足要求的節點。 node dri…