设为首页 - 加入收藏 PHP编程网 - PHP站长网 (http://www.52php.cn)- 电商,百科,编程,业界,移动互联,5G,云计算,站长网!
热搜: 娱乐 服务 专业 百度
当前位置: 首页 > 大数据 > 正文

搭建大数据处理集群(Hadoop,Spark,Hbase)

发布时间:2021-01-24 01:17 所属栏目:[大数据] 来源:网络整理
导读:搭建Hadoop集群 配置每台机器的 /etc/hosts保证每台机器之间可以互访。 120.94.158.190 master 120.94.158.191 secondMaster 1、创建hadoop用户 先创建hadoop组 sudo addgroup hadoop 然后再建一个hadoop用户加入到hadoop组,(前一个为组,后一个为用户)

搭建Hadoop集群

配置每台机器的 /etc/hosts保证每台机器之间可以互访。
120.94.158.190 master
120.94.158.191 secondMaster

1、创建hadoop用户
先创建hadoop组
sudo addgroup hadoop
然后再建一个hadoop用户加入到hadoop组,(前一个为组,后一个为用户)
sudo adduser -ingroup hadoop hadoop
然后输入密码,接下来一路ENTER
完成创建
配置用户的环境变量
找到用户目录,
cd /home/hadoop
在此目录下有一个 .bashrc 文件 ,在文件末尾后加入

JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64 
PATH=$JAVA_HOME/bin:$PATH 
CLASSPATH=.:$JAVA_HOME/lib/dt.jar:$JAVA_HOME/lib/tools.jar 
export JAVA_HOME 
export PATH 
export CLASSPATH

完成配置

2、创建用户目录
cd /home
sudo mkdir hadoop
更改用户所有者和用户所属组
sudo chown hadoop hadoop
sudo chgrp hadoop hadoop

3、配置ssh为无密码登录

cd /home/hadoop
   ssh-keygen -t rsa

一路回车,产生一个隐藏文件夹.ssh

cd .ssh

通过ls 可以查看生成的文件

cp id_rsa.pub authorized_keys

现在测试一下
ssh localhost
或ssh master
第一次的时候会出现一些信息,我们输入yes来继续,这会把该服务器加到你的已知主机的列表中。

4、复制authorized_keys到其它节点上。
为了保证master节点可以无需密码自动登录其它节点,先在其它节点上执行
sudo hadoop
cd /home/hadoop
ssh-keygen -t rsa
一路回车。
然后回到master,复制authorized_keys到其它节点

scp authorized_keys secondMaster:/home/hadoop/.ssh/

这里会提示要输入密码,输入hadoop账号密码就可以了。
改动你的 authorized_keys文件的许可权限

chmod 644 authorized_keys

测试 ssh secondMaster
第一次需要输入密码,之后就不需要了。

5、集群配置
hadoop-env.sh,
yarn-env.sh
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

core-site.xml

<configuration>
  <property>
    <name>fs.defaultFS</name>
    <value>hdfs://master:9000</value>
  </property>
</configuration>

hdfs-site.xml

<configuration>
  <property>
    <name>dfs.namenode.secondary.http-address</name>
    <value>master:9001</value>
  </property>
  <property>
    <name>dfs.namenode.name.dir</name>
    <value>file:/home/hadoop/name</value>
  </property>
  <property>
    <name>dfs.datanode.data.dir</name>
    <value>file:/home/hadoop/data</value>
  </property>
  <property>
    <name>dfs.replication</name>
    <value>2</value>
  </property>
  <property>
    <name>dfs.webhdfs.enabled</name>
    <value>true</value>
  </property>

</configuration>

mapred-site.xml

<configuration>
  <property>
    <name>mapreduce.framework.name</name>
    <value>yarn</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.address</name>
    <value>master:10020</value>
  </property>
  <property>
    <name>mapreduce.jobhistory.webapp.address</name>
    <value>master:19888</value>
  </property>
</configuration>

yarn-site.xml

<configuration>
  <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.address</name>
    <value>master:8032</value>
  </property>
  <property>
    <name>yarn.resourcemanager.scheduler.address</name>
    <value>master:8030</value>
  </property>
  <property>
    <name>yarn.resourcemanager.resource-tracker.address</name>
    <value>master:8031</value>
  </property>
  <property>
    <name>yarn.resourcemanager.admin.address</name>
    <value>master:8033</value>
  </property>
  <property>
    <name>yarn.resourcemanager.webapp.address</name>
    <value>master:8088</value>
  </property>
</configuration>

配置 slaves文件
secondMaster

切换到hadoop用户

su hadoop

创建目录

mkdir tmp
   mkdir name
   mkdir data

把hadoop复制到其它节点上去。

scp -r ./hadoop secondMaster:/home/hadoop

格式化分布式文件系统

cd hadoop
   ./bin/hdfs namenode -format

启动hadoop

./sbin/start-dfs.sh

此时,master主机上面运行的进程有:namenode,secondarynamenode
在node1 node2 node3主机上面运行的进程有:datanode

./sbin/start-yarn.sh

此时,master主机上面运行的进程有:namenode,secondarynamenode,resourcemanager
在node1 node2 node3主机上面运行的进程有:datanode,nodemanager

http://master:50070/dfshealth.html#tab-overview
http://master:8088/cluster/nodes

配置Spark集群

1、编辑配置文件spark-env.sh,在此脚本最后一行加入以下行

export SPARK_DIST_CLASSPATH=$(/home/hadoop/hadoop-2.6.1/bin/hadoop classpath)

其中,/home/hadoop/hadoop-2.6.1是Hadoop安装目录

2、接下来编辑conf/slaves文件,
直接在加入一行

secondMaster

然后把配置好的整个Spark复制到其他节点,如secondMaster

scp -r spark-1.6.0-bin-hadoop2.4/ secondMaster:/home/hadoop/

配置Hbase集群

1、配置hbase-site.xml

<configuration>
  <property>
    <name>hbase.zookeeper.quorum</name>
    <value>master,secondMaster</value>
    <description>The directory shared by RegionServers.
    </description>
  </property>
  <property>
    <name>hbase.zookeeper.property.dataDir</name>
    <value>/home/hadoop/zookeeper</value>
    <description>Property from ZooKeeper config zoo.cfg.
    The directory where the snapshot is stored.
    </description>
  </property>
  <property>
    <name>hbase.rootdir</name>
    <value>hdfs://master:9000/hbase</value>
    <description>The directory shared by RegionServers.
    </description>
  </property>
  <property>
    <name>hbase.cluster.distributed</name>
    <value>true</value>
    <description>The mode the cluster will be in. Possible values are
      false: standalone and pseudo-distributed setups with managed ZooKeeper
      true: fully-distributed with unmanaged ZooKeeper Quorum (see hbase-env.sh)
    </description>
  </property>
</configuration>

2、配置hbase-env.sh中的JAVA_HOME和HBASE_HEAPSIZE
先找到各自的位置,然后添加在下面即可

# export JAVA_HOME=/usr/java/jdk1.6.0/
export JAVA_HOME=/usr/lib/jvm/java-8-openjdk-amd64

# export HBASE_HEAPSIZE=1G
export HBASE_HEAPSIZE=4G

3、配置regionservers文件
添加相应的regionservers,在这里,添加如下

secondMaster

4、创建zookeeper目录

su hadoop
cd 
mkdir zookeeper

【免责声明】本站内容转载自互联网,其相关言论仅代表作者个人观点绝非权威,不代表本站立场。如您发现内容存在版权问题,请提交相关链接至邮箱:bqsm@foxmail.com,我们将及时予以处理。

推荐文章
热点阅读