环境介绍
三台CentOS7主机
192.168.122.101 hdfs1 192.168.122.102 hdfs2 192.168.122.103 hdfs3安装配置三台都是一样的,做ssh免密码验证,如果只要在主节点hdfs1操作,只做hdfs1到其他节点信任即可。
如果三台都互相信任,这样子在哪台都可以操作是一样的。
修改内核参数
vim /etc/sysctl.conf 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修改句柄限制
vim /etc/security/limits.conf * soft noproc 655360 * hard noproc 655360 * soft nofile 655360 * hard nofile 655360设置主机名解析
在不同的节点,设置对应的主机名
hostnamectl set-hostname hdfs1添加hosts记录,也可以使用dns进行解析,比较灵活。
vim /etc/hosts 192.168.122.101 hdfs1 192.168.122.102 hdfs2 192.168.122.103 hdfs3创建用户和目录
useradd hadoop passwd hadoop mkdir -p /apps/ mkdir -pv /data/hdfs/hadoop mkdir -pv /data/hdfs/hbase chown hadoop.hadoop /data/hadoop /data/hbase设置ssh免密码
su – hadoop ssh-keygen ssh-copy-id hadoop@hdfs1 ssh-copy-id hadoop@hdfs1 ssh-copy-id hadoop@hdfs1ssh-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 # modifyby script export JAVA_HOME=/apps/jdk export PATH=\${JAVA_HOME}/bin:/apps/hadoop/bin:/apps/hbase/bin:\$PATH EOF fi下载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 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 –配置hadoop
1.配置namenod
vim /apps/hadoop/etc/hadoop/core-site.xml添加内容
<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>2.配置namenode和datanode
vim /apps/hadoop/etc/hadoop/hdfs-site.xml在文件后面添加内容
<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>3.配置环境变量
vim /apps/hadoop/etc/hadoop/hadoo-env.sh修改JAVA_HOME
export JAVA_HOME=/apps/jdk也可以根据具体的需求设置堆栈之类的参数
4.设置主节点
vim /apps/hadoop/etc/hadoop/master添加主节点,一般使用主机名
hdfs15.设置从节点
vim /apps/hadoop/etc/hadoop/slave添加从节点,一般使用主机名
hdfs1 hdfs2 hdfs3配置hbase
1.配置环境变量
vim /apps/hbase/conf/hbase-env.sh修改JAVA_HOME变量即可
export JAVA_HOME=/apps/jdk也可以根据具体的需求设置堆栈之类的参数
2.设置hadoop和zookeeper等信息
vim /apps/hbase/conf/hbase-site.xml添加内容
<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> vim /apps/hbase/conf/regionservers hdfs1 hdfs2 hdfs3启动测试
su – hadoop /apps/hadoop/sbin/start-all.sh /apps/hbase/bin/start-hbase.sh总结
这些步骤只是简单的部署,具体应用需要经过测试并做出对应的调整。