安装环境
ubuntu 16.04
所需软件
java sdk
Hadoop
ssh
rsync
单机模式
1. 安装java
http://www.oracle.com/technetwork/java/javase/downloads/index.html
新建目录
`/usr/lib/java
把下载的sdk文件移到其中mv /root/Downloads/jdk-file-name /usr/lib/java tar -xvf jdk-file-name.tar.gz
修改环境变量
vim ~/.bashrc
export JAVA_HOME=/usr/lib/java/jdk1.8.0_161 export JRE_HOME=$JAVA_HOME/jre export CLASS_PATH=.:$JAVA_HOME/lib:$JAVA_HOME/jre/lib:$CLASS_PATH
source ~/.bashrc
2. 安装ssh
apt-get install ssh
启动服务
/etc/init.d/ssh start
设置免密码登录,生成私钥与公钥
ssh-keygen -t rsa -P “”
将公钥追加到authorized_keys
cat ~/.ssh/id_rsa.pub >> ~/.ssh/authorized_keys
检查是否能无密码登录ssh
ssh localhost
3. 安装rsync
apt-get install rsync
4. 安装Hadoop
https://mirrors.cnnic.cn/apache/hadoop/common/hadoop-3.0.0/
将下载下来的hadoop解压到新建的
/usr/local/hadoop
中进入/usr/local/hadoop/hadoop-3.0.0/etc/hadoop
在hadoop-env.sh中配置java安装信息
export JAVA_HOME=/usr/lib/java/jdk1.8.0_161
使hadoop-env.sh配置信息生效
source hadoop-env.sh
为方便开机后可以立即使用hadoop的
bin
下命令,可将bin
目录配置到~/.bashrc中vim ~/.bashrc export PATH=$JAVA_HOME/bin:/usr/local/hadoop/hadoop-3.0.0/bin:/usr/local/hadoop/hadoop-3.0.0/sbin:$PATH
使配置生效
source ~/.bashrc
验证hadoop版本信息
hadoop version
5. 运行hadoop自带的例子
在hadoop目录下创建input目录,并将
/usr/local/hadoop/hadoop-3.0.0/etc/hadoop
下所有文件复制到input目录下mkdir usr/local/hadoop/hadoop-3.0.0/input cp /usr/local/hadoop/hadoop-3.0.0/etc/hadoop/*.xml usr/local/hadoop/hadoop-3.0.0/input
进入
/usr/local/hadoop/hadoop-3.0.0/share/hadoop/mapreduce/
hadoop jar hadoop-mapreduce-examples-3.0.0.jar grep usr/local/hadoop/hadoop-3.0.0/input usr/local/hadoop/hadoop-3.0.0/output 'principal[.]*'
使用hadoop命令运行自带的
wordcount
程序,结果输出到output中hadoop jar hadoop-examples-1.2.1.jar wordcount input output
最后可在output中看到input中文件单词的统计结果: 都多少个‘principal’ 和多少个 ‘principal.’
到此hadoop单机模式配置及验证成功
伪分布模式
配置hadoop核心配置文件core-site.xml,主要配置hdfs地址和端口号
<configuration> <property> <name>fs.default.name</name> <value>hdfs://localhost:9000</value> </property> <property> <name>hadoop.tmp.dir</name> <value>/usr/local/hadoop/hadoop-3.0.0/tmp</value> </property> </configuration>
配置hadoop hdfs配置文件hdfs-site.xml,主要配置replication
<configuration> <property> <name>dfs.replication</name> <value>1</value> </property> <property> <name>dfs.name.dir</name> <value>/usr/local/hadoop/hadoop-3.0.0/hdfs/name</value> </property> <property> <name>dfs.data.dir</name> <value>/usr/local/hadoop/hadoop-3.0.0/hdfs/data</value> </property> </configuration>
配置hadoop的MapReduce配置文件 mapred-site.xml, 主要配置
<configuration> <property> <name>mapred.job.tracker</name> <value>localhost:9001</value> </property> </configuration>
Hadoop namenode 格式化
hdfs namenode -format
进入
/usr/local/hadoop/hadoop-3.0.0/sbin
, 在start-dfs.sh
和stop-dfs.sh
中加入:HDFS_DATANODE_USER=root HADOOP_SECURE_DN_USER=hdfs HDFS_NAMENODE_USER=root HDFS_SECONDARYNAMENODE_USER=root
在
start-yarn.sh
和stop-yarn.sh
中加入:YARN_RESOURCEMANAGER_USER=root HADOOP_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
启动hadoop
start-dfs.sh start-yarn.sh
或直接
start-all.sh
运行例子
hdfs dfs -mkdir -p /user/root/input hdfs dfs -copyFromLocal /usr/local/hadoop/hadoop-3.0.0/etc/hadoop/* /user/root/input hadoop jar hadoop-mapreduce-examples-3.0.0.jar grep /user/root/input /user/root/output2 'principal[.]*'

Web UI
Namenode
http://localhost:9870
Resource manager
http://localhost:8088
MapReduce job history server
http://localhost:19888
到此hadoop伪分布模式配置及验证成功