• centos7搭建hadoop-2.7.3,zookeeper-3.4.6,hbase-1.2.5(root用户)


    环境:【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.浏览器查看

  • 相关阅读:
    linux screen 命令详解
    centos7 安装docker(手动和脚本安装)换源 卸载
    在linux上安装taiga
    阿里云清除云盾
    Vim
    推荐 130 个令你眼前一亮的网站,总有一个用得着
    索引优化分析 2
    Mysql的主存复制 5
    Mysql锁机制 4
    查询获取分析 3
  • 原文地址:https://www.cnblogs.com/TSlover/p/11243806.html
Copyright © 2020-2023  润新知