hadoop分布式集群搭建 (学习交流请加群:385215695)
1.安装jdk
root 用户
mkdir /usr/java/
cp -r jdk-8u101-linux-x64.tar.gz /usr/java
tar -zxvf jdk-8u101-linux-x64.tar.gz
vi /etc/profile 末尾增加
export JAVA_HOME=/usr/java/jdk1.8.0_101
export JAVA_BIN=/usr/java/jdk1.8.0_101/bin
export CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tool.jar
export PATH=/usr/java/jdk1.8.0_101/bin:$PATH
export PATH JAVA_HOME CLASSPATH
source /etc/profile
java -version
java version "1.8.0_101"
Java(TM) SE Runtime Environment (build 1.8.0_101-b13)
Java HotSpot(TM) 64-Bit Server VM (build 25.101-b13, mixed mode)
一、Hadoop安装
以下操作,均使用root用户
1 主机名与IP地址映射关系配置
Master节点上,执行如下命令:
#vi /etc/hosts
在文件最后,输入如下内容:
192.168.58.10 master.localdomain
192.168.58.11 slave1.localdomain
192.168.58.12 slave2.localdomain
保存,退出,然后通过scp命令,将配置好的文件拷贝其他两个Slave节点:
2 SSH免登陆配置
#ssh-keygen -t rsa 每台都执行
一直回车
/.合并公钥到authorized_keys文件,在Master服务器,进入/root/.ssh目录,通过SSH命令合并,
cat id_rsa.pub>> authorized_keys
把Master服务器的authorized_keys、known_hosts复制到Slave服务器的/root/.ssh目录
对每一个节点都发送这个认证文件后:执行 chmod 600 ~/.ssh/authorized_keys
或者 分别拷贝到Master以及Slave节点:
ssh-copy-id master
ssh-copy-id slave1
ssh-copy-id slave2
3.Hadoop安装文件上传到Master及两个Slave的/usr目录下
tar -zxvf hadoop-2.7.3.tar.gz
4.在Master上,使用Vi编辑器,设置环境变量
# vi /etc/profile
在文件最后,添加如下内容:
# Hadoop Env
export HADOOP_HOME=/usr/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
source /etc/profile
在slave上执行同样的操作
5.查看Hadoop版本信息
hadoop version
Hadoop 2.7.3
Compiled by root on 2016-08-18T01:41Z
Compiled with protoc 2.5.0
From source with checksum 2e4ce5f957ea4db193bce3734ff29ff4
This command was run using /usr/hadoop-2.7.3/share/hadoop/common/hadoop-common-2.7.3.jar
二、hadoop配置
以下操作均在Master节点,配置完后,使用scp命令,将配置文件拷贝到两个Slave节点即可。
切换到/usr/hadoop-2.7.3/etc/hadoop/目录下,修改如下文件:
1 hadoop-env.sh
在文件最后,增加如下配置:
export JAVA_HOME=/usr/java/jdk1.8.0_101
export HADOOP_PREFIX=/usr/hadoop-2.7.3
2 yarn-env.sh
在文件最后,增加如下配置:
export JAVA_HOME=/usr/java/jdk1.8.0_101
3 core-site.xml
创建tmp目录:#mkdir /usr/hadoop-2.7.3/tmp 三个都建
<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://master:9000</value>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/hadoop-2.7.3/tmp</value>
</property>
</configuration>
4 hdfs-site.xml
<configuration>
<property>
<name>dfs.replication</name>
<value>3</value>
</property>
</configuration>
5 mapred-site.xml 2.7.3没有此文件
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
</configuration>
6 yarn-site.xml
<configuration>
<!-- Site specific YARN configuration properties -->
<property>
<name>yarn.nodemanager.aux-services</name>
<value>mapreduce_shuffle</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
</configuration>
7 slaves
master
slave1
slave2
8 拷贝配置文件到两个Slave节点
在Master节点,执行如下命令:
# scp -r /usr/hadoop-2.7.3/etc/hadoop/
root@slave1:/usr/hadoop-2.7.3/etc/
# scp -r /usr/hadoop-2.7.3/etc/hadoop/
root@slave2:/usr/hadoop-2.7.3/etc/
三、hadoop使用
1 格式化NameNode
Master节点上,执行如下命令
#hdfs namenode -format
WARN net.DNS: Unable to determine address of the host-falling back to "localhost" address
java.net.UnknownHostException: master.localdomain: master.localdomain: unknown error
修改/etc/sysconfig/network中HOSTNAME的值为master,或者自己指定的主机名,保证localhost在/etc/hosts文件中映射为正确的IP地址,然后重新启动网络服务:
[
root@localhost bin]# /etc/rc.d/init.d/network restart 或者 service network restart
2 启动HDFS(NameNode、DataNode)
Master节点上,执行如下命令
#start-dfs.sh 报错 找不到命令
设置环境变量
vi ~/.bash_profile
#set hadoop path
export HADOOP_HOME=/usr/hadoop-2.7.3
export PATH=$PATH:$HADOOP_HOME/bin
source ~/.bash_profile
配置.bashrc
#HADOOP VARIABLES START
export JAVA_HOME=/usr/java/jdk1.8.0_101
export HADOOP_INSTALL=/usr/hadoop-2.7.3
export PATH=$PATH:$HADOOP_INSTALL/bin
export PATH=$PATH:$HADOOP_INSTALL/sbin
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"
#HADOOP VARIABLES END
source ~/.bashrc
使用jps命令,分别在Master以及两个Slave上查看Java进程
可以在Master上看到如下进程:
34225 SecondaryNameNode
33922 NameNode
34028 DataNode
49534 Jps
在两个Slave上,看到如下进程:
34028 DataNode
49534 Jps
3 启动 Yarn(ResourceManager 、NodeManager)
Master节点上,执行如下命令
#start-yarn.sh
使用jps命令,分别在Master以及两个Slave上查看Java进程
可以在Master上看到如下进程:
34225 SecondaryNameNode
33922 NameNode
34632 NodeManager
34523 ResourceManager
34028 DataNode
49534 Jps
在两个Slave上,看到如下进程:
34632 NodeManager
34028 DataNode
49534 Jps
4 通过浏览器查看HDFS信息
5 停止Yarn及HDFS
#stop-yarn.sh
#stop-dfs.sh
来自 “ ITPUB博客 ” ,链接:https://blog.itpub.net/29615265/viewspace-2139617/
,如需转载,请注明出处,否则将追究法律责任。