centos6.5配置Hadoop环境,运行wordcount例子
- 安裝vmware12,centos6.5(還是6.5好,穩定流暢,7界面好看但是虛擬機里面卡死了),刪除自帶openjdk下載安裝jdk1.7
- 配置環境變量 vim /etc/profile->最后加上下面這段
export JAVA_HOME=/usr/java/jdk1.7.0_79
exportCLASSPATH=.:$JAVA_HOME/jre/lib/rt.jar:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar
export PATH=$PATH:$JAVA_HOME/bin
執行source/etc/profile使之生效
- 安裝hadoop,下載下載 hadoop-2.x.y.tar.gz這樣類型的,64位電腦記得下載64位的
- 執行tar -zxf ~/下載/hadoop-2.6.0.tar.gz -C /usr/local 釋放hadoop到本地,修改一下名字mv hadoop-2.6.0 hadoop
- 配置環境變量,/etc/profile下面加上這兩行
export HADOOP_HOME=/usr/local/hadoop
export PATH=$PATH:$HADOOP_HOME/sbin:$HADOOP_HOME/bin
- 修改/usr/local/hadoop/etc/hadoop/下的 core-site.xml和hdfs-site.xml
core-site.xml:
<configuration>
??? <property>
???????<name>hadoop.tmp.dir</name>
???????<value>file:/usr/local/hadoop/tmp</value>
???????<description>Abase for other temporary directories.</description>
??? </property>
??? <property>
???????<name>fs.defaultFS</name>
???????<value>hdfs://localhost:9000</value>
??? </property>
</configuration>
hdfs-site.xml:
<configuration>
??? <property>
???????<name>dfs.replication</name>
???????<value>1</value>
??? </property>
??? <property>
???????<name>dfs.namenode.name.dir</name>
???????<value>file:/usr/local/hadoop/tmp/dfs/name</value>
??? </property>
??? <property>
???????<name>dfs.datanode.data.dir</name>
???????<value>file:/usr/local/hadoop/tmp/dfs/data</value>
??? </property>
</configuration>
- 執行./bin/hdfs namenode -format??進行 NameNode的格式化
成功的話,會看到“successfully formatted”和“Exitting with status 0”的提示,若為“Exitting with status 1”則是出錯。
- 接著開啟 NaneNode 和 DataNode 守護進程:執行sbin/start-dfs.sh? 開啟守護進程
- 2.x版本之后上傳命令不一樣了:hadoop fs -mkdir input改為hdfs dfs -mkdir -p
- input目錄創建完成之后,開始上傳本地目錄:
上傳失敗顯示:mkdir: Cannot create directory /input. Name node is insafe mode.
通過執行bin/hadoop dfsadmin -safemode leave 來關閉safe mode
- 上傳文件報錯:WARN hdfs.DFSClient: DataStreamer Exception,原因是防火墻未關閉,執行service iptables stop關閉防火墻
- 若要停止hadoop進程,./sbin/stop_all.sh(注意:要先啟動namenode然后再啟動其他,否則也會報上面的錯)
- hadoop fs?-mkdir /input創建input文件夾
- hadoop fs -put 文件 /input(如:hadoop fs -put 1 /input是將當前目錄的文件1上傳至hdfs中的/input目錄下)
- hadoop jar hadoop-mapreduce-examples-2.5.1.jar wordcount /input/1 /input/output/1? 運行wordcount程序
- hadoop fs -cat /input/output/1查看生成的文件?
總結
以上是生活随笔為你收集整理的centos6.5配置Hadoop环境,运行wordcount例子的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: MQTT代理服务器特性对比
- 下一篇: 【Python】利用Conda尝鲜Pyt