首页 文章 精选 留言 我的

精选列表

搜索[编译器工具集],共10000篇文章
优秀的个人博客,低调大师

HiveServer2集成LDAP做用户认证

HiveServer2支持多种认证方式,通过hive.server2.authentication参数来设置,包括nosasl, none, ldap, kerberos, pam, custom 本文介绍如何在E-MapReduce中使用LDAP配置HiveServer的认证。 配置 配置 值 备注 hive.server2.authentication LDAP xx hive.server2.authentication.ldap.url ldap://{emr-header-1-hostname}:10389 {emr-header-1-hostname}以自己集群为准,可以登录集群的emr-header-1上执行hostname命令获取 hive.server2.authentication.ldap.baseDN ou=people,o=emr

优秀的个人博客,低调大师

centos7搭建mongodb3.4.6集群

0、需要环境 安装包:mongodb-linux-x86_64-3.4.6.tgz 安装路径:/usr/mongodb 服务器: 192.168.177.131/132/133 mongos 20000 config server 21000 shard1 20001 shard2 20002 shard3 20003 1、解压到 /usr/local 解压后重命名为mongodb,方便以后操作 2、创建目录 mkdir -p mongodb/mongos/log mkdir -p mongodb/config-server/data mkdir -p mongodb/config-server/log mkdir -p mongodb/shard1/data mkdir -p mongodb/shard1/log mkdir -p mongodb/shard2/data mkdir -p mongodb/shard2/log mkdir -p mongodb/shard3/data mkdir -p mongodb/shard3/log 其中data目录存放数据,log目录存放日志 mongos服务不存放数据,所以不需要数据目录,只需要log目录 3、配置服务器 config server vim /usr/local/mongodb/config-server.conf systemLog: destination: file path: "/usr/local/mongodb/config-server/log/config-server.log" logAppend: true storage: dbPath: "/usr/local/mongodb/config-server/data" journal: enabled: true directoryPerDB: true net: port: 21000 processManagement: fork: true pidFilePath: "/usr/local/mongodb/config-server/config-server.pid" sharding: clusterRole: configsvr replication: replSetName: configServer 冒号(:)和配置之间需要有空格 启动三台服务器 cd mongodb bin/mongod -f config-server.conf 登录任意一台配置服务器,初始化 #连接 mongodb/bin/mongo --port 21000 config = { _id : "configServer", members : [ {_id : 0, host : "192.168.177.131:21000" }, {_id : 1, host : "192.168.177.132:21000" }, {_id : 2, host : "192.168.177.133:21000" } ] } #初始化副本集 rs.initiate(config); #查看分区状态 rs.status(); 4、分片副本集 shard vim /usr/local/mongodb/shard1.conf systemLog: destination: file path: "/usr/local/mongodb/shard1/log/shard1.log" logAppend: true storage: dbPath: "/usr/local/mongodb/shard1/data" journal: enabled: true directoryPerDB: true net: port: 20001 processManagement: fork: true pidFilePath: "/usr/local/mongodb/shard1/shard1.pid" sharding: clusterRole: shardsvr replication: replSetName: shard1 启动三台服务器: cd mongodb bin/mongod -f shard1.conf 登陆任意一台服务器,初始化副本集 mongo --port 20001 #使用admin数据库 use admin config = { _id : "shard1", members : [ {_id : 0, host : "192.168.177.131:20001" }, {_id : 1, host : "192.168.177.132:20001" }, {_id : 2, host : "192.168.177.133:20001" } ] } #初始化副本集 rs.initiate(config); #查看分区状态 rs.status(); 配置第二,三个分片副本集,方法同第六步。 注意端口改为20002 20003 systemLog: destination: file path: "/usr/local/mongodb/shard2/log/shard2.log" logAppend: true storage: dbPath: "/usr/local/mongodb/shard2/data" journal: enabled: true directoryPerDB: true net: port: 20002 processManagement: fork: true pidFilePath: "/usr/local/mongodb/shard2/shard2.pid" sharding: clusterRole: shardsvr replication: replSetName: shard2 systemLog: destination: file path: "/usr/local/mongodb/shard3/log/shard3.log" logAppend: true storage: dbPath: "/usr/local/mongodb/shard3/data" journal: enabled: true directoryPerDB: true net: port: 20003 processManagement: fork: true pidFilePath: "/usr/local/mongodb/shard3/shard3.pid" sharding: clusterRole: shardsvr replication: replSetName: shard3 启动三台服务器: cd mongodb bin/mongod -f shard2.conf bin/mongod -f shard3.conf 登陆任意一台服务器,初始化副本集 mongo --port 20002 mongo --port 20003 #使用admin数据库 use admin config = { _id : "shard2", members : [ {_id : 0, host : "192.168.177.131:20002" }, {_id : 1, host : "192.168.177.132:20002" }, {_id : 2, host : "192.168.177.133:20002" } ] } config = { _id : "shard3", members : [ {_id : 0, host : "192.168.177.131:20003" }, {_id : 1, host : "192.168.177.132:20003" }, {_id : 2, host : "192.168.177.133:20003" } ] } #初始化副本集 rs.initiate(config); #查看分区状态 rs.status(); 5、路由服务器 mongos vim /usr/local/mongodb/mongos.conf systemLog: destination: file path: "/usr/local/mongodb/mongos/log/mongos.log" logAppend: true net: port: 20000 bindIp: 0.0.0.0 processManagement: fork: true pidFilePath: "/usr/local/mongodb/mongos/mongos.pid" sharding: configDB: configReplSet/192.168.177.131:21000,192.168.177.132:21000,192.168.177.133:21000 启动三台服务器: cd mongodb bin/mongos -f mongos.conf 注意此处启动使用的是mongos 6、启用分片 目前搭建了mongodb配置服务器、路由服务器,各个分片服务器,不过应用程序连接到mongos路由服务器并不能使用分片机制,还需要在程序里设置分片配置,让分片生效。 #登陆任意一台mongos mongo --port 20000 #使用admin数据库 use admin #串联路由服务器与分配副本集 sh.addShard("shard1/192.168.177.131:20001,192.168.177.132:20001,192.168.177.133:20001"); sh.addShard("shard2/192.168.177.131:20002,192.168.177.132:20002,192.168.177.133:20002"); sh.addShard("shard3/192.168.177.131:20003,192.168.177.132:20003,192.168.177.133:20003"); #查看集群状态 sh.status() 至此集群已经搭建完成。 7、测试 连接mongos bin/mongo --port 20000 首先启动某个Database(数据库)的Sharding(分片)功能 mongos> sh.enableSharding("test") 对testDB数据库里的collection logs进行shard,shard key是sn字段,shard策略是hashed。使用hashed策略旨在让mongodb将数据均匀分布,如果使用{"sn",1}进行range shard,数据会按照大小顺序分布,就会出现某个shard数据很多,其他的很少的现象。 mongos> sh.shardCollection("testDB.logs", { "sn" : "hashed" } ) 查看shard信息 mongos> sh.status() 添加测试数据 mongos> use testDB mongos> for(var i=1; i<=100000; i++){db.log.insert({sn:i, msg:'Message ' + i});} 等待一段时间 查看log的shard信息 mongos> db.logs.stats() 可以看到三个分片几乎平均的保存了数据。 33143 33755 33102 { "sharded" : true, "capped" : false, "ns" : "testDB.logs", "count" : 100000, "size" : 5688895, "storageSize" : 1773568, "totalIndexSize" : 3944448, "indexSizes" : { "_id_" : 983040, "sn_hashed" : 2961408 }, "avgObjSize" : 56, "nindexes" : 2, "nchunks" : 6, "shards" : { "shard1" : { "ns" : "testDB.logs", "size" : 1920351, "count" : 33755, "avgObjSize" : 56, "storageSize" : 634880, "capped" : false, ... "ok" : 1 }, "shard2" : { "ns" : "testDB.logs", "size" : 1885397, "count" : 33143, "avgObjSize" : 56, "storageSize" : 544768, "capped" : false, ... "ok" : 1 }, "shard3" : { "ns" : "testDB.logs", "size" : 1883147, "count" : 33102, "avgObjSize" : 56, "storageSize" : 593920, "capped" : false, ... "ok" : 1 } }, "ok" : 1 } 8、后期运维 mongodb的启动顺序是,先启动配置服务器,在启动分片,最后启动mongos. /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/config-server.conf /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/shard1.conf /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/shard2.conf /usr/local/mongodb/bin/mongod -f /usr/local/mongodb/shard3.conf /usr/local/mongodb/bin/mongos -f /usr/local/mongodb/mongos.conf 关闭时,直接killall杀掉所有进程 killall mongod killall mongos 没有killall命令的使用<yum install psmisc>安装

优秀的个人博客,低调大师

hadoop1.2.1集群安装过程详解

hadoop集群安装过程详解 一,环境: 1,主机规划: 集群中包括4个节点:1个Master,2个Salve,节点之间局域网连接,可以相互ping通。 机器名称 IP地址 hadoop01 192.168.0.31 hadoop02 192.168.0.32 hadoop03 192.168.0.33 三个节点上均是CentOS6.3x86_64系统,并且有一个相同的用户hadoop。hadoop01做为master配置NameNode和JobTracker的角色,负责总管分布式数据和分解任务的执行;另外两台配置DataNode和TaskTracker的角色,负责分布式数据存储以及任务的执行。安装目录统一为/usr/local下 2,软件版本: hadoop-1.2.1.tar.gz,jdk-7u25-linux-x64.rpm 二,准备工作,三台机器都需要做 ,将三台机器selinux,iptables停用。 1,安装jdk [root@hadoop01 ~]# rpm -ivh jdk-7u25-linux-x64.rpm [root@hadoop01 ~]# cd /usr/java/ [root@hadoop01 java]# ls default jdk1.7.0_25 latest [root@hadoop01 java]# ln -s jdk1.7.0_25 jdk [root@hadoop01 java]# vim /etc/profile [root@hadoop01 java]# source /etc/profile让其java命令立即生效 [root@hadoop01 java]# java执行java命令,如果能正常执行就表示java安装完成 2,添加一个hadoop用户,用来运行hadoop集群 3,做三台机器之间做双机互信,原因master通过远程启动datanode进程和tasktracker进程,如果不做双机互信,会导致每次启动集群服务都会需要密码 [root@hadoop01 ~]# vim /etc/hosts 将hosts文件分别复制到另外两台。 4,切换到hadoop用户,对其用做双机互信,先在三台机器先执行ssh-keygen生成公钥与私钥。 将公钥复制到别的机器,需要对hadoop01,hadoop03,都做相同的动作。 [hadoop@hadoop01 ~]$ ssh-copy-id -i hadoop03 [hadoop@hadoop01~]$ ssh-copy-id -i hadoop01 5,同步时间,三台机器启用ntpd服务,另外两台执行相同的操作 [root@hadoop01 ~]# crontab -e */5 * * * * /usr/sbin/ntpdate ntp.api.bz &> /dev/null 三,配置master,也就hadoop01 [root@hadoop01 ~]# tar xf hadoop-1.2.1.tar.gz -C /usr/local/ [root@hadoop01~]# chown -R hadoop:hadoop/usr/local/hadoop-1.2.1 [root@hadoop01~]#su - hadoop [hadoop@hadoop01 ~]$ cd /usr/local/hadoop-1.2.1/ (1)Hadoop的配置文件都存储在conf下,配置文件解释 hadoop-env.sh:用于定义hadoop运行环境相关的配置信息,比如配置JAVA_HOME环境变量、为hadoop的JVM指定特定的选项、指定日志文件所在的目录路径以及master和slave文件的位置等; core-site.xml:用于定义系统级别的参数,它作用于全部进程及客户端,如HDFS URL、Hadoop的临时目录以及用于rack-aware集群中的配置文件的配置等,此中的参数定义会覆盖core-default.xml文件中的默认配置; hdfs-site.xml:HDFS的相关设定,如文件副本的个数、块大小及是否使用强制权限等,此中的参数定义会覆盖hdfs-default.xml文件中的默认配置; mapred-site.xml:mapreduce的相关设定,如reduce任务的默认个数、任务所能够使用内存的默认上下限等,此中的参数定义会覆盖mapred-default.xml文件中的默认配置; masters:hadoop的master,secondary-masters主机列表,当启动Hadoop时,其会在当前主机上启动NameNode和JobTracker,然后通过SSH连接此文件中的主机以作为备用NameNode; slaves:Hadoop集群的slave(datanode)和tasktracker的主机列表,master启动时会通过SSH连接至此列表中的所有主机并为其启动DataNode和taskTracker进程; Hadoop-metrics2.properties:控制metrics在hadoop上如何发布属性 Log4j.properties:系统日志文件、namenode审计日志、tarsktracker子进程的任务日志属性 (2)修改hadoop-env.sh [hadoop@hadoop01 hadoop-1.2.1]$ vim conf/hadoop-env.sh (3)修改core-site.xml [hadoop@hadoop01 hadoop-1.2.1]$ vim conf/core-site.xml hadoop.tmp.dir属性用于定义Hadoop的临时目录,其默认为/tmp/hadoop-${username}。HDFS进程的许多目录默认都在此目录中,/hadoop/tmp目录,需要注意的是,要保证运行Hadoop进程的用户对其具有全部访问权限。 fs.default.name属性用于定义HDFS的名称节点和其默认的文件系统,其值是一个URI,即NameNode的RPC服务器监听的地址(可以是主机名)和端口(默认为8020)。其默认值为file:///,即本地文件系统。 (4)修改hdfs-site.xml文件 [hadoop@hadoop01 hadoop-1.2.1]$ vim conf/hdfs-site.xml dfs.name.dir属性定义的HDFS元数据持久存储路径,默认为${hadoop.tmp.dir}/dfs/name dfs.replication属性定义保存副本的数量,默认是保存3份,由于这里只有两台slave。所以设置2。 (5)修改mapred-site.xml文件 [hadoop@hadoop01 hadoop-1.2.1]$vim conf/mapred-site.xml (6)编辑masters文件 masters用于指定,辅助名称节点(SecondaryNameNode)的主机名或主机地址 [hadoop@hadoop01 hadoop-1.2.1]$vim conf/masters (7)编辑slaves文件,这个文件只需在master主机上编辑就行 用于指定各从服务器(TaskTracker或DataNode)的主机名或主机地址 在三台机器上分别创建两个目录: [root@hadoop01 local]# mkdir -p /hadoop/data [root@hadoop01 local]# mkdir -p /hadoop/tmp [root@hadoop01 local]# chown -R hadoop:hadoop /hadoop/ [root@hadoop02local]# mkdir -p /hadoop/data [root@hadoop02local]# mkdir -p /hadoop/tmp [root@hadoop02local]# chown -R hadoop:hadoop /hadoop/ [root@hadoop03local]# mkdir -p /hadoop/data [root@hadoop03local]# mkdir -p /hadoop/tmp [root@hadoop03local]# chown -R hadoop:hadoop /hadoop/ (8)配置slave:将配置的hadoop整个目录复制到hadoop02,haoop03 [root@hadoop01 ~]# scp -rp /usr/local/hadoop-1.2.1 hadoop02:/usr/local/ [root@hadoop01 ~]# scp -rp /usr/local/hadoop-1.2.1 hadoop03:/usr/local/ 修改权限: [root@hadoop02 ~]# chown -R hadoop:hadoop /usr/local/hadoop-1.2.1/ [root@hadoop03~]# chown -R hadoop:hadoop /usr/local/hadoop-1.2.1/ 四,启动集群: 1、格式化名称节点 与普通文件系统一样,HDFS文件系统必须要先格式化,创建元数据数据结构以后才能使用。 [hadoop@hadoop01 hadoop-1.2.1]$ bin/hadoop namenode -format 如果格式化出错,一般会提示错误,就像下面,已经在提示哪个文件,第几行,根据提示检查即可。 [hadoop@hadoop01 ~]$bin/start-all.sh [hadoop@hadoop01 ~]$ jps查看进程是否起来。secondarynamenode,nomenode,jobtracker三个进程必须都有,才正常 8549 SecondaryNameNode 8409 NameNode 8611 JobTracker 8986 Jps 或者这种方式查看集群是否正常 [hadoop@hadoop01 hadoop-1.2.1]$ bin/hadoop dfsadmin -report Safe mode is ON Configured Capacity: 37073182720 (34.53 GB) Present Capacity: 32421658624 (30.2 GB) DFS Remaining: 32421576704 (30.19 GB) DFS Used: 81920 (80 KB) DFS Used%: 0% Under replicated blocks: 0 Blocks with corrupt replicas: 0 Missing blocks: 0 ------------------------------------------------ Datanodes available: 2 (2 total, 0 dead) Name: 192.168.0.33:50010 Decommission Status : Normal Configured Capacity: 18536591360 (17.26 GB) DFS Used: 40960 (40 KB) Non DFS Used: 2325061632 (2.17 GB) DFS Remaining: 16211488768(15.1 GB) DFS Used%: 0% DFS Remaining%: 87.46% Last contact: Sat Aug 31 22:25:13 CST 2013 Name: 192.168.0.32:50010 Decommission Status : Normal Configured Capacity: 18536591360 (17.26 GB) DFS Used: 40960 (40 KB) Non DFS Used: 2326462464 (2.17 GB) DFS Remaining: 16210087936(15.1 GB) DFS Used%: 0% DFS Remaining%: 87.45% Last contact: Sat Aug 31 22:25:12 CST 2013 四,排错思路 1,是否是hadoop.tmp.dir,dfs.data.dir属性,如果定义在别的目录需要在集群中所有节点都创建,并让hadoop用户能够访问 2,查看进程对应的端口是否有在监听。在上面配置中将namenode的端口定义9000,jobtracker定义成9001 [hadoop@hadoop01 hadoop-1.2.1]$ netstat -tunlp |grep 9000 tcp 0 0 ::ffff:192.168.0.31:9000 :::* LISTEN 22709/java [hadoop@hadoop01 hadoop-1.2.1]$ netstat -tunlp |grep 9001 tcp 0 0 ::ffff:192.168.0.31:9001 :::* LISTEN 22924/java 3,查看日志,哪个服务没起来就查看对应的日志。 4,查看集群中所有节点的时间是不是一致。 5,iptable与selinux是否阻止。 6,/etc/hosts是否正确。 本文转自 deng304749970 51CTO博客,原文链接:http://blog.51cto.com/damondeng/1257862,如需转载请自行联系原作者

优秀的个人博客,低调大师

30分钟完成MongoDB复制集环境搭建

环境介绍: 192.168.1.250 主 port=27408 192.168.1.250 仲裁 port=27409 192.168.1.251 备 port=27408 [root@HE4 ~]# tar xvf mongodb-linux-x86_64-2.6.10.tgz [root@HE4 ~]# mkdir -p /export/mongodb [root@HE4 ~]# mkdir -p /export/mongodb/bin [root@HE4 ~]# mkdir -p /export/mongodb/conf [root@HE4 ~]# mkdir -p /export/mongodb/log [root@HE4 ~]# mkdir -p /export/mongodb/data [root@HE4 bin]# cd /root/mongodb-linux-x86_64-2.6.10/bin [root@HE4 bin]# cp /root/mongodb-linux-x86_64-2.6.10/bin/* /export/mongodb/bin/ [root@HE1 bin]# vi /export/mongodb/conf/mongod.conf port=27408 dbpath=/export/mongodb/data logpath=/export/mongodb/log/mongod.log fork=true logappend=true keyFile=/export/mongodb/key/mongod nohttpinterface=true replSet=shard1 [root@HE1bin]#vi/export/mongodb/conf/arbiter.conf port=27409 dbpath=/export/mongodb/arbiter logpath=/export/mongodb/log/arbiter.log fork=true logappend=true keyFile=/export/mongodb/key/arbiter nohttpinterface=true replSet=shard1 keyfile文件包括: mongod,arbiter 创建一个生成keyfile的脚本 vi create_key.sh cat/dev/urandom|LC_ALL=Ctr-dc"[:alnum:]"|fold-w10|head-1>/tmp/key.txt keystring=`cat/tmp/key.txt` echo$keystring>/export/mongodb/key/mongod echo$keystring>/export/mongodb/key/arbiter chmod600/export/mongodb/key/* 启动服务器在主 [root@HE3 ~]#/export/mongodb/bin/mongod -f /export/mongodb/conf/mongod.conf [root@HE3 ~]# /export/mongodb/bin/mongod -f /export/mongodb/conf/arbiter.conf 在从 [root@HE4 ~]#/export/mongodb/bin/mongod -f /export/mongodb/conf/mongod.conf >config={_id:'shard1',members:[{_id:0,host:'192.168.1.248:27408'},{_id:1,host:'192.168.1.249:27408'},{_id:2,host:'192.168.1.248:27409',arbiterOnly:true}]} >rs.initiate(config) 初始化rs.initiate(config),config是之前定义的名 主备库配置好后,备库查询 shard1:SECONDARY>usetest switchedtodbtest shard1:SECONDARY>db.t1.find() error:{"$err":"notmasterandslaveOk=false","code":13435} shard1:SECONDARY>rs.slaveOk() shard1:SECONDARY>db.t1.find() {"_id":ObjectId("5704c11d3e0651733bfdea23"),"x":1} rs.stauts()可以看状态,health:1代表健康,stateStr谁是我们的仲裁 想让主库降级成从库,rs.stepDown()

资源下载

更多资源
Mario

Mario

马里奥是站在游戏界顶峰的超人气多面角色。马里奥靠吃蘑菇成长,特征是大鼻子、头戴帽子、身穿背带裤,还留着胡子。与他的双胞胎兄弟路易基一起,长年担任任天堂的招牌角色。

Nacos

Nacos

Nacos /nɑ:kəʊs/ 是 Dynamic Naming and Configuration Service 的首字母简称,一个易于构建 AI Agent 应用的动态服务发现、配置管理和AI智能体管理平台。Nacos 致力于帮助您发现、配置和管理微服务及AI智能体应用。Nacos 提供了一组简单易用的特性集,帮助您快速实现动态服务发现、服务配置、服务元数据、流量管理。Nacos 帮助您更敏捷和容易地构建、交付和管理微服务平台。

Spring

Spring

Spring框架(Spring Framework)是由Rod Johnson于2002年提出的开源Java企业级应用框架,旨在通过使用JavaBean替代传统EJB实现方式降低企业级编程开发的复杂性。该框架基于简单性、可测试性和松耦合性设计理念,提供核心容器、应用上下文、数据访问集成等模块,支持整合Hibernate、Struts等第三方框架,其适用范围不仅限于服务器端开发,绝大多数Java应用均可从中受益。

Rocky Linux

Rocky Linux

Rocky Linux(中文名:洛基)是由Gregory Kurtzer于2020年12月发起的企业级Linux发行版,作为CentOS稳定版停止维护后与RHEL(Red Hat Enterprise Linux)完全兼容的开源替代方案,由社区拥有并管理,支持x86_64、aarch64等架构。其通过重新编译RHEL源代码提供长期稳定性,采用模块化包装和SELinux安全架构,默认包含GNOME桌面环境及XFS文件系统,支持十年生命周期更新。

用户登录
用户注册