环境:【centos7、hadoop-2.7.3、zookeeper-3.4.6、hbase-1.2.5】

两个节点:【主节点,主机名为Master,用户为root;从节点,主机名为Slave,用户为root】

1、设置主机名,实现域名通信(所有节点都要改)

修改hostname主机名

hostnamectl set-hostname 主机名 #修改三种主机名

hostnamectl –static set-hostname 主机名 #只会修改static主机名

ifconfig查看ip

我这里虚拟机是桥接模式,网段改成172.168了,根据自己需求进行更改;

在虚拟机的菜单-编辑->虚拟网络编辑器中能看到信息;

编辑配置文件,sudo vim /etc/sysconfig/network-scripts/ifcfg-ens33,将ip信息添加进去

主节点:172.168.0.223

从节点:172.168.0.222

修改配置文件,sudo vim /etc/hosts(每个主机都要改)

设置dns就可以域名通信了

进入到配置文件中sudo vim /etc/resolv.conf

ping一下,看看能不能通(如果不通,检查一下防火墙有没有关)

systemctl status firewalld 检查防火墙状态
systemctl stop firewalld 关闭
systemctl disable firewalld 禁用

2、配置ssh免密登录

① 本机无密钥登录(主节点:Master)

1.进入~/.ssh目录(若无,则执行一次ssh localhost),

2.执行ssh-keygen -t rsa命令(回车即可),

3.再执行cat ./id_rsa.pub >> ./authorized_keys命令,把id_rsa.pub追加到授权的key里面,

4.给authorized_keys授权chmod 644 authorized_keys, ls -al ~/.ssh命令看权限,

5.重启 sudo service sshd restart

6.连接 ssh localhost(yes/no,手动输入yes)

7.退出 exit

② 与其他节点的无密钥登录

1.从节点一样执行①中1、2,

2.Master把authorized_keys分发到Slave上(会提示输入密码,输入密码即可),scp ./authorized_keys username(用户名)@(ip地址/主机名):/root/.ssh (目录根据自己机子来)

3.在其他机子上执行①中步骤4授权

4.尝试连接其他机子,ssh 用户名@ip地址/域名

免密登录配置完成!!!

3、安装jdk(所有节点都要装)

先删除centos7自带的openjdk

①rpm -qa | grep java

②rpm -e --nodeps Openjdk

(我装的是jdk1.8.0_221)

jdk下载地址

需要登录哦!!!

1.下载完成后解压到/usr/local/java目录下(没有java目录就创建)

  tar -xzvf  jdk-8u221-linux-x64.tar.gz

2.配置环境变量

  sudo vim /etc/profile

  JAVA_HOME=/usr/local/java/jdk1.8.0_221
JRE_HOME=$JAVA_HOME/jre
CLASS_PATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar:$JRE_HOME/lib
PATH=$PATH:$JAVA_HOME/bin:$JRE_HOME/bin
export JAVA_HOME JRE_HOME CLASS_PATH PATH source /etc/profile(使文件生效)

3.验证

  java -version

4、安装hadoop(主节点安装后,分发给其他节点就好)

hadoop下载地址

1.同样解压,我设的目录是/usr/local/hadoop

2.配置环境变量

  sudo vim /etc/profile

  HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
HADOOP_COMMON_LIB_NATIVE_DIR=$HADOOP_HOME/lib/native
PATH=$PATH:$HADOOP_HOME/bin:$HADOOP_HOME/sbin
export HADOOP_HOME HADOOP_COMMON_LIB_NATIVE_DIR PATH source /etc/profile(使文件生效)

3.修改hadoop的配置文件

进入到/usr/local/hadoop/hadoop-2.7.3/etc/hadoop/目录下,在hadoop-env.sh和yarn-env.sh两个文件中添加JAVA_HOME

  cd /usr/local/hadoop/hadoop-2.7.3/etc/hadoop
vim hadoop-env.sh
export JAVA_HOME=/usr/local/java/jdk1.8.0_221
export HADOOP_HOME=/usr/local/hadoop/hadoop-2.7.3
export HDFS_NAMENODE_USER=root
export HDFS_DATANODE_USER=root
export HDFS_SECONDARYNAMENODE_USER=root
export YARN_RESOURCEMANAGER_USER=root
export YARN_NODEMANAGER_USER=root
export HADOOP_OPTS="-Djava.library.path=${HADOOP_HOME}/lib/native"(更改hadoop_opts)
source hadoop-env.sh(使文件生效)



  vim yarn-env.sh

    # export JAVA_HOME=/home/y/libexec/jdk1.6.0/
export JAVA_HOME=/usr/local/java/jdk1.8.0_221 source yarn-env.sh

另外还有四个site.xml的文件需要配置

core-site.xml

<configuration>
<property>
<name>fs.defaultFS</name>
<value>hdfs://172.168.0.223:9000</value>
<description>HDFS的URI,文件系统://namenode标识:端口号</description>
</property>
<property>
<name>hadoop.tmp.dir</name>
<value>/usr/local/hadoop/tmp</value>
<description>namenode上本地的hadoop临时文件夹</description>
</property>
</configuration>

hdfs-site.xml

<configuration>
<property>
<name>dfs.replication</name>
<value>1</value>
<description>副本个数,配置默认是3,应小于datanode机器数量</description>
</property>
<property>
<name>dfs.namenode.name.dir</name>
<value>/usr/local/hadoop/dfs/name</value>
</property>
<property>
<name>dfs.datanode.data.dir</name>
<value>/usr/local/hadoop/dfs/data</value>
</property>
<property>
<name>dfs.namenode.http-address</name>
<value>master:50070</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.nodemanager.aux-services.mapreduce.shuffle.class</name>
<value>org.apache.hadoop.mapred.ShuffleHandler</value>
</property>
<property>
<name>yarn.resourcemanager.hostname</name>
<value>master</value>
</property>
<property>
<name>yarn.nodemanager.resource.cpu-vcores</name>
<value>1</value>
</property>
<property>
<name>yarn.nodemanager.vmem-check-enabled</name>
<value>false</value>
</property>
</configuration>

mapred-site.xml

<configuration>
<property>
<name>mapreduce.framework.name</name>
<value>yarn</value>
</property>
<property>
<name>mapred.job.tracker</name>
<value>master:49001</value>
</property>
<property>
<name>mapred.local.dir</name>
<value>/usr/local/hadoop/var</value>
</property>
</configuration>

slaves文件中添加你的主机和节点

4.将hadoop分发到其他节点,用scp命令

scp -r /usr/local/hadoop Slave:/usr/local

5.格式化namenode

进入hadoop-2.7.3下的sbin目录下执行 命令

hdfs namenode -format

6.启动hadoop

执行这两个命令

./start-dfs.sh

./start-yarn.sh

7.jps查看

jps命令找不到的解决办法:

yum list *openjdk-devel*
yum install java-1.8.0-openjdk-devel.x86_64

8.访问浏览器

9.访问集群所有应用程序默认8088

5、安装zookeeper(主从节点都要)

zookeeper下载地址

1.同上步骤解压到/usr/local/zookeeper下

2.进入到目录conf下,执行cp zoo_sample.cfg zoo.cfg命令,复制 zoo_sample.cfg 到 zoo.cfg文件中

3.编辑zoo.cfg文件 vim zoo.cfg



4.进入到目录data下,创建myid文件并添加对应的数字

Master节点:1;Slave节点:2;

5.编辑配置文件/etc/profile

ZOOKEEPER_HOME=/usr/local/zookeeper/zookeeper-3.4.6

6.进入到bin目录下,执行 ./zkServer.sh start,启动zk服务

【注】:要两台都启动,可查看zookeeper.out日志文件查看错误

查看zookeeper状态,一个是leader,一个是follewer



6、安装hbase(主节点安装)

所有节点时间要同步!!!

【注】:

查看时间命令 timedatectl

调整硬件时间和本地一致 timedatectl set-local-rtc 1

linux同步时间 ntpdate ntp.sjtu.edu.cn

hbase下载地址

1.解压到/usr/local/hbase目录下

2.修改配置文件 ,到conf目录下

hbase-env.sh

hbase-site.xml

<configuration>
<property>
<name>hbase.rootdir</name>
<value>hdfs://172.168.0.223:9000/hbase</value>
</property>
<property>
<name>hbase.cluster.distributed</name>
<value>true</value>
</property>
<property>
<name>hbase.master.info.port</name>
<value>16010</value>
</property>
<property>
<name>hbase.regionserver.info.port</name>
<value>16030</value>
</property>
<property>
<name>hbase.zookeeper.quorum</name>
<value>Master,Slave</value>
</property>
<property>
<name>hbase.zookeeper.property.dataDir</name>
<value>/usr/local/zookeeper/data</value>
</property>
<property>
<name>hbase.coprocessor.abortonerror</name>
<value>false</value>
</property>
</configuration>

regionservers (添加从节点)

/etc/profile

HBASE_HOME=/usr/local/hbase/hbase-2.0.5

最终主节点的/etc/profile文件中的配置

最终从节点的/etc/profile文件中的配置

3.scp拷到另一节点

scp -r /usr/local/hbase Slave:/usr/local

【注】:root用户可直接拷贝至/usr/local/目录下,非root用户可先拷贝至home目录在移动

4.启动hbase

./start-hbase.sh

5.jps命令查看



6.浏览器查看

centos7搭建hadoop-2.7.3,zookeeper-3.4.6,hbase-1.2.5(root用户)的更多相关文章

  1. CentOS7 搭建Kafka(一)zookeeper篇

    CentOS7 搭建Kafka(一)zookeeper篇 近几年当红小生Kafka备受各路英雄好汉追捧,一点不比老前辈RabbitMQ和ActiveMQ差,因为流行,所以你就得学啊:我这么懒,肯定是不 ...

  2. centOS7搭建hadoop,zookeeper,hbase

    1.配置ssh免密登录 (本人使用的是centOS7虚拟机) (本人未在root用户下安装,建议使用root用户,不然很麻烦!!) ① 本机无密钥登录 1.进入~/.ssh目录(若无,则执行一次ssh ...

  3. CentOS7搭建 Hadoop + HBase + Zookeeper集群

    摘要: 本文主要介绍搭建Hadoop.HBase.Zookeeper集群环境的搭建 一.基础环境准备 1.下载安装包(均使用当前最新的稳定版本,截止至2017年05月24日) 1)jdk-8u131 ...

  4. 初学Hadoop:利用VMWare+CentOS7搭建Hadoop集群

     一.前言 开始学习数据处理相关的知识了,第一步是搭建一个Hadoop集群.搭建一个分布式集群需要多台电脑,在此我选择采用VMWare+CentOS7搭建一个三台虚拟机组成的Hadoop集群. 注:1 ...

  5. centos7 搭建hadoop

    参考文档:http://blog.csdn.net/xiaoxiangzi222/article/details/52757168 https://waylau.com/centos-7-instal ...

  6. Centos7搭建hadoop完全分布式

    虽然说是完全分布式,但三个节点也都是在一台机器上.拿来练手也只能这样咯,将就下.效果是一样滴.这个我自己都忘了步骤,一起来回顾下吧. 必备知识: Linux基本命令 vim基本命令 准备软件: VMw ...

  7. 搭建Hadoop完全分布式

    Centos7搭建hadoop完全分布式 虽然说是完全分布式,但三个节点也都是在一台机器上.拿来练手也只能这样咯,将就下.效果是一样滴.这个我自己都忘了步骤,一起来回顾下吧. 必备知识: Linux基 ...

  8. 搭建伪分布式 hadoop3.1.3 + zookeeper 3.5.7 + hbase 2.2.2

    安装包 Hadoop 3.1.3 Zookeeper 3.5.7 Hbase 2.2.2 所需工具链接: 链接:https://pan.baidu.com/s/1jcenv7SeGX1gjPT9RnB ...

  9. 在Centos7下搭建大数据环境,即Zookeeper+Hadoop+HBase

    1. 所需软件下载链接(建议直接复制链接到迅雷下载更快): ①hadoop-2.7.6.tar.gz: wget http://mirrors.tuna.tsinghua.edu.cn/apache/ ...

  10. Hadoop学习笔记—14.ZooKeeper环境搭建

    从字面上来看,ZooKeeper表示动物园管理员,这是一个十分奇妙的名字,我们又想起了Hadoop生态系统中,许多项目的Logo都采用了动物,比如Hadoop采用了大象的形象,所以我们可以猜测ZooK ...

随机推荐

  1. lua堆栈

    lua堆栈 来源 https://blog.csdn.net/suhuaiqiang_janlay/article/details/56702381 来源 https://blog.csdn.net/ ...

  2. git 报错fatal: not a git repository (or any of the parent directories): .git

    产生原因:一般是没有初始化git本地版本管理仓库,所以无法执行git命令 解决方法:操作之前执行以下命令行:  git init 初始化git,即可解决:

  3. php 限制标题长度,将一个中文转换成一个字符

    点击链接加入群[php/web 学习课堂]:https://jq.qq.com/?_wv=1027&k=5UJ9vEa 欢迎大家加入,一起讨论学习 玩这个功能的时候,我们要注意一点,我们是用中 ...

  4. list 字符串拼接效率实验

    ist 字符串拼接有多种方法,我就其中常用三种做了实验,实验代码如下: 第一次是为了初始化静态方法,后面的才是效率比较. 结果如下: StringUtils join 方法用的是StringBuild ...

  5. C#【堆与栈 值类型 引用类型】

    先说C#中值类型和引用类型 概念: 1.值类型:数据存储在内存的堆栈中,从堆栈中可以快速地访问这些数据,因此,值类型表示实际的数据. 2.引用类型:表示指向存储在内存堆中的数据的指针或引用(包括类.接 ...

  6. 在Ubuntu中使用uwsgi 启动 Django ,但是静态文件映射出错

    错误 :  找不到/static/下面的静态文件 解决方法: 在uswgi.ini 文件中配置参数 static-map=/static=/home/wb/Desktop/test_django/st ...

  7. 对于写Python学习笔记的看法

    学习写笔记是一个不错的学习方法,好些同学在学习Python过程中也会写学习笔记.俗话说好记性不如烂笔头,我很赞同这个说法. 我列举几个学习Python写笔记的好处: 1.Python知识的二度巩固 通 ...

  8. Systemd: Service File Examples

    大多数Linux发行版使用 systemd作为系统服务管理工具. systemctl是systemd的主要命令,用于管理控制服务. 这篇文章中将介绍如何创建允许你使用systemctl命令的sysyt ...

  9. web开发:javascript基础

    一.js引入 二.变量的定义 三.三种弹出框 四.调试方式 五.数据类型 六.数据类型转换 七.运算符 八.分支机构 九.循环结构 十.异常处理 十一.函数 一.js引入 - ES: ECMAScri ...

  10. Python3.5环境安装及使用 Speech问题解决(转)

    修改speech.py line59 修改import thread,改成import threading line157 修改print prompt,改成print(prompt) 对最后的函数_ ...