Member since
12-07-2018
29
Posts
0
Kudos Received
0
Solutions
12-31-2019
08:30 AM
[root@scaj43bda05 1238-hbase-MASTER]# cat /etc/passwd | grep hbase hbase:x:483:480:HBase:/var/lib/hbase:/bin/false [root@scaj43bda05 1238-hbase-MASTER]# vi /etc/passwd [root@scaj43bda05 1238-hbase-MASTER]# sudo su hbase -l [hbase@scaj43bda05 ~]$ cat /etc/passwd | grep hbase hbase:x:483:480:HBase:/var/lib/hbase:/bin/bash [hbase@scaj43bda05 ~]$ Should we change it to /bin/bash
... View more
Labels:
- Labels:
-
Apache HBase
12-27-2019
10:24 AM
Kindly correct if wrong 1) If Active NameNode1 crashes, then after ha.health-monitor.rpc-timeout.ms seconds, NameNode2 will try to become Active. No, Every 2000ms zookeeper "ticktime" setting to do heartbeats and the minimum session timeout will be twice the tickTime. The new entry, initLimit is timeouts ZooKeeper uses to limit the length of time the ZooKeeper servers in quorum have to connect to a leader. The entry syncLimit limits how far out of date a server can be from a leader. Failover controller running on namenode1 and namenode2 check/does the health monitoing and ZKFC property for monitorHealth RPC timeouts are set by parameter ha.health-monitor.rpc-timeout.ms(Timeout for the actual monitorHealth() calls) ha.health-monitor.rpc-timeout.ms parameter means Timeout for the actual monitorHealth() calls. Kindly remember this setting is for timeout of health monitor calls 2) If active node crashes, then after dfs.ha.fencing.ssh.connect-timeout seconds NameNode2 will try to become Active. Answer - The above statement is incorrect dfs.ha.fencing.ssh.connect-timeout is only applicable when dfs.ha.fencing.methods is selected or mentioned as "sshfence" But in cloudera default dfs.ha.fencing.methods is mentioned as shell(true) The transition from the active namenode to the standby is managed by a new entity in the system called the failover controller. Failover controllers are pluggable, but the first implementation uses ZooKeeper to ensure that only one namenode is active. Each namenode runs a lightweight failover controller process whose job it is to monitor its namenode for failures (using a simple heartbeating mechanism) and trigger a failover on namenode failure. Failover may also be initiated manually by an administrator, in the case of routine maintenance, for example. This is known as a graceful failover, since the failover controller arranges an orderly transition for both namenodes to switch roles. In the case of an ungraceful failover, however, it is impossible to be sure that the failed namenode has stopped running. For example, a slow network or a network partition can trigger a failover transition, even though the previously active namenode is still running, and thinks it is still the active namenode. The HA implementation goes to great lengths to ensure that the previously active namenode is prevented from doing any damage and causing corruption—a method known as fencing. The system employs a range of fencing mechanisms, including killing the namenode’s process, revoking its access to the shared storage directory (typically by using a vendor-specific NFS command), and disabling its network port via a remote management command. As a last resort, the previously active namenode can be fenced with a technique rather graphi- cally known as STONITH, or “shoot the other node in the head”, which uses a specialized power distribution unit to forcibly power down the host machine. Client failover is handled transparently by the client library. The simplest implementation uses client-side configuration to control failover. The HDFS URI uses a logical hostname which is mapped to a pair of namenode addresses (in the configuration file), and the client library tries each namenode address until the operation succeeds. Let's take an example - I have configured Hadoop HA cluster. If I kill Namenode process with command "kill -9 NameNodeProcessId" my standby node changes its state to active. But if I power off active node then standby node can't change its state to active because it trys to connect to the crashed node by using SSH. This parameter doesn't work: dfs.ha.fencing.ssh.connect-timeout 3000 It is 5 second by default. But even after 5 minutes standby node continue try to connect to crashed node. I set it manually for 3 second but it still doesn't work. So, if we just kill namenode process our cluster works but if we crash active node our cluster become unavailable. Since you powered off the Active NN machine, during fail-over SNN(Standby Namenode) timed out to connect to this machine and fencing is failed. Typically fencing methods should be configured to not to allow multiple writers to same shared storage. It looks like you are using 'QJM' and it supports the fencing feature on its own. i.e. it wont allow multiple writers at a time. So I think external fencing methods can be skipped. AFAIK, to improve the availability of the system in the event the fencing mechanisms fail, it is advisable to configure a fencing method which is guaranteed to return success. You can remove the SSH fencing method from both machines configuration. Please try the below shell based fence method just to skip SSH fence and restart the cluster. Then fail over will happen successfully. <property> <name>dfs.ha.fencing.methods</name> <value>shell(/bin/true)</value> </property>
... View more
12-23-2019
06:23 AM
1) How can I view the history of switching modes (standby/active) in namenode service? 2) After how long of active namenode unavailability, standby becomes active?
... View more
Labels:
- Labels:
-
Apache Hadoop
11-22-2019
04:44 AM
I have the same set of questions 1. How do I take znode back ups? is there a way ? 2. rmr /hbase-secure from zkcli and restarting hbase services , should essentially built me all the znode tree structure back. is my assumption right?
... View more
10-10-2019
03:06 AM
I need clarification about Metastore URI configuration of Hive data server. The problem is that in the official cloudera documentation you can see that it is a requirement to block external applications accessing Hive Metastore in order to secure cluster with Sentry:
https://www.cloudera.com/documentation/enterprise/latest/topics/sg_sentry_service_config.html#concept_z5b_42s_p4__section_lvc_4g4_rp
Block the external applications from accessing the Hive metastore:
In the Cloudera Manager Admin Console, select the Hive service.
On the Hive service page, click the Configuration tab.
In the search well on the right half of the Configuration page, search for Hive Metastore Access Control and Proxy User Groups Override to locate the hadoop.proxyuser.hive.groups parameter and click the plus sign.
Enter hive into the text box and click the plus sign again.
Enter hue into the text box.
Enter sentry into the text box.
Click Save Changes.
ODI is also an external application so its direct access requirement to Metastore contradicts with this requirement.
Why are we setting Metastore URI in Hive data server? What is it used for? If it is a requirement, how can we explain this contradiction?
Another problem is that we are configuring Metastore HA by default in our BDA. However how can we configure ODI Metadata Uri to support metadata HA configuration? Is there any way to write a Uri supporting connecting more than one Metastore? If not, how can we explain this situation?
... View more
Labels:
- Labels:
-
Apache Hive
-
Cloudera Manager
04-08-2019
07:11 AM
We're using cloudera with anaconda parcel on bda production cluster . I tried to execute pyspark code that imports pyarrow package , then i faced with error below . Traceback (most recent call last): File "/opt/cloudera/parcels/SPARK2-2.3.0.cloudera2-1.cdh5.13.3.p0.316101/lib/spark2/python/lib/pyspark.zip/pyspark/sql/utils.py", line 140, in require_minimum_pyarrow_version File "/opt/cloudera/parcels/Anaconda-3.6.5_2/lib/python3.6/site-packages/pyarrow/__init__.py", line 47, in <module> from pyarrow.lib import cpu_count, set_cpu_count ImportError: libboost_system.so.1.66.0: cannot open shared object file: No such file or directory During handling of the above exception, another exception occurred: Traceback (most recent call last): File "lbf_livArea_scr_2.py", line 51, in <module> @pandas_udf(schema, PandasUDFType.GROUPED_MAP) File "/opt/cloudera/parcels/SPARK2-2.3.0.cloudera2-1.cdh5.13.3.p0.316101/lib/spark2/python/lib/pyspark.zip/pyspark/sql/udf.py", line 45, in _create_udf File "/opt/cloudera/parcels/SPARK2-2.3.0.cloudera2-1.cdh5.13.3.p0.316101/lib/spark2/python/lib/pyspark.zip/pyspark/sql/utils.py", line 143, in require_minimum_pyarrow_version ImportError: PyArrow >= 0.8.0 must be installed; however, it was not found. Also output of conda list is below . [ihsany@gbbdap02 ~]$ dzdo /opt/cloudera/parcels/Anaconda/bin/conda list |grep arrow arrow-cpp 0.9.0 py36h1ae9da6_7 <unknown> pyarrow 0.9.0 py36_1 <unknown> [ihsany@gbbdap02 ~]$ dzdo /opt/cloudera/parcels/Anaconda/bin/conda list |grep boost libboost 1.65.1 habcd387_4 <unknown>
... View more
Labels:
- Labels:
-
Apache Spark
03-07-2019
09:10 AM
Is it possible, an YARN DRP has priority against other pools? ie. If i already have 2 DRP created DRP1 = 500Gb DRP2 = 200Gb and i want to add new one DRP3 = 700Gb that have priority against other pools and use all available resources are directed to DRP3. Is this possible?
... View more
03-07-2019
01:03 AM
Thank you very much Harsh
... View more
02-21-2019
04:04 AM
can we deploy the HttpFS role on more than one node? is it best practice?
we had a problem with one of the namenodes (on node02) in our cluster and it was down for almost 20 hours. once node02 was up, the active namenode ,on node01, started to alert that its not syncronized after restart of the namenode on node02 the alert stopped now active namenode is on node01 standby namenode is on node02 we can see that new logs are created on opt/hadoop/dfs/nn/current on the actine namenode on node01 but no new files . on the standby namenode no node02 - is it OK ??
... View more
Labels:
- Labels:
-
Cloudera Manager
-
HDFS
-
Security