我正在尝试使用以下命令在运行Ubuntu的本地计算机上挂载hdfs:— sudo mount -t nfs -o vers=3,proto=tcp,nolock 192.168.170.52:/ /mnt/hdfs_mount/ 但我得到这个错误: mount.nfs: mount system call failed 输出为 rpcinfo -p 192.168.170.52 是 program vers proto port service 100000 4 tcp 111 portmapper 100000 3 tcp 111 portmapper 100000 2 tcp 111 portmapper 100000 4 udp 111 portmapper 100000 3 udp 111 portmapper 100000 2 udp 111 portmapper […]
我有12个Ubuntu服务器14.04节点的Hadoop集群。 我的问题是在一些包括namenode的服务器上,时间跳转到2036-02-07几分钟,然后变回,导致Hadoop datanode死亡。 我安装了ntp进行时间同步,但ntp的最小同步间隔为8秒,这对我来说仍然是一个问题,因为Hadoop心跳间隔为3秒。 请注意,所有服务器中的时区都是相同的。 我曾经在一个地方看过,当操作系统无法读取硬件时钟的时候会发生这种情况,我该如何检查它是否属实? 任何关于这个时间的原因有什么改变,我怎么能阻止呢? NTP运行为 ntpd -p /var/run/ntpd.pid -g -u 109:118 这是我的ntp.conf文件: # /etc/ntp.conf, configuration for ntpd; see ntp.conf(5) for help driftfile /var/lib/ntp/ntp.drift statistics loopstats peerstats clockstats filegen loopstats file loopstats type day enable filegen peerstats file peerstats type day enable filegen clockstats file clockstats type day enable # Specify one or […]
我在一台服务器上启动了1-3个并发的hadoop实例(v.1.2.1) 这些是完全独立的,其中: 他们正在使用不同的端口 他们可以访问完整的独立文件系统(HDFS) 我已采取措施消除任何潜在的瓶颈: 设置唯一的服务器作为“主”(Namenode / Jobtracker)和“从属”(Datanode / Tasktracker)节点。 这已经完成,以消除任何潜在的networking瓶颈。 在tmpfs上挂载整个hadoop文件系统; 这包括hadoop.tmp.dir (在core-site.xml )以及dfs.name.dir和dfs.data.dir (在hdfs-site.xml )。 因此,HDFS和映射器的中间数据都直接写在tmpfs 。 这已经完成,以消除任何潜在的硬盘瓶颈。 我试图解决的问题是:当这1-3个并行实例同时执行相同的数据集时,执行时间会更长。 每个执行都被configuration为尽可能less的任务资源:每个执行产生11个映射器和1个reducer。 我已经测量了各种潜在的瓶颈,但是我没有能够拿出令人信服的解释。 我的本能告诉我这是在CPU上,但是我的测量结果certificate了我的不然。 特别是:(数字如下) 时间:我运行的并行执行越多,执行时间就越长。 Mappers似乎直接受到影响,并有助于延长执行时间。 CPU:使用PCM工具测量的利用率。 活动核心的利用率在80%左右,表明这些工作确实是CPU密集型的,但整体(名义)利用率根据租户数量进行很好的扩展,表明我们有足够的CPU资源来执行所有的工作。 内存IOPS:IOPS的规模与租户数量一样好,因此似乎没有明显的瓶颈。 内存IOPS很高,因为我们直接写入tmpfs 。 还使用PCM工具测量。 内存空间:绰绰有余; 每个执行需要大约3个GiB(input,映射器的输出,reducer的输出),并且在每个hadoop实例的临时/ HDFS文件夹上挂载10个GiB的tmpfs 。 PCIe(QPI):随着越来越多的租户带宽的增加,似乎也没有任何瓶颈。 基于另一个问题 ,我的系统似乎能够支持高达32 GB /秒,因此我们远远没有达到最大容量。 还使用PCM工具测量。 硬盘:写入IOPS非常低,因为我们没有写入硬盘。 读取IOPS报告为零。 使用iotop -bot测量。 交换:通过htop视觉检查; 没有使用交换空间。 networking:只有一台机器正在使用,所以networking没有被利用。 我的瓶颈在哪里,或者我应该测量什么? 此外,我是否正确解释CPU测量 ? 很明显,在一个活动周期内,我们的利用率在80-100%之间,但这只影响一次执行的执行时间。 由于我们有足够的核心,理论上可以在不影响性能的情况下维持多次执行,总体利用率的提高表明了这一点。 […]
iam在centos 7上使用hadoop apache 2.7.1,我的集群是ha集群,iam使用zookeeper quorum进行自动故障转移 但我想要自动化zookeeper启动过程,并在shell脚本中,我们必须先停止防火墙,以便让其他法定人员元素能够联系当前的zookeeper元素 iam在/etc/rc.d/rc.local中写入以下脚本 主机名jn1 systemctl停止firewalld ZOOKEEPER ='/ usr / local / zookeeper-3.4.9 /'source /etc/rc.d/init.d/functions 源$ ZOOKEEPER / bin / zkEnv.sh 守护进程 – 用户root $ ZOOKEEPER / bin / zkServer.sh启动 但我面临的问题是,当我发布命令 systemctl在rc.local中停止firewalld 并在主机启动后发出zkServer状态iam得到错误 默认情况下启用ZooKeeper JMX使用config:/usr/local/zookeeper-3.4.9/bin/../conf/zoo.cfg联系服务时出错。 它可能没有运行。 但是如果我执行了一个脚本,我的意思是我的主机启动后正常的过程相同的命令 systemctl status firewalld zkServer启动 没有问题,zkstatus显示其模式 我已经注意到在主机启动之后执行rc.local脚本和正常命令之间的zookeeper.out日志的区别 与正常命令执行时读取服务器环境不同 在rc.local脚本中停止服务器环境的防火墙的效果以及如何处理?
如何validationambari服务状态 例如,我想检查ambari HDFS服务是停止还是开始 到现在为止我使用下面的语法来检查 但是我没有得到有关停止/启动的输出,正如您从命令输出中看到的那样 我们只得到安装 ENDPOINT="http://${SERVER}:${PORT}/api/v1/clusters/${CLUSTERNAME}/services/${SERVICE}" curl –silent -u admin:admin -X GET ${ENDPOINT}?fields=ServiceInfo | grep state 命令结果: % Total % Received % Xferd Average Speed Time Time Time Current Dload Upload Total Spent Left Speed 100 1207 100 1207 0 0 28158 0 –:–:– –:–:– –:–:– 28738 Checking HIVE { "href" : "http://master02.ipmassanalyt41.com:8080/api/v1/clusters/HDP26/services/HIVE?fields=ServiceInfo", "ServiceInfo" […]
从ambari GUI我们不能启动火花 所以我们要通过命令行来启动它,如下所示: [spark@mas01 spark2]$ ./sbin/start-thriftserver.sh –master yarn- client –executor-memory 512m –hiveconf hive.server2.thrift.port=10015 starting org.apache.spark.sql.hive.thriftserver.HiveThriftServer2, logging to /var/log/spark2/spark-spark- org.apache.spark.sql.hive.thriftserver.HiveThriftServer2-1- master01.octopus9.com.out 但从日志中我们得到的错误: 警告:主纱线客户端自2.0起弃用。 请改用指定部署模式的主“纱”。 请指教这个语法有什么问题? [spark@mas01 spark2]$ more /var/log/spark2/spark-spark- org.apache.spark.sql.hive.thriftserver.HiveThriftServer2-1- master01.octopus9.com.out Spark Command: /usr/jdk64/jdk1.8.0_112/bin/java -Dhdp.version=2.6.0.3-8 -cp /usr/hdp/2.6.0.3-8/spark2/conf/:/usr/hdp/2.6.0.3-8/spark2/jars/*:/usr/hdp/cu rren t/hadoop-client/conf/ -Xmx10000m org.apache.spark.deploy.SparkSubmit –master yarn-client –class org.apache.spark.sql.hive.thriftserver.HiveThriftServer2 – -name Thrift JDBC/ODBC Server –executor-memory 512m spark-internal – – hiveconf […]
我们有许多Ambari LAB集群 – Apache Ambari版本2.5.0.3 ,而ambari代理安装在Linux redhat机器上 我的目标是通过自动执行stream程,find在所有Ambari群集上更新服务值的方法 我们现在所做的,就是把每个ambari集群和改变服务的价值 – 但这需要很多时间 所以如果我们有差异25 ambari实验室集群,那么我们需要访问每个ambari集群和改变值,这是非常辛苦,因为我们有很多值改变… 但是我们有一个新的想法来自动化这个过程 我们的想法是从一些ambari集群文件生成一个新的blueprint.json,如下所示: curl -H "X-Requested-By: ambari" -X GET -u admin:admin http://{ambari_host}:8080/api/v1/clusters/{Cluster_name}\?format\=blueprint > blueprint.json 然后更新/更改新的blueprint.json文件中的值 最后上传/推送所有集群上的json文件 最大的问题是: 如何在ambari集群上上传新的blueprint.json文件? 这是可能的情况吗?
在Ambari集群GUI(版本2.5.0.3)中,每个服务都有Configbutton 当我们点击Configbutton时,我们可以看到所有相关参数及其值的列表 例如,YARN服务具有以MB为单位的参数 – 最小容器大小(内存) 当然,我们可以从ambari GUI改变参数的值… 但是我们想通过bash脚本下的API命令自动改变值 我在谷歌searchfind一些关于改变参数下的值的API的信息,但没有成功 我会很感激得到答案,
我们有Ambari集群版本2.5.0.3 ,而所有的客户端机器是Linux的红帽 首先我生成的JSON文件到我的Linux机器如下:(在ambari服务器机器上) curl -H "X-Requested-By: ambari" -X GET -u admin:admin http://130.14.6.28:8080/api/v1/clusters/HDP01\?format\=blueprint > blueprint.json 然后更新blueprint.json文件,并对参数及其值进行一些更改 最后,我的目标是将新的blueprint.json上传到ambari集群以便生效! path=/root curl -H "X-Requested-By: ambari" –data @ -X POST -u admin:admin http://130.14.6.28:8080/api/v1/blueprints/HDP01 -d @$path/blueprint.json 但我得到以下错误(似乎是因为错误的语法) Warning: Couldn't read data from file "", this makes an empty POST. { "status" : 400, "message" : "Invalid Request: Malformed Request Body. An […]
我们有ambari集群,客户端安装在Linux redhat机器上, yum list | grep ambari-server ambari-server.x86_64 2.5.0.3-7 @ambari-2.5.0.3 我们发现了一个很好的方法来设置ambari集群中的值更新如下: 更新参数(来自Ambari服务器机器) /var/lib/ambari-server/resources/scripts/configs.sh set localhost c1 mapred-site "mapreduce.map.memory.mb" "512" 而: CONFIG_TYPE = mapred-site CONFIG_KEY = mapreduce.map.memory.mb 但是我们在这里有一个小问题…..: 在我的例子中 – mapred-site是一个“CONFIG-TYPE” 根据脚本 – 帮助: <CONFIG_TYPE>: One of the various configuration types in Ambari. Ex:global, core-site, hdfs-site, mapred-queue-acls, etc. 那么如何知道CONFIG_KEY值的正确CONFIG_TYPE值呢? 有关脚本的更多信息: https://cwiki.apache.org/confluence/display/AMBARI/Modify+configurations “使用configs.sh编辑configuration”段落 备注 – 为了查看所有的CONFIG-TYPE值和CONFIG_KEY值,我生成了以下blueprint.json文件: curl […]