hadoop2.7.2 完全分布式环境搭建
环境准备
我们准备 3 台服务器
192.168.31.216 namenode 主机名:hbase1 =注意namenode对应hbase1
192.168.31.217 datanode1 主机名:hbase2
192.168.31.218 datanode2 主机名:hbase3
- 创建 hadoop 用户(3 台操作)
先使用 groupadd hadoop 建立 hadoop 用户组
新建用户,useradd -d /usr/hadoop -g hadoop -m hadoop (新建用户 hadoop 指定用户主目录/usr/hadoop 及所属组 hadoop)
passwd hadoop 设置 hadoop 密码(这里设置密码为 hadoop)
- 配置 hadoop 集群中免密码登录(namenode->datanode1,datanode2)
su hadoop
/usr/hadoop/.ssh
ssh-keygen -t rsa
ssh-copy-id hbase1
ssh-copy-id hbase2
ssh-copy-id hbase3
# hbase1,hbase2,hbase3是我的主机名,主机名自己设置的
尝试下是否实现了无密码切换服务器。
- 安装好 jdk1.8 版本
centos7.4 安装卸载 jdk
- 查看 jdk 安装包
su root
[hadoop@hbase1 hadoop]$ rpm -qa | grep jdk
copy-jdk-configs-2.2-5.el7_4.noarch
java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-accessibility-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-javadoc-zip-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-javadoc-zip-debug-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-headless-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-accessibility-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-demo-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-javadoc-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-src-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-javadoc-debug-1.8.0.161-0.b14.el7_4.noarch
java-1.8.0-openjdk-src-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-devel-debug-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-devel-1.8.0.161-0.b14.el7_4.x86_64
java-1.8.0-openjdk-demo-debug-1.8.0.161-0.b14.el7_4.x86_64
- 卸载 jdk
对于如上的每一行输出,都调用rpm -e --nodeps,如:
rpm -e --nodeps java-1.8.0-openjdk-headless-1.8.0.161-0.b14.el7_4.x86_64
-e 表示卸载
--nodeps 表示不考虑是否有依赖问题,强制卸载
-安装 openjdk
yum install java-1.8.0-openjdk java-1.8.0-openjdk-devel #安装openjdk
vim /usr/hadoop/.bash_profile
export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk
PATH=$PATH:$JAVA_HOME/bin
source /usr/hadoop/.bash_profile
- 修改主机名 vim /etc/hostname 分别改为 hbase1,hbase2,hbase3
- 修改 hosts vim /etc/hosts
192.168.31.216 hbase1
192.168.31.217 hbase2
192.168.31.218 hbase3
mkdir -p /usr/local/hadoop
chown -R hadoop:hadoop /usr/local/hadoop
- 切换 hadoop 用户
cd /usr/local/hadoop
7.上传 hadoop-2.7.5.tar.gz 到/usr/local/hadoop 并解压
tar zxvf hadoop-2.7.5.tar.gz
- 配置 hadoop 环境变量,修改 hadoop 用户目录下的.bash_profile 文件
vim /usr/hadoop/.bash_profile
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.5
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
source /usr/hadoop/.bash_profile
- 修改/usr/local/hadoop/hadoop-2.7.5/etc/hadoop/hadoop-env.sh 文件,修改内容如下:
- 加入一行 export HADOOP_LOG_DIR=/usr/local/hadoop/logs ,如果不存在该日志路径,创建。
- 设置 jdk 安装路径 export JAVA_HOME=/usr/lib/jvm/java-1.8.0-openjdk (把配置文件中 jdk 配置去掉注释,并加上路径即可)
修改 hadoop 配置文件
- core-site.xml
<configuration>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/hadoop-2.7.5/tmp/</value>
<description> Abase for other temporary directories</description>
</property>
<property>
<name>fs.defaultFS</name>
<value>hdfs://hbase1:9000</value>
</property>
<property>
<name>io.file.buffer.size</name>
<value>4096</value>
</property>
</configuration>
- hdfs-site.xml
<configuration>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/hadoop-2.7.5/dfs/name</value>
</property>
<property>
<name>dfs.replication</name>
<value>2</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/hadoop-2.7.5/dfs/data</value>
</property>
<property>
<name>dfs.chechpoint.dir</name>
<value>/usr/local/hadoop/hadoop-2.7.5/checkpoint/dfs/cname</value>
</property>
<property>
<name>dfs.http.address</name>
<value>hbase1:50070</value>
</property>
<property>
<name>dfs.secondary.http.address</name>
<value>hbase1:50090</value>
</property>
<property>
<name>dfs.webhdfs.enabled</name>
<value>true</value>
</property>
<property>
<name>dfs.permissions</name>
<value>false</value>
</property>
</configuration>
- mapred-site.xml
<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
<final>true</final>
</property>
<property>
<name>mapreduce.jobhistory.address</name>
<value>hbase1:10020</value>
</property>
<property>
<name>mapreduce.jobhistory.webapp.address</name>
<value>hbase1:19888</value>
</property>
</configuration>
- 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.address</name>
<value>hbase1:8032</value>
</property>
<property>
<name>yarn.resourcemanager.scheduler.address</name>
<value>hbase1:8030</value>
</property>
<property>
<name>yarn.resourcemanager.resource-tracker.address</name>
<value>hbase1:8031</value>
</property>
<property>
<name>yarn.resourcemanager.admin.address</name>
<value>hbase1:8033</value>
</property>
<property>
<name>yarn.resourcemanager.webapp.address</name>
<value>hbase1:8088</value>
</property>
</configuration>
配置 slaves
vim etc/hadoop/slaves
hbase1
hbase2
hbase3
在 hbase2,hbase3 上分别修改配置文件
启动之前需要格式化
启动之前,在 namenode 服务器上先格式化,只需格式化一次就好了
hadoop namenode -format
启动 hadoop
start-dfs.sh
start-yarn.sh
这就大功告成了
欢迎来到这里!
我们正在构建一个小众社区,大家在这里相互信任,以平等 • 自由 • 奔放的价值观进行分享交流。最终,希望大家能够找到与自己志同道合的伙伴,共同成长。
注册 关于