聊聊Linux 安装Hadoop和Hbase

系统 Linux Hadoop
本文给大家介绍Linux 安装Hadoop和Hbase的实践和运用,希望对你有所帮助。

 环境介绍

[[353056]]

三台CentOS7主机

  • 192.168.122.101 hdfs1
  • 192.168.122.102 hdfs2
  • 192.168.122.103 hdfs3

其中hdfs1为主节点,其他为从节点。

安装配置三台都是一样的,做ssh免密码验证,如果只要在主节点hdfs1操作,只做hdfs1到其他节点信任即可。

如果三台都互相信任,这样子在哪台都可以操作是一样的。

修改内核参数

vim /etc/sysctl.conf 
  • 1.
net.ipv4.tcp_syn_retries = 1 
net.ipv4.tcp_synack_retries = 1 
net.ipv4.tcp_keepalive_time = 600 
net.ipv4.tcp_keepalive_probes = 3 
net.ipv4.tcp_keepalive_intvl =15 
net.ipv4.tcp_retries2 = 5 
net.ipv4.tcp_fin_timeout = 2 
net.ipv4.tcp_max_tw_buckets = 65536 
net.ipv4.tcp_tw_recycle = 1 
net.ipv4.tcp_tw_reuse = 1 
net.ipv4.tcp_max_orphans = 32768 
net.ipv4.tcp_syncookies = 1 
net.ipv4.tcp_max_syn_backlog = 16384 
net.ipv4.tcp_wmem = 8192 131072 16777216 
net.ipv4.tcp_rmem = 32768 131072 16777216 
net.ipv4.tcp_mem = 786432 1048576 1572864 
net.ipv4.ip_local_port_range = 1024 65000 
net.ipv4.ip_conntrack_max = 65536 
net.ipv4.netfilter.ip_conntrack_max=65536 
net.ipv4.netfilter.ip_conntrack_tcp_timeout_established=180 
net.core.somaxconn = 16384 
net.core.netdev_max_backlog = 16384 
vm.max_map_count = 262144 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.

 修改句柄限制

vim /etc/security/limits.conf 
  • 1.
* soft noproc 655360 
* hard noproc 655360 
* soft nofile 655360 
* hard nofile 655360 
  • 1.
  • 2.
  • 3.
  • 4.

 设置主机名解析

在不同的节点,设置对应的主机名

hostnamectl set-hostname hdfs1 
  • 1.

 [[353057]]

 添加hosts记录,也可以使用dns进行解析,比较灵活。

vim /etc/hosts 
  • 1.
192.168.122.101   hdfs1 
192.168.122.102   hdfs2 
192.168.122.103   hdfs3 
  • 1.
  • 2.
  • 3.

 创建用户和目录

useradd  hadoop  
passwd hadoop 
mkdir -p  /apps/ 
mkdir -pv /data/hdfs/hadoop 
mkdir -pv /data/hdfs/hbase 
chown hadoop.hadoop  /data/hadoop   /data/hbase 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.

 设置ssh免密码 

su - hadoop 
 
ssh-keygen 
 
ssh-copy-id hadoop@hdfs1 
 
ssh-copy-id hadoop@hdfs1 
 
ssh-copy-id hadoop@hdfs1 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.

 ssh-keygen产生密钥的时候一直回车就可以完成创建

ssh-copy-id的时候需要输入hadoop的密码

下载jdk

下载地址:

www.oracle.com/java/technologies/javase/javase-jdk8-downloads.html

需要登陆之后才能下载

tar zxvf jdk-8u271-linux-x64.tar.gz 
mv jdk-8u271-linux-x64 /apps/ 
cd /apps/ 
ln -s jdk1.8.0_271 jdk 
cd -  
if grep '# modify by script' /etc/profile >>/dev/null 2>&1; then 
    echo "alread set JAVA_HOME" 
else 
    cp /etc/profile /etc/profile_bak$(date +%Y%m%d%H%M%S) 
    cat >>/etc/profile <<EOF 
modify by script 
export JAVA_HOME=/apps/jdk 
export PATH=\${JAVA_HOME}/bin:/apps/hadoop/bin:/apps/hbase/bin:\$PATH 
EOF 
fi 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.

 下载hadoop和hbase

mirrors.aliyun.com/apache/hadoop/common/hadoop-2.7.7/hadoop-2.7.7.tar.gz 
 
archive.apache.org/dist/hbase/1.3.5/hbase-1.3.5-bin.tar.gz 
  • 1.
  • 2.
  • 3.
tar zxvf hadoop-2.7.7.tar.gz 
tar zxvf hbase-1.3.5-bin.tar.gz 
mv hadoop-2.7.7  hbase-1.3.5   /apps/ 
cd /apps 
ln -s hadoop-2.7.7 hadoop 
ln -s hbase-1.3.5 hbase 
cd -  
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.

 配置hadoop

1.配置namenod

vim /apps/hadoop/etc/hadoop/core-site.xml 
  • 1.

添加内容

<configuration> 
 <property> 
    <!-- 指定namenode通信地址 --> 
        <name>fs.defaultFS</name
        <value>hdfs://hdfs1:9000</value> 
    </property> 
    <!-- 指定hadoop运行时产生文件的存储路径 --> 
    <property> 
        <name>hadoop.tmp.dir</name
        <value>/data/hdfs/hadoop/tmp</value> 
    </property> 
</configuration> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.

 2.配置namenode和datanode

vim /apps/hadoop/etc/hadoop/hdfs-site.xml 
  • 1.

在文件后面添加内容

<configuration> 
  <!-- 设置namenode的http通讯地址 --> 
    <property> 
        <name>dfs.namenode.http-address</name
        <value>hdfs1:50070</value> 
    </property> 
​ 
    <!-- 设置secondarynamenode的http通讯地址 --> 
    <property> 
        <name>dfs.namenode.secondary.http-address</name
        <value>hdfs2:50070</value> 
    </property> 
​ 
    <!-- 设置namenode存放的路径 --> 
    <property> 
        <name>dfs.namenode.name.dir</name
        <value>/data/hdfs/hadoop/name</value> 
    </property> 
​ 
    <!-- 设置hdfs副本数量 --> 
    <property> 
        <name>dfs.replication</name
        <value>2</value> 
    </property> 
    <!-- 设置datanode存放的路径 --> 
    <property> 
        <name>dfs.datanode.data.dir</name
        <value>/data/hdfs/hadoop/datanode</value> 
    </property> 
​ 
    <property> 
        <name>dfs.permissions</name
        <value>false</value> 
    </property> 
</configuration> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
  • 29.
  • 30.
  • 31.
  • 32.
  • 33.
  • 34.
  • 35.

 3.配置环境变量

vim /apps/hadoop/etc/hadoop/hadoo-env.sh 
  • 1.

修改JAVA_HOME

export JAVA_HOME=/apps/jdk 
  • 1.

也可以根据具体的需求设置堆栈之类的参数

4.设置主节点

vim /apps/hadoop/etc/hadoop/master 
  • 1.

添加主节点,一般使用主机名

hdfs1 
  • 1.

5.设置从节点

vim /apps/hadoop/etc/hadoop/slave 
  • 1.

添加从节点,一般使用主机名

hdfs1 
 
hdfs2 
 
hdfs3 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.

 配置hbase

1.配置环境变量

vim /apps/hbase/conf/hbase-env.sh 
  • 1.

修改JAVA_HOME变量即可 

export JAVA_HOME=/apps/jdk 
  • 1.

也可以根据具体的需求设置堆栈之类的参数

2.设置hadoop和zookeeper等信息

vim /apps/hbase/conf/hbase-site.xml 
  • 1.

添加内容

<configuration> 
<property> 
        <name>hbase.rootdir</name
    <!-- hbase存放数据目录 --> 
        <value>hdfs://hdfs1:9000/hbase/hbase_db</value> 
        <!-- 端口要和Hadoop的fs.defaultFS端口一致--> 
</property> 
<property> 
        <name>hbase.cluster.distributed</name>  
    <!-- 是否分布式部署 --> 
        <value>true</value> 
</property> 
<property> 
        <name>hbase.zookeeper.quorum</name
        <!-- zookooper 服务启动的节点,只能为奇数个 --> 
        <value>hdfs1,hdfs2,hdfs3</value> 
</property> 
<property> 
        <!--zookooper配置、日志等的存储位置,必须为以存在 --> 
        <name>hbase.zookeeper.property.dataDir</name
        <value>/data/hdfs/hbase/zookeeper</value> 
</property> 
<property> 
        <!--hbase web 端口 --> 
        <name>hbase.master.info.port</name
        <value>16610</value> 
</property> 
</configuration> 
  • 1.
  • 2.
  • 3.
  • 4.
  • 5.
  • 6.
  • 7.
  • 8.
  • 9.
  • 10.
  • 11.
  • 12.
  • 13.
  • 14.
  • 15.
  • 16.
  • 17.
  • 18.
  • 19.
  • 20.
  • 21.
  • 22.
  • 23.
  • 24.
  • 25.
  • 26.
  • 27.
  • 28.
vim /apps/hbase/conf/regionservers 
  • 1.
hdfs1 
hdfs2 
hdfs3 
  • 1.
  • 2.
  • 3.

 启动测试

su - hadoop  
/apps/hadoop/sbin/start-all.sh 
/apps/hbase/bin/start-hbase.sh 
  • 1.
  • 2.
  • 3.

 总结

这些步骤只是简单的部署,具体应用需要经过测试并做出对应的调整。

 

责任编辑:姜华 来源: 今日头条
相关推荐

2012-11-05 13:33:08

LinuxHBase

2011-08-29 10:15:13

FacebookHadoopHBase

2010-06-03 13:55:38

Hbase和Hadoo

2010-06-03 13:08:51

2021-09-01 07:21:41

LinuxHadoop存储

2017-01-17 09:38:52

ZooKeeperHadoopHBase

2013-11-22 09:57:03

hadoop1.2.1zookeeper-3hbase-0.94.

2010-06-03 14:08:56

Hadoop创建Hba

2022-03-09 21:55:30

HBase数据入仓

2013-03-06 13:27:03

HadoopLinux

2015-08-26 10:18:40

hbase

2022-10-12 09:01:52

Linux内核线程

2018-06-13 08:53:39

HadoopHBase存储

2021-03-05 11:35:39

Linux 命令工具

2013-05-27 14:21:58

2010-06-04 09:29:55

安装Hadoop教程

2010-06-04 10:01:26

Hadoop安装

2022-01-05 00:03:32

场景容器Airflow

2010-06-03 19:38:26

Hadoop

2021-11-14 05:00:56

排查Sdk方式
点赞
收藏

51CTO技术栈公众号