hadoop伪分布式(单机版)安装,Linux
一、下載
1、hadoop官網下載:https://archive.apache.org/dist/hadoop/common/
進入stable文件夾里下載,這是穩定版本。
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/hosts192.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/ ? ? ?最后的/ 不能少啊,報錯的原因是,無法訪問說,網絡連接不上說,讓我折騰了好久說
總結
以上是生活随笔為你收集整理的hadoop伪分布式(单机版)安装,Linux的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: Jetty实战之 安装 运行 部署
- 下一篇: sql排名名次分页mysql_mysql