下载安装包
wget http://apache.claz.org/hadoop/common/hadoop-3.2.0/hadoop-3.2.0.tar.gz
解压
tar -xvjf hadoop-3.2.0.tar.gz
移到某个目录下
mv hadoop-3.2.0/ /usr/hadoop/
下载jdk
wget https://download.oracle.com/otn-pub/java/jdk/8u201-b09/42970487e3af4f5aa5bca3f542482c60/jdk-8u201-linux-x64.tar.gz?AuthParam=1552290789_7c1b6820046571a441f0c967f353aa33
解压
tar -xvjf jdk-8u201-linux-x64.tar.gz
移到某个目录下
mv jdk1.8.0_201/ /usr/java/
设置环境变量:
export JAVA_HOME=/usr/java/jdk1.8.0_201
export HADOOP_HOME=/usr/hadoop/hadoop-3.2.0
export PATH=$PATH:$JAVA_HOME/bin:$HADOOP_HOME/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib
按照例子测试单机模式:
这种模式,仅1个节点运行1个java进程,主要用于调试。
3.1.1 在Hadoop的安装目录下,创建input目录
1 |
|
3.1.2 拷贝input文件到input目录下
1 |
|
3.1.3 执行Hadoop job
1 |
|
上面的job是使用hadoop自带的样例,在input中统计含有dfs的字符串。
3.1.4 确认执行结果
1 |
|
基本能成功!
伪分布:
# vi etc/hadoop/core-site.xml
fs.defaultFS
hdfs://localhost:9000
# vi etc/hadoop/hdfs-site.xml
dfs.replication
1
若为root用户需要这样:
$ vim sbin/start-dfs.sh
$ vim sbin/stop-dfs.sh
在顶部空白处添加内容:
HDFS_DATANODE_USER=root
HADOOP_SECURE_DN_USER=hdfs
HDFS_NAMENODE_USER=root
HDFS_SECONDARYNAMENODE_USER=root
---------------------
还需要重新声明JAVA_HOME
vim etc/hadoop/hadoop-env.sh
添加 JAVA_HOME=/usr/java/jdk1.8.0_201
测试:
格式化:hdfs namenode -format
启动:sbin/start-dfs.sh
确认: jps
2148 NameNode
14534 Jps
2375 DataNode
3037 SecondaryNameNode
配置yarn:
同理添加
YARN_RESOURCEMANAGER_USER=root YARN_SECURE_DN_USER=yarn YARN_NODEMANAGER_USER=root
默认http端口9870:http://192.168.0.11:9870