Hadoop安裝

記錄下Hadoop的安裝

Hadoop用戶建立

  1. 建立用戶組
sudo addgroup hadoop
  1. 建立hadoop用戶
sudo adduser -ingroup hadoop hadoop
  1. 添加權限
sudo vim /etc/sudoers
 // 添加如下內容
hadoop ALL=(ALL:ALL) ALL

JDK安裝

  1. 解壓縮jdk,並放到/usr/lib/jvm目錄下
tar xvz -f jdk-8u171-linux-x64.tar.gz
sudo cp -r ~/Downloads/jdk1.8.0_171 /usr/lib/jvm
  1. 配置環境變量
vim /etc/profile
// 添加一下內容
export JAVA_HOME=/usr/lib/jvm
export JRE_HOME=${JAVA_HOME}/jre
export CLASSPATH=.:${JAVA_HOME}/lib:${JRE_HOME}/lib
export PATH=${JAVA_HOME}/bin:$PATH

source /etc/profile

Hadoop安裝

  1. 將Hadoop解壓縮到/usr/local下java

    tar xvz -f hadoop-2.8.3.tar.gz sudo cp -r hadoop-2.8.3 /usr/local/ sudo ln -s /usr/local/hadoop-2.8.3 hadoopnode

  2. 配置環境變量linux

vim ~/.zshrc
// 添加如下內容
# Java Variable Start
export JAVA_HOME=/usr/lib/jvm
export PATH=${JAVA_HOME}/bin:$PATH
# Java Variable End
	
# Hadoop Variable Start
export HADOOP_INSTALL=/usr/local/hadoop
export PATH=${HADOOP_INSTALL}/bin:$PATH
export PATH=${HADOOP_INSTALL}/sbin:$PATH
export HADOOP_MAPRED_HOME=${HADOOP_INSTALL}
export HADOOP_COMMON_HOME=${HADOOP_INSTALL}
export HADOOP_HDFS_HOME=${HADOOP_INSTALL}
export YARN_HOME=${HADOOP_INSTALL}
export HADOOP_COMMON_LIB_NATIVE_DIR=${HADOOP_INSTALL}/lib/native
export HADOOP_OPTS="-Djava.library.path=${HADOOP_INSTALL}/lib"

source ~/.zshrc
  1. 檢查配置是否成功

查看hadoop版本git

hadoop version
// 獲得如下輸出
Hadoop 2.8.3
Subversion https://git-wip-us.apache.org/repos/asf/hadoop.git -r b3fe56402d908019d99af1f1f4fc65cb1d1436a2
Compiled by jdu on 2017-12-05T03:43Z
Compiled with protoc 2.5.0
From source with checksum 9ff4856d824e983fa510d3f843e3f19d
This command was run using /usr/local/hadoop-2.8.3/share/hadoop/common/hadoop-common-2.8.3.jar

另外,下載Hadoop3.0.*發現,提供了一個最新的安裝方法是使用docker安裝。安裝好docker後,執行start-build-env.sh腳本,會自動安裝全部用到的工具,準備好用於Hadoop源碼編譯的環境。而後用marven管理整個Hadoop項目。嘗試了一下,可使用,可是不會用docker,後面再看吧。另外安裝過程當中注意要麼更換鏡像源,要麼設置系統全局代理(命令行),否則不只速度感人,並且極可能會失敗docker

僞分佈式配置

hadoop的配置文件在/usr/local/hadoop/etc/hadoop下,配置文件是xml格式的,每一個配置聲明都以name和value的形式說明。配置爲僞分佈式須要修改兩個配置文件:core-site.xml和hdfs-site.xmlapache

  1. 配置core-site.xml, 添加如下內容
<property>
        <name>fs.defaultFS</name>
        <value>hdfs://localhost:9000</value>
</property>
<property>
        <name>hadoop.tmp.dir</name>
        <value>file:/usr/local/hadoop/tmp</value>
</property>

兩個屬性,第一個配置了NameNode的主機地址和端口號,第二個配置了hadoop運行時產生的文件的路徑vim

  1. 配置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>

三個屬性,第一個指定了hdfs保存數據的副本數量,分佈式中通常是3。下面兩個分別指定namenode和datanode的文件路徑jvm

運行wordcount實例

注意輸出文件夾不容許已經存在,hadoop會本身建立分佈式

hdfd namenode -format        // 格式化namenode
hadoop/sbin/start-dfs.sh        // 啓動hdfs
hdfs dfs -mkdir -p /user/hadoop    // 建立用戶目錄
hdfs dfs -rm -r -f output
hdfs dfs -mkdir input
hdfs dfs -put README.txt input
hadoop jar share/hadoop/mapreduce/sources/hadoop-mapreduce-examples-2.6.5-sources.jar org.apache.hadoop.examples.WordCount input output

這裏找到一個很詳細的教程 http://dblab.xmu.edu.cn/blog/install-hadoop-cluster/工具

相關文章
相關標籤/搜索